@nitra/cursor 11.4.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-template/hooks/normalize-decisions.sh +34 -3
- package/.pi-template/extensions/n-cursor-adr/docs/index.md +3 -5
- package/CHANGELOG.md +12 -0
- package/bin/n-cursor.js +2 -8
- package/docs/index.md +12 -0
- package/docs/stryker.config.md +3 -5
- package/docs/vitest.config.md +3 -5
- package/lib/docs/index.md +14 -0
- package/lib/docs/llm.md +4 -6
- package/lib/docs/models.md +3 -5
- package/lib/docs/omlx-trace.md +3 -5
- package/lib/docs/omlx.md +4 -6
- package/package.json +2 -1
- package/rules/abie/docs/fix.md +3 -5
- package/rules/abie/docs/index.md +11 -0
- package/rules/abie/js/docs/applies.md +3 -5
- package/rules/abie/js/docs/env_dns.md +3 -5
- package/rules/abie/js/docs/firebase_hosting.md +3 -5
- package/rules/abie/js/docs/hc_pairing.md +3 -5
- package/rules/abie/js/docs/index.md +16 -0
- package/rules/abie/js/docs/ua_http_route.md +3 -5
- package/rules/abie/js/docs/ua_node_selector.md +3 -5
- package/rules/abie/lib/docs/enabled.md +3 -5
- package/rules/abie/lib/docs/env-dns.md +3 -5
- package/rules/abie/lib/docs/hc-yaml.md +3 -5
- package/rules/abie/lib/docs/http-route.md +3 -5
- package/rules/abie/lib/docs/index.md +18 -0
- package/rules/abie/lib/docs/k8s-tree.md +3 -5
- package/rules/abie/lib/docs/kustomization-patches.md +3 -5
- package/rules/abie/lib/docs/overlay-paths.md +3 -5
- package/rules/abie/lib/docs/yaml.md +3 -5
- package/rules/adr/adr.mdc +2 -2
- package/rules/adr/docs/fix.md +3 -5
- package/rules/adr/docs/index.md +11 -0
- package/rules/adr/js/docs/hooks.md +3 -5
- package/rules/adr/js/docs/index.md +11 -0
- package/rules/bun/docs/fix.md +3 -5
- package/rules/bun/docs/index.md +11 -0
- package/rules/bun/js/docs/index.md +11 -0
- package/rules/bun/js/docs/layout.md +3 -5
- package/rules/capacitor/docs/fix.md +3 -5
- package/rules/capacitor/docs/index.md +11 -0
- package/rules/capacitor/js/docs/index.md +11 -0
- package/rules/capacitor/js/docs/platforms.md +3 -5
- package/rules/changelog/docs/fix.md +3 -5
- package/rules/changelog/docs/index.md +11 -0
- package/rules/changelog/js/docs/consistency.md +3 -5
- package/rules/changelog/js/docs/index.md +11 -0
- package/rules/changelog/lib/docs/index.md +11 -0
- package/rules/changelog/lib/docs/package-manifest.md +3 -5
- package/rules/ci4/docs/fix.md +3 -5
- package/rules/ci4/docs/index.md +11 -0
- package/rules/ci4/js/docs/index.md +11 -0
- package/rules/ci4/js/docs/marksman_config.md +3 -5
- package/rules/doc-files/docs/fix.md +3 -5
- package/rules/doc-files/docs/index.md +11 -0
- package/rules/doc-files/js/docgen-crc.mjs +50 -14
- package/rules/doc-files/js/docgen-files-batch.mjs +73 -2
- package/rules/doc-files/js/docs/docgen-crc.md +4 -6
- package/rules/doc-files/js/docs/docgen-extract-anchors.md +3 -5
- package/rules/doc-files/js/docs/docgen-extract.md +3 -5
- package/rules/doc-files/js/docs/docgen-files-batch.md +4 -6
- package/rules/doc-files/js/docs/docgen-gen.md +4 -6
- package/rules/doc-files/js/docs/docgen-ignore.md +3 -5
- package/rules/doc-files/js/docs/docgen-judge-measure.md +3 -5
- package/rules/doc-files/js/docs/docgen-judge.md +3 -5
- package/rules/doc-files/js/docs/docgen-prompts.md +3 -5
- package/rules/doc-files/js/docs/docgen-scan.md +4 -6
- package/rules/doc-files/js/docs/index.md +24 -0
- package/rules/doc-files/js/docs/lint.md +4 -6
- package/rules/doc-files/js/docs/units-js.md +3 -5
- package/rules/doc-files/js/docs/units-rs.md +3 -5
- package/rules/doc-files/js/docs/units.md +3 -5
- package/rules/doc-files/lint/docs/index.md +11 -0
- package/rules/doc-files/lint/docs/lint.md +3 -5
- package/rules/docker/docs/fix.md +3 -5
- package/rules/docker/docs/index.md +11 -0
- package/rules/docker/js/docs/index.md +11 -0
- package/rules/docker/js/docs/lint.md +3 -5
- package/rules/docker/lib/docs/docker-hadolint.md +3 -5
- package/rules/docker/lib/docs/docker-mirror.md +3 -5
- package/rules/docker/lib/docs/docker-native-addon.md +3 -5
- package/rules/docker/lib/docs/docker-nginx-user.md +3 -5
- package/rules/docker/lib/docs/index.md +14 -0
- package/rules/docker/lint/docs/index.md +11 -0
- package/rules/docker/lint/docs/lint.md +3 -5
- package/rules/efes/docs/fix.md +3 -5
- package/rules/efes/docs/index.md +11 -0
- package/rules/feedback/docs/fix.md +3 -5
- package/rules/feedback/docs/index.md +11 -0
- package/rules/ga/docs/fix.md +3 -5
- package/rules/ga/docs/index.md +11 -0
- package/rules/ga/js/docs/index.md +12 -0
- package/rules/ga/js/docs/lint.md +3 -5
- package/rules/ga/js/docs/workflows.md +3 -5
- package/rules/ga/lint/docs/index.md +11 -0
- package/rules/ga/lint/docs/lint.md +3 -5
- package/rules/graphql/docs/fix.md +3 -5
- package/rules/graphql/docs/index.md +11 -0
- package/rules/graphql/js/docs/index.md +11 -0
- package/rules/graphql/js/docs/tooling.md +3 -5
- package/rules/graphql/lib/docs/graphql-gql-scan.md +3 -5
- package/rules/graphql/lib/docs/index.md +11 -0
- package/rules/hasura/docs/fix.md +3 -5
- package/rules/hasura/docs/index.md +11 -0
- package/rules/hasura/js/docs/index.md +11 -0
- package/rules/hasura/js/docs/internal_urls.md +3 -5
- package/rules/image-avif/docs/fix.md +3 -5
- package/rules/image-avif/docs/index.md +11 -0
- package/rules/image-avif/js/docs/avif_generation.md +3 -5
- package/rules/image-avif/js/docs/index.md +11 -0
- package/rules/image-compress/docs/fix.md +3 -5
- package/rules/image-compress/docs/index.md +11 -0
- package/rules/image-compress/js/docs/index.md +11 -0
- package/rules/image-compress/js/docs/package_setup.md +3 -5
- package/rules/js-bun-db/docs/fix.md +3 -5
- package/rules/js-bun-db/docs/index.md +11 -0
- package/rules/js-bun-db/js/docs/index.md +11 -0
- package/rules/js-bun-db/js/docs/safety.md +3 -5
- package/rules/js-bun-db/lib/docs/bun-sql-scan.md +3 -5
- package/rules/js-bun-db/lib/docs/index.md +11 -0
- package/rules/js-bun-redis/docs/fix.md +3 -5
- package/rules/js-bun-redis/docs/index.md +11 -0
- package/rules/js-bun-redis/js/docs/imports.md +3 -5
- package/rules/js-bun-redis/js/docs/index.md +11 -0
- package/rules/js-bun-redis/lib/docs/index.md +11 -0
- package/rules/js-bun-redis/lib/docs/redis-imports.md +3 -5
- package/rules/js-lint/docs/fix.md +3 -5
- package/rules/js-lint/docs/index.md +11 -0
- package/rules/js-lint/js/docs/index.md +14 -0
- package/rules/js-lint/js/docs/lint-findings.md +3 -5
- package/rules/js-lint/js/docs/lint.md +3 -5
- package/rules/js-lint/js/docs/tooling.md +3 -5
- package/rules/js-lint/js/docs/utils_imports.md +3 -5
- package/rules/js-lint-ci/docs/fix.md +3 -5
- package/rules/js-lint-ci/docs/index.md +11 -0
- package/rules/js-lint-ci/js/docs/index.md +11 -0
- package/rules/js-lint-ci/js/docs/lint.md +3 -5
- package/rules/js-mssql/docs/fix.md +3 -5
- package/rules/js-mssql/docs/index.md +11 -0
- package/rules/js-mssql/js/docs/deps.md +3 -5
- package/rules/js-mssql/js/docs/index.md +11 -0
- package/rules/js-mssql/lib/docs/index.md +11 -0
- package/rules/js-mssql/lib/docs/mssql-pool-scan.md +3 -5
- package/rules/js-run/docs/fix.md +3 -5
- package/rules/js-run/docs/index.md +11 -0
- package/rules/js-run/js/docs/index.md +11 -0
- package/rules/js-run/js/docs/runtime.md +3 -5
- package/rules/js-run/lib/docs/bunyan-imports.md +3 -5
- package/rules/js-run/lib/docs/check-env-scan.md +3 -5
- package/rules/js-run/lib/docs/conn-file-rules.md +3 -5
- package/rules/js-run/lib/docs/conn-imports-scan.md +3 -5
- package/rules/js-run/lib/docs/index.md +16 -0
- package/rules/js-run/lib/docs/promise-settimeout-scan.md +3 -5
- package/rules/js-run/lib/docs/temporal-scan.md +3 -5
- package/rules/k8s/docs/fix.md +3 -5
- package/rules/k8s/docs/index.md +11 -0
- package/rules/k8s/k8s.mdc +10 -0
- package/rules/k8s/lint/docs/index.md +11 -0
- package/rules/k8s/lint/docs/lint.md +3 -5
- package/rules/k8s/policy/manifest/manifest.rego +46 -0
- package/rules/lint/docs/fix.md +3 -5
- package/rules/lint/docs/index.md +11 -0
- package/rules/lint/js/docs/index.md +11 -0
- package/rules/lint/js/docs/orchestrate.md +4 -6
- package/rules/nginx-default-tpl/docs/fix.md +3 -5
- package/rules/nginx-default-tpl/docs/index.md +11 -0
- package/rules/nginx-default-tpl/js/docs/index.md +11 -0
- package/rules/nginx-default-tpl/js/docs/template.md +3 -5
- package/rules/npm-module/docs/fix.md +3 -5
- package/rules/npm-module/docs/index.md +11 -0
- package/rules/npm-module/js/docs/header_doc_pointer.md +3 -5
- package/rules/npm-module/js/docs/index.md +14 -0
- package/rules/npm-module/js/docs/package_structure.md +3 -5
- package/rules/npm-module/js/docs/rule_meta.md +3 -5
- package/rules/npm-module/js/docs/skill_meta.md +3 -5
- package/rules/php/docs/fix.md +3 -5
- package/rules/php/docs/index.md +11 -0
- package/rules/php/js/docs/index.md +11 -0
- package/rules/php/js/docs/tooling.md +3 -5
- package/rules/php/lint/docs/index.md +11 -0
- package/rules/php/lint/docs/lint.md +3 -5
- package/rules/python/docs/fix.md +3 -5
- package/rules/python/docs/index.md +11 -0
- package/rules/python/js/docs/applies.md +3 -5
- package/rules/python/js/docs/index.md +12 -0
- package/rules/python/js/docs/tooling.md +3 -5
- package/rules/python/lint/docs/index.md +11 -0
- package/rules/python/lint/docs/lint.md +3 -5
- package/rules/rego/docs/fix.md +3 -5
- package/rules/rego/docs/index.md +11 -0
- package/rules/rego/js/docs/applies.md +3 -5
- package/rules/rego/js/docs/index.md +12 -0
- package/rules/rego/js/docs/lint.md +3 -5
- package/rules/rego/lint/docs/index.md +11 -0
- package/rules/rego/lint/docs/lint.md +3 -5
- package/rules/release/docs/change.md +3 -5
- package/rules/release/docs/fix.md +3 -5
- package/rules/release/docs/index.md +13 -0
- package/rules/release/docs/release.md +4 -6
- package/rules/release/lib/docs/aggregate.md +3 -5
- package/rules/release/lib/docs/change-file.md +3 -3
- package/rules/release/lib/docs/fallback.md +3 -5
- package/rules/release/lib/docs/index.md +13 -0
- package/rules/release/release.mjs +40 -1
- package/rules/rust/docs/fix.md +3 -5
- package/rules/rust/docs/index.md +11 -0
- package/rules/rust/js/docs/applies.md +3 -5
- package/rules/rust/js/docs/index.md +11 -0
- package/rules/rust/lib/docs/has-cargo-toml.md +3 -5
- package/rules/rust/lib/docs/index.md +11 -0
- package/rules/security/docs/fix.md +3 -5
- package/rules/security/docs/index.md +11 -0
- package/rules/security/js/docs/index.md +13 -0
- package/rules/security/js/docs/lint.md +3 -5
- package/rules/security/js/docs/sample_secret.md +3 -5
- package/rules/security/js/docs/trufflehog.md +3 -5
- package/rules/style-lint/docs/fix.md +3 -5
- package/rules/style-lint/docs/index.md +11 -0
- package/rules/style-lint/js/docs/index.md +12 -0
- package/rules/style-lint/js/docs/lint.md +3 -5
- package/rules/style-lint/js/docs/tooling.md +3 -5
- package/rules/tauri/docs/fix.md +3 -5
- package/rules/tauri/docs/index.md +11 -0
- package/rules/tauri/js/docs/cargo_mutants_config.md +3 -5
- package/rules/tauri/js/docs/index.md +12 -0
- package/rules/tauri/js/docs/tooling.md +3 -5
- package/rules/test/docs/fix.md +3 -5
- package/rules/test/docs/index.md +11 -0
- package/rules/test/js/data/stryker_config/docs/index.md +13 -0
- package/rules/test/js/data/stryker_config/docs/stryker-vue-macros-ignorer.md +3 -5
- package/rules/test/js/data/stryker_config/docs/stryker.config.baseline.md +3 -5
- package/rules/test/js/data/stryker_config/docs/stryker.config.vue.baseline.md +3 -5
- package/rules/test/js/data/vitest_config/docs/index.md +11 -0
- package/rules/test/js/data/vitest_config/docs/vitest.config.baseline.md +3 -5
- package/rules/test/js/docs/cargo_mutants_config.md +3 -5
- package/rules/test/js/docs/index.md +16 -0
- package/rules/test/js/docs/location.md +3 -5
- package/rules/test/js/docs/no-process-chdir.md +3 -5
- package/rules/test/js/docs/no-relative-fs-path.md +3 -5
- package/rules/test/js/docs/stryker_config.md +3 -5
- package/rules/test/js/docs/vitest-config-pool-forks.md +3 -5
- package/rules/text/docs/fix.md +3 -5
- package/rules/text/docs/index.md +11 -0
- package/rules/text/js/docs/forbidden-prettier.md +3 -5
- package/rules/text/js/docs/formatting.md +4 -6
- package/rules/text/js/docs/index.md +13 -0
- package/rules/text/js/docs/lint.md +4 -6
- package/rules/text/lint/docs/cspell-fix.md +4 -6
- package/rules/text/lint/docs/index.md +15 -0
- package/rules/text/lint/docs/lint.md +4 -6
- package/rules/text/lint/docs/run-dotenv-linter.md +3 -5
- package/rules/text/lint/docs/run-shellcheck.md +3 -5
- package/rules/text/lint/docs/run-v8r.md +3 -5
- package/rules/vue/docs/fix.md +3 -5
- package/rules/vue/docs/index.md +11 -0
- package/rules/vue/js/docs/index.md +11 -0
- package/rules/vue/js/docs/packages.md +3 -5
- package/rules/vue/lib/docs/index.md +11 -0
- package/rules/vue/lib/docs/vue-forbidden-imports.md +3 -5
- package/rules/vue/vue.mdc +19 -1
- package/rules/worktree/docs/fix.md +3 -5
- package/rules/worktree/docs/index.md +11 -0
- package/rules/worktree/worktree.mdc +8 -8
- package/scripts/coverage-classify/docs/apply.md +3 -5
- package/scripts/coverage-classify/docs/cache.md +3 -5
- package/scripts/coverage-classify/docs/index.md +9 -27
- package/scripts/coverage-classify/docs/prompt.md +3 -5
- package/scripts/coverage-classify/docs/verdict-schema.md +3 -5
- package/scripts/dispatcher/docs/index.md +11 -0
- package/scripts/dispatcher/docs/trace.md +3 -5
- package/scripts/docs/auto-rules.md +3 -5
- package/scripts/docs/auto-skills.md +3 -5
- package/scripts/docs/build-agents-commands.md +3 -5
- package/scripts/docs/cli-entry.md +3 -5
- package/scripts/docs/coverage-fix-extract.md +3 -5
- package/scripts/docs/coverage-fix.md +3 -5
- package/scripts/docs/ensure-nitra-cursor-dev-dependencies.md +3 -5
- package/scripts/docs/index.md +24 -0
- package/scripts/docs/post-tool-use-fix.md +4 -6
- package/scripts/docs/rename-yaml-extensions.md +3 -5
- package/scripts/docs/skills-cli.md +3 -5
- package/scripts/docs/sync-claude-config.md +3 -5
- package/scripts/docs/sync-setup-bun-deps-action.md +3 -5
- package/scripts/docs/upgrade-nitra-cursor-and-install.md +3 -5
- package/scripts/docs/worktree-cli.md +3 -5
- package/scripts/lib/adr/docs/index.md +12 -0
- package/scripts/lib/adr/docs/normalize-cli.md +3 -5
- package/scripts/lib/adr/docs/normalize-pipeline.md +4 -6
- package/scripts/lib/adr/normalize-pipeline.mjs +140 -46
- package/scripts/lib/docs/assert-project-root.md +3 -5
- package/scripts/lib/docs/changed-files.md +3 -5
- package/scripts/lib/docs/check-mdc-template-refs.md +3 -5
- package/scripts/lib/docs/check-reporter.md +3 -5
- package/scripts/lib/docs/diff-added-lines.md +3 -5
- package/scripts/lib/docs/discover-check-rules-from-cursor.md +3 -5
- package/scripts/lib/docs/discover-checkable-rules.md +3 -5
- package/scripts/lib/docs/ensure-tool.md +3 -5
- package/scripts/lib/docs/generated-markdown.md +3 -5
- package/scripts/lib/docs/gha-workflow.md +3 -5
- package/scripts/lib/docs/index.md +44 -0
- package/scripts/lib/docs/inline-template-links.md +3 -5
- package/scripts/lib/docs/list-project-rules-mdc.md +3 -5
- package/scripts/lib/docs/list-rule-ids.md +3 -5
- package/scripts/lib/docs/load-cursor-config.md +3 -5
- package/scripts/lib/docs/mirror-parity.md +3 -3
- package/scripts/lib/docs/read-n-cursor-config-lite.md +3 -5
- package/scripts/lib/docs/resolve-target-files.md +3 -5
- package/scripts/lib/docs/root-notice.md +3 -5
- package/scripts/lib/docs/rule-meta-helpers.md +3 -5
- package/scripts/lib/docs/rule-meta.md +3 -5
- package/scripts/lib/docs/rule-predicates.md +3 -5
- package/scripts/lib/docs/run-conftest-batch.md +3 -5
- package/scripts/lib/docs/run-lint-step.md +3 -5
- package/scripts/lib/docs/run-rule-cli.md +3 -5
- package/scripts/lib/docs/run-rule.md +3 -5
- package/scripts/lib/docs/run-standard-lint.md +3 -5
- package/scripts/lib/docs/run-standard-rule.md +3 -5
- package/scripts/lib/docs/skill-meta.md +3 -5
- package/scripts/lib/docs/sync-gitignore-worktree.md +3 -5
- package/scripts/lib/docs/template.md +3 -5
- package/scripts/lib/docs/timing-summary.md +3 -5
- package/scripts/lib/docs/workspaces.md +3 -5
- package/scripts/lib/docs/worktree-notice.md +3 -5
- package/scripts/lib/docs/worktree.md +3 -5
- package/scripts/lib/fix/docs/index.md +16 -0
- package/scripts/lib/fix/docs/llm-fix-apply.md +3 -5
- package/scripts/lib/fix/docs/llm-lint-fix.md +3 -5
- package/scripts/lib/fix/docs/llm-worker.md +3 -5
- package/scripts/lib/fix/docs/orchestrator.md +3 -5
- package/scripts/lib/fix/docs/run-fix-check.md +3 -5
- package/scripts/lib/fix/docs/t0.md +3 -5
- package/scripts/lib/worktree-notice.mjs +3 -38
- package/scripts/utils/docs/ast-scan-utils.md +3 -5
- package/scripts/utils/docs/ensure-gitignore-entries.md +3 -5
- package/scripts/utils/docs/find-package-json-paths.md +3 -5
- package/scripts/utils/docs/index.md +23 -0
- package/scripts/utils/docs/lock-cache-dir.md +3 -5
- package/scripts/utils/docs/pass.md +3 -5
- package/scripts/utils/docs/resolve-cargo-manifest.md +3 -5
- package/scripts/utils/docs/resolve-cmd.md +3 -5
- package/scripts/utils/docs/resolve-js-root.md +3 -5
- package/scripts/utils/docs/test-helpers.md +3 -5
- package/scripts/utils/docs/walk-cache.md +3 -5
- package/scripts/utils/docs/walkDir.md +3 -5
- package/scripts/utils/docs/with-lock.md +3 -5
- package/scripts/utils/docs/worktree-fingerprint.md +3 -5
- package/skills/doc-aggregate/js/docs/docgen-ignore.md +3 -5
- package/skills/doc-aggregate/js/docs/docgen-scan.md +3 -5
- package/skills/doc-aggregate/js/docs/index.md +12 -0
- package/skills/start-check/js/docs/check.md +3 -5
- package/skills/start-check/js/docs/index.md +11 -0
- package/skills/taze/js/docs/diff.md +3 -5
- package/skills/taze/js/docs/index.md +11 -0
- package/scripts/lib/worktree.mjs +0 -126
- package/scripts/worktree-cli.mjs +0 -230
- package/skills/worktree/SKILL.md +0 -38
- package/skills/worktree/meta.json +0 -1
|
@@ -53,6 +53,15 @@ draft_transcript_path() {
|
|
|
53
53
|
' "$1" 2>/dev/null
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
# Витягає поле `captured:` з YAML frontmatter ADR-чернетки.
|
|
57
|
+
draft_captured_date() {
|
|
58
|
+
awk '
|
|
59
|
+
NR==1 && /^---$/ { fm=1; next }
|
|
60
|
+
fm && /^---$/ { exit }
|
|
61
|
+
fm && /^captured: / { sub(/^captured: /, ""); print; exit }
|
|
62
|
+
' "$1" 2>/dev/null
|
|
63
|
+
}
|
|
64
|
+
|
|
56
65
|
# Skip if repo is mid-rebase / mid-merge — editing files now would tangle the user.
|
|
57
66
|
if [ -d "$PROJECT_ROOT/.git" ]; then
|
|
58
67
|
for marker in MERGE_HEAD CHERRY_PICK_HEAD REVERT_HEAD rebase-apply rebase-merge; do
|
|
@@ -224,9 +233,13 @@ PROMPT_HEADER=$(cat <<'EOF'
|
|
|
224
233
|
|
|
225
234
|
1. `delete` — драфт тривіальний / повністю покритий іншим існуючим clean-ADR-ом / порожній. Поясни короткою причиною українською.
|
|
226
235
|
|
|
227
|
-
2. `rewrite` — драфт має самостійну цінність як decision record. Повертай у `content` повний фінальний вміст файлу у форматі MADR 4.0.0 minimal:
|
|
228
|
-
-
|
|
229
|
-
|
|
236
|
+
2. `rewrite` — драфт має самостійну цінність як decision record. Повертай у `content` повний фінальний вміст файлу у форматі MADR 4.0.0 minimal з OKF v0.1 frontmatter:
|
|
237
|
+
- YAML frontmatter OKF v0.1 на початку файлу (без `#` заголовка після — `title:` вже є у frontmatter):
|
|
238
|
+
---
|
|
239
|
+
type: ADR
|
|
240
|
+
title: <заголовок без "ADR:" prefix, лапки якщо є двокрапка чи спецсимвол>
|
|
241
|
+
description: <одне речення — суть рішення>
|
|
242
|
+
---
|
|
230
243
|
- Один рядок `**Status:** Accepted` і один рядок `**Date:** YYYY-MM-DD` — дату беремо з поля `captured:` оригінальної чернетки (перші 10 символів ISO-дати).
|
|
231
244
|
- Далі секції з точними MADR headings англійською: `## Context and Problem Statement`, `## Considered Options`, `## Decision Outcome`, `### Consequences`, `## More Information`.
|
|
232
245
|
- У `## Considered Options` перелічуй лише варіанти, які є в драфті/transcript. Якщо альтернатив не було, додай bullet `Інші варіанти в transcript не обговорювалися.`
|
|
@@ -454,6 +467,24 @@ while IFS= read -r op_json; do
|
|
|
454
467
|
;;
|
|
455
468
|
esac
|
|
456
469
|
DEST_PATH=$(resolve_unique_slug_path "$DEST_SLUG")
|
|
470
|
+
# OKF fallback: if LLM omitted the type: ADR frontmatter, prepend minimal one.
|
|
471
|
+
OKF_HAS_TYPE=$(printf '%s\n' "$CONTENT" | awk '
|
|
472
|
+
/^---$/ && !fm { fm=1; next }
|
|
473
|
+
fm && /^---$/ { exit }
|
|
474
|
+
fm && /^type:/ { print "yes"; exit }
|
|
475
|
+
')
|
|
476
|
+
if [ "$OKF_HAS_TYPE" != "yes" ]; then
|
|
477
|
+
DRAFT_TITLE=$(printf '%s\n' "$CONTENT" | awk '/^# / { sub(/^# (ADR: )?/, ""); print; exit }')
|
|
478
|
+
[ -z "$DRAFT_TITLE" ] && DRAFT_TITLE="$SLUG"
|
|
479
|
+
DRAFT_TITLE_YAML=$(printf '%s' "$DRAFT_TITLE" | sed 's/\\/\\\\/g; s/"/\\"/g')
|
|
480
|
+
CONTENT="---
|
|
481
|
+
type: ADR
|
|
482
|
+
title: \"${DRAFT_TITLE_YAML}\"
|
|
483
|
+
---
|
|
484
|
+
|
|
485
|
+
${CONTENT}"
|
|
486
|
+
log "okf-fallback: prepended OKF frontmatter for $FILE"
|
|
487
|
+
fi
|
|
457
488
|
printf '%s\n' "$CONTENT" > "$DEST_PATH"
|
|
458
489
|
rm -- "$SRC_PATH"
|
|
459
490
|
# Record bare slug → final path so a same-batch merge-into can target
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: TS Module
|
|
3
|
+
title: index.ts
|
|
4
|
+
resource: npm/.pi-template/extensions/n-cursor-adr/index.ts
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/.pi-template/extensions/n-cursor-adr/index.ts
|
|
4
6
|
crc: 3233716f
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# index.ts
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Файл збирає записи сесії, серіалізує їх у формат JSONL, записує у тимчасову директорію, а потім ініціює виконання скриптів хуків capture та normalize.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [12.0.0] - 2026-06-18
|
|
4
|
+
|
|
5
|
+
### Removed
|
|
6
|
+
|
|
7
|
+
- worktree: керування git-worktree винесено у `@7n/mt` (`mt worktree`), cursor на нього спирається (спека docs/specs/2026-06-16-worktree-lifecycle-to-mt.md). **Breaking:** прибрано команду `n-cursor worktree` (`worktree-cli.mjs`/`lib/worktree.mjs` + тести) і скіл `worktree`. Worktree-only-конвенція лишається: інжектований preflight-снипет (`worktree-notice.mjs`) і правило `worktree.mdc` тепер кличуть `mt worktree create` (ефемерний — `remove` прибирає й гілку); bootstrap спрощено до `bun install` (ETARGET-retry-обгортка прибрана — `mt` бінарник, не npx-резолв). Додано залежність `@7n/mt@^0.5.0` (платформні бінарники тягне транзитивно). `.worktrees/` лишається gitignored; інвентар тепер у `.worktrees/.meta/`.
|
|
8
|
+
|
|
9
|
+
## [11.4.1] - 2026-06-16
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- release: commit-back більше не «вдається» мовчки за відхиленого push — результат `git push` тепер ЯВНО перевіряється (раніше тихий runGit повертав null, а реліз рапортував успіх, через що npm міг піти попереду git). За non-fast-forward (паралельний push у ту саму гілку) release-коміт автоматично rebase-иться на свіжий upstream, теги пересуваються на новий HEAD і push повторюється (до 5 спроб); без upstream або при rebase-конфлікті — кидаємо помилку (exit 1), тож CI-публікація не відбувається без приземленого commit-back.
|
|
14
|
+
|
|
3
15
|
## [11.4.0] - 2026-06-15
|
|
4
16
|
|
|
5
17
|
### Changed
|
package/bin/n-cursor.js
CHANGED
|
@@ -108,7 +108,6 @@ import { syncGitignoreWorktree } from '../scripts/lib/sync-gitignore-worktree.mj
|
|
|
108
108
|
import { upgradeNitraCursorToLatestAndBunInstall } from '../scripts/upgrade-nitra-cursor-and-install.mjs'
|
|
109
109
|
import { runRenameYamlExtensionsCli } from './rename-yaml-extensions.mjs'
|
|
110
110
|
import { runSkillsCli } from '../scripts/skills-cli.mjs'
|
|
111
|
-
import { runWorktreeCli } from '../scripts/worktree-cli.mjs'
|
|
112
111
|
import { syncSetupBunDepsAction } from '../scripts/sync-setup-bun-deps-action.mjs'
|
|
113
112
|
import { runLint } from '../rules/lint/js/orchestrate.mjs'
|
|
114
113
|
|
|
@@ -1472,7 +1471,7 @@ async function runSync() {
|
|
|
1472
1471
|
/**
|
|
1473
1472
|
* Команди, що мутують проєкт у CWD і вимагають кореня репо. `undefined`/`''` —
|
|
1474
1473
|
* дефолтний sync; `check` — deprecated-alias `fix`. Решта (read-only `trace`,
|
|
1475
|
-
* `--root`-команди `lint-doc-files`/`fix-doc-files`/`doc-files`/`doc-aggregate`/`rename-yaml-extensions`,
|
|
1474
|
+
* `--root`-команди `lint-doc-files`/`fix-doc-files`/`doc-files`/`doc-aggregate`/`rename-yaml-extensions`,
|
|
1476
1475
|
* sub-лінтери) гард не зачіпає.
|
|
1477
1476
|
*/
|
|
1478
1477
|
const ROOT_GUARDED_COMMANDS = new Set([undefined, '', 'lint', 'coverage', 'change', 'release'])
|
|
@@ -1635,11 +1634,6 @@ try {
|
|
|
1635
1634
|
|
|
1636
1635
|
break
|
|
1637
1636
|
}
|
|
1638
|
-
case 'worktree': {
|
|
1639
|
-
process.exitCode = await runWorktreeCli(args)
|
|
1640
|
-
|
|
1641
|
-
break
|
|
1642
|
-
}
|
|
1643
1637
|
case 'trace': {
|
|
1644
1638
|
// n-cursor trace — наскрізна простежуваність (spec §5.4/§7): граф
|
|
1645
1639
|
// ADR↔spec↔plan↔change за front-matter + флаг розривів. exit 1 на розрив.
|
|
@@ -1703,7 +1697,7 @@ try {
|
|
|
1703
1697
|
default: {
|
|
1704
1698
|
console.error(`❌ Невідома команда: ${command}`)
|
|
1705
1699
|
console.error(
|
|
1706
|
-
` Очікується: (без аргументів) синхронізація правил, rename-yaml-extensions, post-tool-use-fix, adr-normalize-local, lint, lint-ga, lint-rego, lint-k8s, lint-docker, lint-text, lint-doc-files, fix-doc-files, coverage, coverage-fix, taze, start-check, change, release, skill,
|
|
1700
|
+
` Очікується: (без аргументів) синхронізація правил, rename-yaml-extensions, post-tool-use-fix, adr-normalize-local, lint, lint-ga, lint-rego, lint-k8s, lint-docker, lint-text, lint-doc-files, fix-doc-files, coverage, coverage-fix, taze, start-check, change, release, skill, trace, doc-aggregate`
|
|
1707
1701
|
)
|
|
1708
1702
|
process.exitCode = 1
|
|
1709
1703
|
}
|
package/docs/index.md
ADDED
package/docs/stryker.config.md
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: stryker.config.mjs
|
|
4
|
+
resource: npm/stryker.config.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/stryker.config.mjs
|
|
4
6
|
crc: b8c7377b
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# stryker.config.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл містить дані про користувачів системи. Він використовується для зберігання інформації, необхідної для аутентифікації та авторизації користувачів, а також для управління їхніми правами доступу. Файл забезпечує централізоване місце для зберігання даних про користувачів, що спрощує управління обліковими записами.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
package/docs/vitest.config.md
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: vitest.config.js
|
|
4
|
+
resource: npm/vitest.config.js
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/vitest.config.js
|
|
4
6
|
crc: d4917e1f
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# vitest.config.js
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл містить код, який обробляє дані та генерує звіт. Він використовується для аналізу інформації та створення структурованого представлення результатів. Це ключовий компонент системи для забезпечення звітності та підтримки прийняття рішень.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Directory Index
|
|
3
|
+
title: npm/lib
|
|
4
|
+
resource: npm/lib/
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# npm/lib
|
|
8
|
+
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
|---|---|
|
|
11
|
+
| [llm.mjs](llm.md) | JS Module |
|
|
12
|
+
| [models.mjs](models.md) | JS Module |
|
|
13
|
+
| [omlx-trace.mjs](omlx-trace.md) | JS Module |
|
|
14
|
+
| [omlx.mjs](omlx.md) | JS Module |
|
package/lib/docs/llm.md
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: llm.mjs
|
|
4
|
+
resource: npm/lib/llm.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
|
|
4
|
-
crc: a70a8328
|
|
6
|
+
crc: 7b27f689
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# llm.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Файл надає механізми для виклику великих мовних моделей. Маршрутизація вибору транспортного каналу залежить від префікса ідентифікатора моделі згідно з конвенцією `npm/lib/models.mjs`. Виклик LLM виконує виклик з визначеною маршрутизацією та запис трасування. Перевірка стану omlx сервера визначає доступність моделі.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
package/lib/docs/models.md
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: models.mjs
|
|
4
|
+
resource: npm/lib/models.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/lib/models.mjs
|
|
4
6
|
crc: 181e2bf9
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# models.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Файл визначає глобальну класифікацію моделей для pi. Конфігурація встановлюється через змінні середовища (наприклад, `N_LOCAL_MIN_MODEL`) та використовується для визначення, який провайдер буде викликаний. Кожен скіл посилається на потрібний тир, який використовується для вибору моделі.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
package/lib/docs/omlx-trace.md
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: omlx-trace.mjs
|
|
4
|
+
resource: npm/lib/omlx-trace.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/lib/omlx-trace.mjs
|
|
4
6
|
crc: 3ff568d5
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# omlx-trace.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Модуль збирає трасу викликів LLM, фіксуючи думки моделі та спостережуваний слід. Траса записується у локальний файл для ротації та готується для подальшої батч-агрегації. Дизайн-специфікація: docs/specs/2026-06-10-omlx-wire-trace-capture-design.md.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
package/lib/docs/omlx.md
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: omlx.mjs
|
|
4
|
+
resource: npm/lib/omlx.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
|
|
4
|
-
crc: 0073bdfd
|
|
6
|
+
crc: 9a14ddbe
|
|
5
7
|
score: 90
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# omlx.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Файл забезпечує комунікацію з локальним omlx-сервером для отримання відповідей. Він маршрутизує запити, використовуючи конвенцію префікса для визначення, чи слід використовувати прямий HTTP виклик до omlx, чи CLI. Функції надають інструменти для роботи з API ключами та викликів до inference-сервера.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nitra/cursor",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"description": "CLI для завантаження cursor-правил (префікс n-) у локальний репозиторій",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"rename-yaml-extensions": "bun ./bin/n-cursor.js rename-yaml-extensions"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
+
"@7n/mt": "^0.5.0",
|
|
56
57
|
"oxc-parser": "^0.128.0",
|
|
57
58
|
"picomatch": "^4.0.4",
|
|
58
59
|
"smol-toml": "^1.6.1",
|
package/rules/abie/docs/fix.md
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: fix.mjs
|
|
4
|
+
resource: npm/rules/abie/fix.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/fix.mjs
|
|
4
6
|
crc: 38cf876b
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# fix.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Запуск правила приймає контекст прогону, застосовує JS-занепокоєні та політику, генерує посилання MDC та повертає результат прогону.
|
|
13
11
|
|
|
14
12
|
Виконання у режимі CLI виконує повний еквівалент команди `npx @nitra/cursor fix <id>` та повертає код виходу.
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: applies.mjs
|
|
4
|
+
resource: npm/rules/abie/js/applies.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/js/applies.mjs
|
|
4
6
|
crc: f5b6777a
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# applies.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Файл надає інструменти для валідації даних. Він використовується для порівняння об'єкта чи значення з визначеним правилом або набором критеріїв.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: env_dns.mjs
|
|
4
|
+
resource: npm/rules/abie/js/env_dns.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/js/env_dns.mjs
|
|
4
6
|
crc: f2aff16b
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# env_dns.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Функція check виконує перевірку відповідності вхідних даних визначеному контракту. Вона забезпечує ізоляцію логіки перевірки, перевіряючи виконання необхідних умов перед подальшою обробкою. Результати перевірки передаються через маркер (abie.mdc). Функція гарантує, що помилки не будуть прокидані назовні.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: firebase_hosting.mjs
|
|
4
|
+
resource: npm/rules/abie/js/firebase_hosting.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/js/firebase_hosting.mjs
|
|
4
6
|
crc: 3b2459a8
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# firebase_hosting.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Функція `check` надає механізм валідації стану об'єктів проти визначеного контракту. Використовується для внутрішньої перевірки коректності даних без ініціювання зовнішніх операцій. Функція працює у режимі fail-safe, перехоплюючи помилки для забезпечення стабільності системи (abie.mdc).
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: hc_pairing.mjs
|
|
4
|
+
resource: npm/rules/abie/js/hc_pairing.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/js/hc_pairing.mjs
|
|
4
6
|
crc: 5627bda6
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# hc_pairing.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Модуль забезпечує валідацію даних відповідно до визначеного контракту. Функція check є публічною і є Read-only. Модуль гарантує внутрішню цілісність стану системи через механізм fail-safe, який запобігає виходу з ладу при помилках. Робота модуля стосується даних, визначених у (abie.mdc).
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Directory Index
|
|
3
|
+
title: npm/rules/abie/js
|
|
4
|
+
resource: npm/rules/abie/js/
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# npm/rules/abie/js
|
|
8
|
+
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
|---|---|
|
|
11
|
+
| [applies.mjs](applies.md) | JS Module |
|
|
12
|
+
| [env_dns.mjs](env_dns.md) | JS Module |
|
|
13
|
+
| [firebase_hosting.mjs](firebase_hosting.md) | JS Module |
|
|
14
|
+
| [hc_pairing.mjs](hc_pairing.md) | JS Module |
|
|
15
|
+
| [ua_http_route.mjs](ua_http_route.md) | JS Module |
|
|
16
|
+
| [ua_node_selector.mjs](ua_node_selector.md) | JS Module |
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: ua_http_route.mjs
|
|
4
|
+
resource: npm/rules/abie/js/ua_http_route.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/js/ua_http_route.mjs
|
|
4
6
|
crc: d86624c8
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# ua_http_route.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Файл надає публічний інструмент `check` для перевірки внутрішнього стану даних. Функція працює у режимі fail-safe, перехоплюючи помилки виконання на рівні системи, щоб запобігти аварійним зупинкам. Функція використовує кешування даних у межах поточного прогону.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: ua_node_selector.mjs
|
|
4
|
+
resource: npm/rules/abie/js/ua_node_selector.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/js/ua_node_selector.mjs
|
|
4
6
|
crc: 6cde9837
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# ua_node_selector.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Модуль надає публічну функцію `check` для валідації поточного стану вхідних даних. Функція виконує перевірку відповідності даних визначеним критеріям. Результат перевірки повертається у вигляді булевого значення. (abie.mdc)
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: enabled.mjs
|
|
4
|
+
resource: npm/rules/abie/lib/enabled.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/lib/enabled.mjs
|
|
4
6
|
crc: 6b02ea18
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# enabled.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Файл керує активацією правил на рівні гейта. Він визначає, чи повинні виконуватися конфігураційні правила, викликаючи функцію `isAbieRuleEnabled` для перевірки наявності маркера `abie` у файлі `.n-cursor.json:rules`. Цей механізм використовується для фільтрації виконання правил, запобігаючи їх активації при відсутності необхідного прапорця.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: env-dns.mjs
|
|
4
|
+
resource: npm/rules/abie/lib/env-dns.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/lib/env-dns.mjs
|
|
4
6
|
crc: 91aa8ee4
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# env-dns.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Файл перевіряє конфігураційні файли середовища (`*.dev.env`, `*.ua.env`) на відповідність внутрішніх URL-адрес ідентифікатору GKE-кластера. Функція `validateAbieEnvInternalUrls` сканує URL-адреси формату `http://<svc>.<ns>.<dns>` та вимагає, щоб компонент `<dns>` відповідав необхідному префіксу DNS, визначеному для відповідного кластера (`abie-dev.internal` або `abie-ua.internal`).
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: hc-yaml.mjs
|
|
4
|
+
resource: npm/rules/abie/lib/hc-yaml.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/lib/hc-yaml.mjs
|
|
4
6
|
crc: e9aba7c8
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# hc-yaml.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Файл виконує структурну валідацію конфігурації `modeline` у файлах `hc.yaml`. Функція `validateAbieHcModeline` перевіряє відповідність конфігурації визначеному контракту. Валідація проводиться порівнянням конфігурації з визначеною схемою, доступною за посиланням https://datreeio.github.io/CRDs-catalog/networking.gke.io/healthcheckpolicy_v1.json. Цей процес забезпечує коректність конфігурації для ідентифікації (abie.mdc). Експортована константа ABIE_HC_SCHEMA_URL використовується для посилання на цю схему.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: http-route.mjs
|
|
4
|
+
resource: npm/rules/abie/lib/http-route.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/lib/http-route.mjs
|
|
4
6
|
crc: 3ec544d6
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# http-route.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Файл надає інструмент для порівняльного аналізу конфігурації HTTP-маршрутів. Він виконує порівняння кількості `backendRefs` для сервісів `auth-run-hl` та `file-link-hl` у базових маніфестах пакета з кількістю патчів, визначеною в оверлеях. Цей механізм використовується для синхронізації кількості патчів у верхньому рівні з фактичною кількістю посилань у базі. (abie.mdc)
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Directory Index
|
|
3
|
+
title: npm/rules/abie/lib
|
|
4
|
+
resource: npm/rules/abie/lib/
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# npm/rules/abie/lib
|
|
8
|
+
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
|---|---|
|
|
11
|
+
| [enabled.mjs](enabled.md) | JS Module |
|
|
12
|
+
| [env-dns.mjs](env-dns.md) | JS Module |
|
|
13
|
+
| [hc-yaml.mjs](hc-yaml.md) | JS Module |
|
|
14
|
+
| [http-route.mjs](http-route.md) | JS Module |
|
|
15
|
+
| [k8s-tree.mjs](k8s-tree.md) | JS Module |
|
|
16
|
+
| [kustomization-patches.mjs](kustomization-patches.md) | JS Module |
|
|
17
|
+
| [overlay-paths.mjs](overlay-paths.md) | JS Module |
|
|
18
|
+
| [yaml.mjs](yaml.md) | JS Module |
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: k8s-tree.mjs
|
|
4
|
+
resource: npm/rules/abie/lib/k8s-tree.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/lib/k8s-tree.mjs
|
|
4
6
|
crc: 077f3478
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# k8s-tree
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль обходить дерево репозиторію й постачає правилу `abie` два набори даних про Kubernetes-маніфести: усі YAML-файли під сегментом `k8s/` та каталоги, що містять `Deployment`. Результати кешуються на час одного прогону (module-level singleton), тож кілька перевірок у межах однієї сесії перевикористовують єдиний обхід замість повторного I/O.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: kustomization-patches.mjs
|
|
4
|
+
resource: npm/rules/abie/lib/kustomization-patches.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/lib/kustomization-patches.mjs
|
|
4
6
|
crc: 1dd36b33
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# kustomization-patches.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль розпізнає inline JSON6902-патчі всередині `kustomization.yaml` для abie ua-overlay і перевіряє, що вони відповідають вимогам правила `abie.mdc`. Обслуговує два сценарії: патч `nodeSelector` на `Deployment` (закріплення подів на не-preemptible вузлах) і патчі `HTTPRoute` (домени, namespace для `parentRefs` і `backendRefs`). Тіло `patch:` у YAML — це рядок із вкладеним JSON6902, тому розпізнавання спирається на пошук характерних підрядків (`path: …`, `value: …`), а не на повторний парсинг.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: overlay-paths.mjs
|
|
4
|
+
resource: npm/rules/abie/lib/overlay-paths.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/lib/overlay-paths.mjs
|
|
4
6
|
crc: 752f7012
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# overlay-paths
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Набір path-хелперів для перевірок правила abie, що працює з k8s-структурою пакетів монорепо. Розрізняє base-шар пакета та `ua/` overlay, виводить каталог пакета зі шляху overlay і визначає, які додаткові вимоги (HTTPRoute, Deployment) застосовуються до конкретного overlay. Усі хелпери — чисті обчислення над шляхами без побічних ефектів, окрім перевірок наявності файлів `vite.config.*` на диску.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: yaml.mjs
|
|
4
|
+
resource: npm/rules/abie/lib/yaml.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/abie/lib/yaml.mjs
|
|
4
6
|
crc: 1b50e492
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# yaml.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Спільний набір YAML-хелперів для перевірок правила `abie`. Інкапсулює читання й розбір YAML-файлів Kubernetes-маніфестів так, щоб усі abie-перевірки розбирали вміст однаково: з прибиранням BOM, ігноруванням службового modeline-рядка `# yaml-language-server: $schema=` і fail-safe-поведінкою при пошкоджених файлах.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
package/rules/adr/adr.mdc
CHANGED
|
@@ -6,7 +6,7 @@ version: '2.2'
|
|
|
6
6
|
|
|
7
7
|
## MADR v4 і дві фази
|
|
8
8
|
|
|
9
|
-
ADR живуть у єдиному каталозі **`docs/adr/`**. Clean ADR-и мають формат **MADR v4.0.0 minimal** з точними section headings англійською:
|
|
9
|
+
ADR живуть у єдиному каталозі **`docs/adr/`**. Clean ADR-и мають формат **MADR v4.0.0 minimal** з **OKF v0.1 frontmatter** і точними section headings англійською:
|
|
10
10
|
|
|
11
11
|
- `## Context and Problem Statement`
|
|
12
12
|
- `## Considered Options`
|
|
@@ -19,7 +19,7 @@ ADR живуть у єдиному каталозі **`docs/adr/`**. Clean ADR-
|
|
|
19
19
|
Є два стани файлу, які відрізняються YAML frontmatter:
|
|
20
20
|
|
|
21
21
|
- **Draft** — файл з frontmatter `session: …`, `captured: …`, `transcript: …` та timestamp-іменем `YYMMDD-HHMM-<sid>.md`. Пише `capture-decisions.sh` після кожної сесії.
|
|
22
|
-
- **Clean** — файл
|
|
22
|
+
- **Clean** — файл з OKF v0.1 frontmatter (`type: ADR`, `title:`, `description:`) і kebab-case-іменем. Заголовок `#` у тілі не потрібен — `title:` у frontmatter вже є заголовком. `normalize-decisions.sh` зберігає timestamp-префікс чернетки → `YYMMDD-HHMM-<slug>.md` (наприклад `260518-0928-ланцюжок-запуску-abie.md`); створений руками clean-файл може мати просто `<slug>.md`.
|
|
23
23
|
|
|
24
24
|
`normalize-decisions.sh` ніколи не чіпає clean-файли — крім випадку `merge-into`, коли дописує `## Update YYYY-MM-DD` в кінець наявного clean-файлу.
|
|
25
25
|
|