@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
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: inline-template-links.mjs
|
|
4
|
+
resource: npm/scripts/lib/inline-template-links.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/inline-template-links.mjs
|
|
4
6
|
crc: 7726f0ef
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# inline-template-links.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль `inline-template-links.mjs` — допоміжна утиліта для **build-кроку обробки `.mdc`-правил**. Її роль: у текстовому вмісті `.mdc`-документа знайти Markdown-посилання, які ведуть на template-файли (шлях містить сегмент `/template/` або `/templates/`), і **замінити** ці посилання на **інлайн fenced-блоки** з фактичним вмістом target-файлу.
|
|
12
10
|
|
|
13
11
|
Простими словами: замість того щоб у згенерованому правилі читач бачив посилання `[конфіг](./templates/package.json.snippet.json)`, він побачить безпосередньо назву реального файлу (`package.json`) і fenced-блок із його вмістом — це робить правило «самодостатнім», без потреби клікати по лінках.
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: list-project-rules-mdc.mjs
|
|
4
|
+
resource: npm/scripts/lib/list-project-rules-mdc.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/list-project-rules-mdc.mjs
|
|
4
6
|
crc: e17e0855
|
|
5
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
6
8
|
score: 100
|
|
7
9
|
---
|
|
8
10
|
|
|
9
|
-
# list-project-rules-mdc.mjs
|
|
10
|
-
|
|
11
|
-
## Огляд
|
|
12
|
-
|
|
13
11
|
Експортує константу CURSOR_RULES_DIR, яка вказує на каталог правил у проєкті-споживачі. Надає функцію для отримання відсортованого списку всіх файлів правил `.mdc` з цього каталогу.
|
|
14
12
|
|
|
15
13
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: list-rule-ids.mjs
|
|
4
|
+
resource: npm/scripts/lib/list-rule-ids.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/list-rule-ids.mjs
|
|
4
6
|
crc: 5ef1ead5
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# list-rule-ids.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль `list-rule-ids.mjs` — невелика бібліотечна утиліта, призначена для перебору директорій-правил у каталозі `npm/rules/` та повернення відсортованого алфавітно списку ідентифікаторів правил, які реально містять виконуваний модуль `fix.mjs`.
|
|
12
10
|
|
|
13
11
|
Логіка модуля побудована навколо архітектурної інваріанти проєкту: після так званої «атомарної міграції» кожне валідне правило **зобов'язане** мати файл `fix.mjs` у власній директорії `rules/<id>/`. Будь-яка піддиректорія без `fix.mjs` вважається або «не-правилом» (службова тека), або заглушкою-чернеткою — і ігнорується. Прихованих директорій (імена, що починаються з `.`) також не існує в результаті.
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: load-cursor-config.mjs
|
|
4
|
+
resource: npm/scripts/lib/load-cursor-config.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/load-cursor-config.mjs
|
|
4
6
|
crc: c86a80f4
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# load-cursor-config.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Утилітарний модуль для читання конфігураційного файлу `.n-cursor.json` з кореня репозиторію. Призначений для використання check-скриптами, що обходять файлову систему й мають виключати певні каталоги зі сканування.
|
|
12
10
|
|
|
13
11
|
Наразі експортує лише одну публічну функцію — `loadCursorIgnorePaths(root)`, яка повертає нормалізовані абсолютні posix-шляхи з масиву `ignore` у конфізі. Якщо конфіг відсутній, пошкоджений, або поле `ignore` має невалідний формат — функція повертає порожній масив без кидання винятків (fail-soft підхід).
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: mirror-parity.mjs
|
|
4
|
+
resource: npm/scripts/lib/mirror-parity.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/mirror-parity.mjs
|
|
4
6
|
crc: 15dc336a
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
## Огляд
|
|
8
|
-
|
|
9
9
|
Модуль `mirror-parity.mjs` забезпечує перевірку парності (parity) між «дзеркальними» файлами правил Cursor у `.cursor/rules/n-<id>.mdc` та їх канонічними джерелами у `npm/rules/<id>/<id>.mdc`. Ідея така: репозиторій містить два представлення одного й того ж правила:
|
|
10
10
|
|
|
11
11
|
- канонічне джерело правила лежить у `npm/rules/<id>/<id>.mdc` (з можливими посиланнями на шаблони у тій самій теці);
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: read-n-cursor-config-lite.mjs
|
|
4
|
+
resource: npm/scripts/lib/read-n-cursor-config-lite.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/read-n-cursor-config-lite.mjs
|
|
4
6
|
crc: a5fb0592
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# read-n-cursor-config-lite.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл читає файл `.n-cursor.json`, що містить список правил для конфігурації. Він повертає цей список, щоб `fix.mjs` міг використовувати правила для визначення конфігурації. Це забезпечує базове читання конфігурації правил для запуску `fix.mjs` з командного рядка.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: resolve-target-files.mjs
|
|
4
|
+
resource: npm/scripts/lib/resolve-target-files.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/resolve-target-files.mjs
|
|
4
6
|
crc: a3b361d9
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# resolve-target-files.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл відповідає за перевірку наявності файлів, що відповідають певним правилам, вказаним у файлах `policy/<name>/target.json`. Він створює список файлів для подальшого використання, використовуючи або конкретні відносні шляхи, або обхід каталогу з використанням шаблонів та ігнорування файлів. Це забезпечує узгодженість та контроль над файлами, які потрібно обробити, відповідно до заданих політик.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: root-notice.mjs
|
|
4
|
+
resource: npm/scripts/lib/root-notice.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/root-notice.mjs
|
|
4
6
|
crc: 5f3ca2bb
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# root-notice.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл вставляє root-guard preflight для скілів, які змінюють проєкт у поточному каталозі. Він забезпечує, що скіл виконується in-place, без ізоляції worktree, і використовується для випадків, коли не потрібна ізоляція worktree. Це гарантує коректне виконання скілу від імені проєкту.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: rule-meta-helpers.mjs
|
|
4
|
+
resource: npm/scripts/lib/rule-meta-helpers.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/rule-meta-helpers.mjs
|
|
4
6
|
crc: a7e1ae1d
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# rule-meta-helpers.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл містить хелпери для автоматичного виявлення та обробки правил конфігурації репозиторіїв. Він надає функції для ідентифікації ID міграцій, нормалізації списків та визначення URL репозиторіїв, а також для виявлення монорепо-пакетів. Ці функції використовуються для автоматизованої обробки конфігурації та забезпечення узгодженості в репозиторіях.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: rule-meta.mjs
|
|
4
|
+
resource: npm/scripts/lib/rule-meta.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/rule-meta.mjs
|
|
4
6
|
crc: fa5ca866
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# rule-meta.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл парсує метадані правил npm/rules/<id>/meta.json для автоматичного виявлення проблемних місць у коді. Він визначає, коли правило має бути активним, використовуючи різні специфікації, такі як завжди-ввімкнене правило, правило, яке активується після виявлення залежностей, або правило, яке активується на основі glob-шаблонів чи незводимих предикатів. Це дозволяє системі динамічно визначати та застосовувати правила, не потребуючи явного налаштування.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: rule-predicates.mjs
|
|
4
|
+
resource: npm/scripts/lib/rule-predicates.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/rule-predicates.mjs
|
|
4
6
|
crc: 71fba574
|
|
5
7
|
score: 95
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# rule-predicates.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Реєстр незводимих до даних предикатів для автодетекту правил. Предикати використовують наявність файлів або вмісту для визначення умов. Умови, що вимагають парсингу залежностей чи сканування вмісту, читають дані з різних джерел. Виклик диспетчується через `auto-rules.mjs` за іменем предиката.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: run-conftest-batch.mjs
|
|
4
|
+
resource: npm/scripts/lib/run-conftest-batch.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/run-conftest-batch.mjs
|
|
4
6
|
crc: 5ec640a0
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# run-conftest-batch.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Файл запускає `conftest test` на заданому списку файлів, виявляючи порушення правил, визначених у Rego-полісіях. Він використовується для автоматизованої перевірки конфігураційних файлів на відповідність заданим вимогам. Результати перевірки повертаються у структурованому вигляді, що дозволяє інтегрувати результати в інші процеси валідації.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: run-lint-step.mjs
|
|
4
|
+
resource: npm/scripts/lib/run-lint-step.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/run-lint-step.mjs
|
|
4
6
|
crc: 5932fa98
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# run-lint-step.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл забезпечує спільний хелпер для запуску окремих кроків у ланцюжку linting, що використовується CLI-обгортками. Він імітує прямий виклик команд у shell, логуючи команди та перенаправляючи stdout/stderr на користувацькі stream-и. Це дозволяє уникнути дублювання обгорток у різних `rules/<id>/js/lint.mjs` файлах.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: run-rule-cli.mjs
|
|
4
|
+
resource: npm/scripts/lib/run-rule-cli.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/run-rule-cli.mjs
|
|
4
6
|
crc: 264e7ab0
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# run-rule-cli.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Файл є автономним CLI-запускачем для одного правила. Він друкує звіт про перевірку та повертає агрегований код виходу. Whitelist-гейту тут немає: гейтинг активних правил живе виключно у `resolveCheckRuleIds` (селекція за `.n-cursor.json`), а прямий запуск файлу правила — свідома debug/override-дія, тож виконується беззастережно.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: run-rule.mjs
|
|
4
|
+
resource: npm/scripts/lib/run-rule.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/run-rule.mjs
|
|
4
6
|
crc: 27060842
|
|
5
7
|
score: 95
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# run-rule.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Файл слугує оркестратором правила. Він координує виконання перевірок, включаючи перевірку гейту, JS-концернів та policy-концернів.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: run-standard-lint.mjs
|
|
4
|
+
resource: npm/scripts/lib/run-standard-lint.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/run-standard-lint.mjs
|
|
4
6
|
crc: e7e3f0ae
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# run-standard-lint.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Файл забезпечує централізовану точку запуску для підкоманд `lint-<rule>` у `@nitra/cursor`. Він серіалізує та дедублює запуски, використовуючи `withLock`, щоб гарантувати узгодженість та ефективність. Це дозволяє легко інтегрувати нові правила та обробляти крос-cutting концерни, не вносячи змін у окремі файли правил.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: run-standard-rule.mjs
|
|
4
|
+
resource: npm/scripts/lib/run-standard-rule.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/run-standard-rule.mjs
|
|
4
6
|
crc: c1ae8f0e
|
|
5
7
|
score: 90
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# run-standard-rule.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Файл інкапсулює оркестрацію виконання правил. Він забезпечує запуск правила через визначений шлях, ізолюючи його виконання у блоці `withLock` для уникнення паралельних запусків.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: skill-meta.mjs
|
|
4
|
+
resource: npm/scripts/lib/skill-meta.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/skill-meta.mjs
|
|
4
6
|
crc: 0c638d18
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# skill-meta.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл парсить метадані скілу з файлу `meta.json` та надає інформацію про його конфігурацію. Він служить єдиним джерелом правди про скіл, замінюючи старий `auto.md`, і використовується для визначення, чи потрібно запускати скіл в окремому worktree, чи з кореня репозиторію. Це забезпечує узгодженість даних про скіли та полегшує їх використання в інших частинах системи.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: sync-gitignore-worktree.mjs
|
|
4
|
+
resource: npm/scripts/lib/sync-gitignore-worktree.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/sync-gitignore-worktree.mjs
|
|
4
6
|
crc: e691c42b
|
|
5
7
|
score: 95
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# sync-gitignore-worktree.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
syncGitignoreWorktree
|
|
13
11
|
Додає запис `.worktrees/` до кореневого `.gitignore`. Функція викликається для синхронізації локальних git-worktree з конфігурацією. Функція приймає шлях до кореня проєкту-споживача. Функція повертає результат, що вказує на успішність запису.
|
|
14
12
|
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: template.mjs
|
|
4
|
+
resource: npm/scripts/lib/template.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/template.mjs
|
|
4
6
|
crc: 3bc0617f
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# template.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Файл обробляє шаблони для певних напрямків, збираючи їх у єдину структуру, яка індексується за назвою цільового файлу. Він повертає найбільш відповідний шаблон з `snippet/`, `deny/` або `contains/`, розпізнаний за розширенням, для кожного цільового файлу. Це забезпечує можливість динамічної генерації контенту на основі шаблонів, визначених для різних областей застосунку.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: timing-summary.mjs
|
|
4
|
+
resource: npm/scripts/lib/timing-summary.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/timing-summary.mjs
|
|
4
6
|
crc: f21a9b91
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# timing-summary.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл генерує табличне резюме часу виконання для команд `fix` та `lint`, які використовуються в orchestrator. Він підсумовує час виконання окремих правил та скриптів linting, надаючи інформацію для аналізу продуктивності. Результат представлений у вигляді рядка, який можна вивести для відображення користувачеві.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: workspaces.mjs
|
|
4
|
+
resource: npm/scripts/lib/workspaces.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/workspaces.mjs
|
|
4
6
|
crc: 995c1633
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# workspaces.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл визначає список кореневих каталогів пакетів у монорепо, використовуючи конфігурацію `workspaces` з `package.json`. Він використовується скриптами перевірки монорепо для ідентифікації всіх проектів, які потрібно перевірити. Результат повертається для подальшого використання в процесах перевірки та аналізу.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: worktree-notice.mjs
|
|
4
|
+
resource: npm/scripts/lib/worktree-notice.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/worktree-notice.mjs
|
|
4
6
|
crc: dc4fba22
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# worktree-notice.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл вбудовує інструкції щодо використання git-worktree, коли `meta.json.worktree` встановлено в `true`. Він забезпечує паралельне виконання скілу лише в окремому git-worktree, запобігаючи потенційним проблемам з паралелізмом. Цей механізм дозволяє уникнути гонки з CDN та забезпечує надійний запуск скілу з локальною копією CLI.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: worktree.mjs
|
|
4
|
+
resource: npm/scripts/lib/worktree.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/worktree.mjs
|
|
4
6
|
crc: ffcdbca5
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# worktree.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Файл містить детерміновану логіку для обробки гілок у `worktree-tool`, забезпечуючи безпечне перетворення імен гілок та створення описових файлів для `worktree`. Він використовується для генерації структури `.worktrees/` та ідентифікації неактивних описових файлів, що необхідно для операцій з видаленням. Це ключовий компонент для забезпечення консистентності та зручності роботи з `worktree-tool` безпосередньо з файловою системою.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Directory Index
|
|
3
|
+
title: npm/scripts/lib/fix
|
|
4
|
+
resource: npm/scripts/lib/fix/
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# npm/scripts/lib/fix
|
|
8
|
+
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
|---|---|
|
|
11
|
+
| [llm-fix-apply.mjs](llm-fix-apply.md) | JS Module |
|
|
12
|
+
| [llm-lint-fix.mjs](llm-lint-fix.md) | JS Module |
|
|
13
|
+
| [llm-worker.mjs](llm-worker.md) | JS Module |
|
|
14
|
+
| [orchestrator.mjs](orchestrator.md) | JS Module |
|
|
15
|
+
| [run-fix-check.mjs](run-fix-check.md) | JS Module |
|
|
16
|
+
| [t0.mjs](t0.md) | JS Module |
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: llm-fix-apply.mjs
|
|
4
|
+
resource: npm/scripts/lib/fix/llm-fix-apply.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/fix/llm-fix-apply.mjs
|
|
4
6
|
crc: 80befb00
|
|
5
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
6
8
|
score: 100
|
|
7
9
|
---
|
|
8
10
|
|
|
9
|
-
# llm-fix-apply.mjs
|
|
10
|
-
|
|
11
|
-
## Огляд
|
|
12
|
-
|
|
13
11
|
Модуль є спільним ядром для застосування виправлень, згенерованих LLM, використовуючи конформні (`llm-worker.mjs`) та інструментальні (`llm-lint-fix.mjs`) механізми для уникнення дублювання логіки парсингу та застосування змін. Він парсить структуровану відповідь моделі, що містить список змін у форматі `{changes:[{path,content}]}`. Далі, він зчитує вміст файлів, зазначених у цих змінах, та застосовує оновлений вміст до відповідних файлів. Усі операції реалізовані з механізмом fail-safe: при невдачах функції повертають значення помилки (false/null/Err) замість викидання винятків.
|
|
14
12
|
|
|
15
13
|
## Поведінка
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: llm-lint-fix.mjs
|
|
4
|
+
resource: npm/scripts/lib/fix/llm-lint-fix.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/fix/llm-lint-fix.mjs
|
|
4
6
|
crc: de4439e9
|
|
5
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
6
8
|
score: 90
|
|
7
9
|
---
|
|
8
10
|
|
|
9
|
-
# llm-lint-fix.mjs
|
|
10
|
-
|
|
11
|
-
## Огляд
|
|
12
|
-
|
|
13
11
|
Модуль реалізує механізм `omlx-фікс` для обробки знахідок лінтера, що стосуються `detect-only` тулів, які не мають нативного механізму виправлення (відповідно до `lint-orchestrator-fix-readonly`). Він зчитує уражені файли, ініціює запит до моделі через `callLlm` (маршрутизація через `omlx/<model>` з фолбеком каскаду), щоб отримати пропоновані зміни. Ці зміни застосовуються до файлової системи за допомогою спільного ядра `llm-fix-apply`.
|
|
14
12
|
|
|
15
13
|
## Поведінка
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: llm-worker.mjs
|
|
4
|
+
resource: npm/scripts/lib/fix/llm-worker.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/fix/llm-worker.mjs
|
|
4
6
|
crc: 00730451
|
|
5
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
6
8
|
score: 100
|
|
7
9
|
---
|
|
8
10
|
|
|
9
|
-
# llm-worker.mjs
|
|
10
|
-
|
|
11
|
-
## Огляд
|
|
12
|
-
|
|
13
11
|
Модуль визначає моделі для стандартних та складних виправлень коду. Він надає функції для ініціалізації моделей (`MODEL`, `MODEL_HEAVY`) та для виконання роботи з мовною моделлю (`runLlmWorker`), застосовуючи згенеровані зміни до файлів проєкту.
|
|
14
12
|
|
|
15
13
|
## Поведінка
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: orchestrator.mjs
|
|
4
|
+
resource: npm/scripts/lib/fix/orchestrator.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/fix/orchestrator.mjs
|
|
4
6
|
crc: 3a66072d
|
|
5
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
6
8
|
score: 100
|
|
7
9
|
---
|
|
8
10
|
|
|
9
|
-
# orchestrator.mjs
|
|
10
|
-
|
|
11
|
-
## Огляд
|
|
12
|
-
|
|
13
11
|
Модуль керує процесом валідації та виправлення правил. Він ініціює перевірку всіх правил. Якщо виявлено порушення, процес ітеративно застосовує детермінований механізм виправлення (T0) та виправлення на основі великої мовної моделі (T1) до невирішених правил. Цей цикл повторюється до досягнення стану, коли всі правила відповідають вимогам, або до перевищення встановленого ліміту ітерацій. Функція `runOrchestratorCli` запускає цей процес.
|
|
14
12
|
|
|
15
13
|
## Поведінка
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: run-fix-check.mjs
|
|
4
|
+
resource: npm/scripts/lib/fix/run-fix-check.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/fix/run-fix-check.mjs
|
|
4
6
|
crc: 76874730
|
|
5
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
6
8
|
score: 100
|
|
7
9
|
---
|
|
8
10
|
|
|
9
|
-
# run-fix-check.mjs
|
|
10
|
-
|
|
11
|
-
## Огляд
|
|
12
|
-
|
|
13
11
|
Викликає конформність-фазу `lint` (read-only), движок (`orchestrator.mjs`, `t0.mjs`) та PostToolUse-хук. Перевірка конформності виконується як пряма функція, без зовнішньої обгортки через `subprocess`. Ізоляція на рівні кожного правила зберігається: кожен файл `rules/<id>/fix.mjs` все ще запускається окремим процесом `bun` (crash-isolation). Селекція активних правил — єдине джерело: `resolveCheckRuleIds` за `.n-cursor.json`; per-rule whitelist у спавнених процесах прибрано як дубль.
|
|
14
12
|
|
|
15
13
|
## Поведінка
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: t0.mjs
|
|
4
|
+
resource: npm/scripts/lib/fix/t0.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/scripts/lib/fix/t0.mjs
|
|
4
6
|
crc: 0321ecc1
|
|
5
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
6
8
|
score: 100
|
|
7
9
|
---
|
|
8
10
|
|
|
9
|
-
# t0.mjs
|
|
10
|
-
|
|
11
|
-
## Огляд
|
|
12
|
-
|
|
13
11
|
Модуль керує автоматичним застосуванням паттернів до правил для виправлення виводів порушень. Він визначає, які автоматичні паттерни можуть бути застосовані до правил, використовуючи `filterT0AutoRules`, і запускає повний процес виправлення для всіх відповідних правил через `applyT0Auto` та `runT0AutoCli`. Код працює у режимі fail-safe, перехоплюючи помилки та не викидаючи винятків назовні. Робота модуля залежить від конфігурацій `extensions.json` та `package-lock.json`.
|
|
14
12
|
|
|
15
13
|
## Поведінка
|
|
@@ -134,52 +134,17 @@ git branch --show-current
|
|
|
134
134
|
Якщо \`git rev-parse --show-toplevel\` показав, що ти **не** в \`.worktrees/\`, візьми вивід \`git branch --show-current\` як \`<current-branch>\` і виконай **literal-команди без shell expansion** (без command substitution, variable expansion чи backticks). Наприклад, якщо поточна гілка \`feature/x\`:
|
|
135
135
|
|
|
136
136
|
\`\`\`bash
|
|
137
|
-
|
|
137
|
+
mt worktree create "feature/x-${suffix}" "n-${suffix}: worktree-only skill"
|
|
138
138
|
cd ".worktrees/feature-x-${suffix}"
|
|
139
139
|
\`\`\`
|
|
140
140
|
|
|
141
141
|
Тобто branch-argument лишає slash як у git-гілці, а шлях для \`cd\` бере sanitized форму: slash → \`-\`.
|
|
142
142
|
|
|
143
|
-
**Крок 0.1 — bootstrap у новому дереві (після \`cd
|
|
143
|
+
**Крок 0.1 — bootstrap у новому дереві (після \`cd\`).** Дерево щойно створене й **без** \`node_modules\`. Постав залежності локально — тоді \`npx @nitra/cursor <cmd>\` бере локальну копію без походу в реєстр:
|
|
144
144
|
|
|
145
145
|
\`\`\`bash
|
|
146
|
-
# Локальна копія @nitra/cursor (девзалежність споживача) — npx бере її, без походу в реєстр.
|
|
147
146
|
bun install
|
|
148
|
-
|
|
149
|
-
# n_cursor_npx <args> — обгортка bootstrap-виклику "npx @nitra/cursor <args>".
|
|
150
|
-
# Ретраїмо ЛИШЕ транзитні помилки реєстру/мережі (CDN ще не пропагував щойно
|
|
151
|
-
# опубліковану версію). Реальний nonzero від CLI (fix повернув ❌, lint-помилка) —
|
|
152
|
-
# віддаємо одразу, без ретраю. Інтервал 30с; дефолт-ліміт 5 хв
|
|
153
|
-
# (env N_CURSOR_NPX_RETRY_MAX_MIN), hard-ceiling 10 хв.
|
|
154
|
-
# Чому 5 хв: CDN-пропагація npm зазвичай < 2 хв, 5 хв — запас; довше → ймовірно
|
|
155
|
-
# реальна проблема (невірна версія / аутейдж), краще віддати помилку, ніж висіти.
|
|
156
|
-
n_cursor_npx() {
|
|
157
|
-
max_min="\${N_CURSOR_NPX_RETRY_MAX_MIN:-5}"
|
|
158
|
-
case "$max_min" in '' | *[!0-9]*) max_min=5 ;; esac
|
|
159
|
-
[ "$max_min" -gt 10 ] && max_min=10
|
|
160
|
-
deadline=$(( $(date +%s) + max_min * 60 ))
|
|
161
|
-
attempt=1
|
|
162
|
-
transient='ETARGET|notarget|No matching version|ENOTFOUND|ETIMEDOUT|EAI_AGAIN|ECONNRESET|50[0-9] |502 Bad Gateway|503 Service Unavailable|504 Gateway'
|
|
163
|
-
while :; do
|
|
164
|
-
err=$(mktemp)
|
|
165
|
-
npx @nitra/cursor "$@" 2>"$err"
|
|
166
|
-
code=$?
|
|
167
|
-
cat "$err" >&2
|
|
168
|
-
[ "$code" -eq 0 ] && { rm -f "$err"; return 0; }
|
|
169
|
-
if grep -Eq "$transient" "$err" && [ "$(date +%s)" -lt "$deadline" ]; then
|
|
170
|
-
rm -f "$err"
|
|
171
|
-
echo "n-cursor: очікую пропагації версії по CDN… спроба $attempt, повтор через 30с" >&2
|
|
172
|
-
attempt=$((attempt + 1))
|
|
173
|
-
sleep 30
|
|
174
|
-
else
|
|
175
|
-
rm -f "$err"
|
|
176
|
-
return "$code"
|
|
177
|
-
fi
|
|
178
|
-
done
|
|
179
|
-
}
|
|
180
|
-
\`\`\`
|
|
181
|
-
|
|
182
|
-
Усі подальші bootstrap-виклики \`npx @nitra/cursor <cmd>\` у цій сесії роби через \`n_cursor_npx <cmd>\`. Якщо опинився у свіжому shell без цієї функції — спершу повтори блок вище (\`bun install\` + визначення \`n_cursor_npx\`).`
|
|
147
|
+
\`\`\``
|
|
183
148
|
}
|
|
184
149
|
|
|
185
150
|
/**
|