Максимально чистий spec-репо — тільки md протоколу і md-лінти - #59
Merged
Conversation
…ти; layers переїхав у mt-rust
Прибрано layers/ (рушій шарової документації переїхав у nitra/mt-rust, docs/layers.json
лишається як конфіг+CRC-дані з новим $schema на mt-rust), tests/, весь JS-лінт/тест-тулінг
(vitest, stryker, eslint, oxlint, jscpd, knip, licensee) і відповідні cursor-правила/скіли
(n-bun, n-js, n-js-run, n-test, n-doc-files). package.json звужено до мінімального
публікованого @7n/mt (лише devDeps, потрібні для md-лінту). .n-rules.json/CLAUDE.md/AGENTS.md
синхронізовано з новим набором правил і скілів.
Виправлено md-борг: 10 легітимних термінів/англіцизмів додано у .cspell.json (без правок
контенту), MD025 (дублікат H1 через зайве поле title у frontmatter) прибрано у
docs/overview/{direction,index}.md, MD051 (застаріле посилання на розділ M3 у перекладі)
виправлено в docs/roadmap.en.md. Канон ga вимагав .github/workflows/lint-repo.yml (repo-wide
lint) і worktree-канон .vscode/settings.json — додано/приведено у відповідність; .v8rignore
і .oxfmtrc.json лишились (text-канон вимагає їх незалежно від JS).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
4 tasks
vitaliytv
added a commit
that referenced
this pull request
Jul 23, 2026
…ії (#60) Продовження #58/#59: репо вже spec-only, тепер прибрано інфраструктурні хвости, що лишилися неузгодженими після переїзду. Видалення: - .n-rules.json: rules worktree/image-compress → disable-rules (обидва безпечно вимикаються — `lint --no-fix`/`lint ga --no-fix` пройшли чисто без них; підтверджено офіційним полем схеми `disable-rules`, а не просто вилученням з `rules`). Причина: `n-worktree.mdc` документує `npx @7n/mt worktree create/list/remove/prune` — цієї команди в spec-пакеті `@7n/mt` більше нема (CLI переїхав у nitra/mt-js, непублікований); `image-compress` — у docs/ немає жодного растрового чи SVG-файлу, канон з нульовим застосуванням. - .cursor/rules/n-worktree.mdc, .cursor/rules/n-image-compress.mdc — видалені як канонічні файли вимкнених правил (орфановані, ніде більше не застосовуються). - CLAUDE.md, AGENTS.md — прибрано `@`-імпорти/пункти на видалені n-worktree.mdc/n-image-compress.mdc (обидва файли позначені "генерується автоматично через npx @7n/rules, не редагуй вручну"; bare-sync навмисно не запускався за умовами задачі — без нього ці два файли не самосинхронізуються, тож ручна правка тут єдиний спосіб уникнути dangling-імпорту на видалений файл; наступний реальний sync дасть еквівалентний результат). - .agents/skills/source-command-{n-coverage-fix,n-fix-tests,n-fix, n-start-check,n-worktree}/SKILL.md — застарілі дзеркала, що вказували на неіснуючі `.cursor/skills/n-*/SKILL.md` (ці скіли ніколи не існували в .cursor/skills/, .claude/commands/, .pi/skills/ цього репо; n-worktree теж вказував на неіснуючий `.cursor/skills/n-worktree/SKILL.md` — окремо від рішення про правило "worktree", сам скіл-мірор був мертвий). Додано source-command-n-brainstorming/SKILL.md — єдиний скіл, якого бракувало в .agents-дзеркалі порівняно з .claude/commands, .cursor/skills, .pi/skills (тепер усі чотири локації симетричні: adr-normalize, brainstorming, lint, llm-patch, publish-telegram, taze). - .codex/hooks/capture-decisions.log, normalize-decisions.log, .normalize-state — рантайм лог/стейт-файли, помилково закомічені; вміст логів посилається на шляхи іншого локального проекту (/Users/vitaliytv/www/vitaliytv/7n/...), що підтверджує випадковість коміту. Додано .gitignore-записи для .codex/hooks/*.log, .normalize-state, .normalize.lock (за аналогією з уже наявними .claude/hooks/-записами). Залишено: - Скіл `taze` — оновлює npm/bun-залежності репо (включно з @7n/rules, на якому тримається сам лінт), тобто підтримує інструмент лінтування, а не є "функціональністю коду" поза межами документації. Опційна Rust/cargo-гілка в n-taze/SKILL.md — узагальнена, умовна ("якщо є Cargo.toml"), не прив'язана до конкретного видаленого коду цього репо. Невирішена невідповідність (звіт, без правки): - .cursor/skills/{n-adr-normalize,n-lint,n-taze}/SKILL.md досі містять у preflight-блоці `<!-- n-rules:worktree:start/end -->` команду `npx @7n/mt worktree create ...`. Це package-шаблонований контент (worktree-only skills, main.json → worktree: true, поза контролем .n-rules.json цього репо) — регенерується лише bare `npx @7n/rules`, який заборонено запускати за умовами задачі. Ручна правка цього блоку ризикована: наступний реальний sync або перезапише її назад, або дасть непередбачуваний результат — тому лишено як є з explicit флагом тут і в PR. Верифікація: `npx @7n/rules lint --no-fix`, `lint ga --no-fix`, `lint --full --no-fix` — усі exit 0. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Що зроблено
Репозиторій зведено до мінімуму: специфікація протоколу (
docs/) + тулінг для лінту markdown. Усе інше — прибрано.Видалено
layers/— рушій шарової документації переїхав у nitra/mt-rust;docs/layers.jsonлишається в цьому репо як конфіг + CRC-маркери (дані для рушія),$schemaвказує на новий канонічний shema-URL у mt-rust.tests/,vitest.config.mjs,stryker.config.mjs,eslint.config.js,knip.json,.oxlintrc.json,.oxfmtrc.json→ повернуто (канон вимагає, див. нижче),.jscpd.json,.licensee.json,.v8rignore→ повернуто (канон вимагає),hk.pkl.n-bun,n-js,n-js-run,n-test,n-doc-files(правило + скіл + дзеркальні команди в.claude/commands/і.pi/skills/) — коду для документування не лишилось..github/workflows/lint-js.yml— JS-лінт більше не потрібен.package.jsonзвужено до мінімального публікованого@7n/mt: лишеdocs/README.md/CHANGELOG.mdуfiles, devDependencies — тільки@7n/rules,@7n/rules-ci-github,@nitra/cspell-dict(потрібні для md-лінту).bun.lockперегенеровано.Виправлено (md-борг з main)
Crowdsourced,Daemonization,lifecycles,reimplementation,rescans,sessionability,subpackages,хешів,поверхень,реімплементацію), не помилки — додано у словник.cspell.json, контент не чіпав.docs/overview/direction.mdіdocs/overview/index.md: причина — зайве полеtitleу YAML-frontmatter, якого немає в жодному з інших ~28 layered-документів; прибрано поле (мінімальна content-правка, CRC цих layers-джерел стає застарілим — очікувано).docs/roadmap.en.md: якір#m3--dashboard-і-поверхнілишився невідредагованим при перекладі заголовка на## M3 — Dashboard and surfaces; виправлено на#m3--dashboard-and-surfaces.Канон ga/text/worktree (виявлено емпірично прогоном лінту)
.github/workflows/lint-repo.yml— обов'язковий для будь-якого github-консюмера@7n/rules-ci-github(repo-wide перевірки без path-фільтра) — створено зі snippet..v8rignoreі.oxfmtrc.json— text-канон вимагає їх незалежно від наявності JS; лишились (не видалені, попри початковий намір)..vscode/settings.json— worktree-канон вимагаєsearch.exclude/files.excludeяк обʼєкти — приведено у відповідність.git-ai.yml— обов'язковий workflow за канономga/workflows, лишився без змін.Верифікація
npx @7n/rules lint --no-fix(delta) і--full --no-fix— exit 0, нуль порушень.npx @7n/rules lint ga --no-fix— exit 0.npm pack --dry-run— тарбол =docs/**+README.md+CHANGELOG.md+package.json, 45 файлів.git grepнаlayers/lib|vitest|eslint|oxlint|knip|stryker— без живих згадок (лишились тільки generic-документація інструмента@7n/rulesу SKILL.md/mdc-файлах і один dead ignore-glob у.cspell.json).git ls-files '*.mjs' '*.js' '*.ts'— єдиний виняток:.pi/extensions/n-rules-adr/index.ts— адаптер для Stop-хука правилаadr(яке лишається), не код застосунку.Мердж у main тригерне
npm-publish.yml→ наступний реліз@7n/mt.🤖 Generated with Claude Code