@nitra/cursor 11.4.1 → 12.0.1
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 +48 -2
- 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/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/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,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: deps.mjs
|
|
4
|
+
resource: npm/rules/js-mssql/js/deps.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/js-mssql/js/deps.mjs
|
|
4
6
|
crc: d5bc32ba
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# deps.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
request
|
|
13
11
|
Витягує рядок версії `dependencies.mssql` з `package.json` (js-mssql.mdc)
|
|
14
12
|
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: mssql-pool-scan.mjs
|
|
4
|
+
resource: npm/rules/js-mssql/lib/mssql-pool-scan.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/js-mssql/lib/mssql-pool-scan.mjs
|
|
4
6
|
crc: 7490294a
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# mssql-pool-scan.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль `mssql-pool-scan.mjs` — це набір AST-сканерів, що шукають **небезпечні патерни використання драйвера `mssql`** (Microsoft SQL Server для Node.js) у вихідних файлах JavaScript / TypeScript. Сканери призначені для статичного аналізу й використовуються з правил `js-mssql` (див. `js-mssql.mdc`).
|
|
12
10
|
|
|
13
11
|
Модуль виявляє п'ять класів проблем:
|
package/rules/js-run/docs/fix.md
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: fix.mjs
|
|
4
|
+
resource: npm/rules/js-run/fix.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/js-run/fix.mjs
|
|
4
6
|
crc: 38cf876b
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# fix.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Виконує застосування політики JS-занепокоєних до mdc-refs на вхідному контексті прогону та повертає результат.
|
|
13
11
|
|
|
14
12
|
Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`, завантажує конфігурацію, перевіряє дозволені елементи та повертає код виходу.
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: runtime.mjs
|
|
4
|
+
resource: npm/rules/js-run/js/runtime.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/js-run/js/runtime.mjs
|
|
4
6
|
crc: 9c22e999
|
|
5
7
|
score: 90
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# runtime.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
pgWriteContract перевіряє правила нейминга та експортів для файлів усередині `#conn/`.
|
|
13
11
|
check перевіряє правила js-run.mdc лише для workspace-пакетів.
|
|
14
12
|
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: bunyan-imports.mjs
|
|
4
|
+
resource: npm/rules/js-run/lib/bunyan-imports.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/js-run/lib/bunyan-imports.mjs
|
|
4
6
|
crc: 5f403a53
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# `bunyan-imports.mjs`
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль `bunyan-imports.mjs` — це AST-сканер, який знаходить у вихідних файлах JavaScript / TypeScript заборонені імпорти й виклики модулів `@nitra/bunyan` та застарілого `bunyan`. Згідно з правилом `js-run.mdc` уся логіка структурованого логування у проєкті переведена на `@nitra/pino`, тому будь-яке згадування `bunyan`/`@nitra/bunyan` має бути замінене на `@nitra/pino`.
|
|
12
10
|
|
|
13
11
|
Ключові властивості:
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: check-env-scan.mjs
|
|
4
|
+
resource: npm/rules/js-run/lib/check-env-scan.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/js-run/lib/check-env-scan.mjs
|
|
4
6
|
crc: 56c971d4
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# `check-env-scan.mjs` — AST-сканер правила «process.env / CheckEnv»
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль `npm/rules/js-run/lib/check-env-scan.mjs` — це **статичний AST-сканер**,
|
|
12
10
|
що реалізує перевірку правила `js-run.mdc` для двох контрактів роботи зі
|
|
13
11
|
змінними оточення в JavaScript/TypeScript-коді:
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: conn-file-rules.mjs
|
|
4
|
+
resource: npm/rules/js-run/lib/conn-file-rules.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/js-run/lib/conn-file-rules.mjs
|
|
4
6
|
crc: 4bebf12c
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# conn-file-rules.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль реалізує перевірки для файлів-підключень (connection files), що лежать у каталозі `src/conn/` (або в зоні дії lint-правила `conn-file` зі специфікації `js-run.mdc`, секції «Нейминг файлів у `src/conn/`» та «Експорти у файлах `src/conn/`»).
|
|
12
10
|
|
|
13
11
|
Він описує канонічну форму імені файла-підключення і канонічну форму його експорту, та надає функції для:
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: conn-imports-scan.mjs
|
|
4
|
+
resource: npm/rules/js-run/lib/conn-imports-scan.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/js-run/lib/conn-imports-scan.mjs
|
|
4
6
|
crc: 5234d8ba
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# conn-imports-scan.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль реалізує AST-сканер для правила «Внутрішні аліаси» з `js-run.mdc`. Його завдання — знаходити в JS/TS-файлах ті імпорти, що створюють підключення до бази даних або зовнішнього GraphQL-сервісу, і які повинні жити **лише** в каталозі `conn` пакета (типово `src/conn/`). Решта коду пакета має споживати ці підключення через `pkg-import` `#conn/...`, оголошений у полі `imports` файла `package.json`.
|
|
12
10
|
|
|
13
11
|
Сканер ловить три типи імпортів:
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Directory Index
|
|
3
|
+
title: npm/rules/js-run/lib
|
|
4
|
+
resource: npm/rules/js-run/lib/
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# npm/rules/js-run/lib
|
|
8
|
+
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
|---|---|
|
|
11
|
+
| [bunyan-imports.mjs](bunyan-imports.md) | JS Module |
|
|
12
|
+
| [check-env-scan.mjs](check-env-scan.md) | JS Module |
|
|
13
|
+
| [conn-file-rules.mjs](conn-file-rules.md) | JS Module |
|
|
14
|
+
| [conn-imports-scan.mjs](conn-imports-scan.md) | JS Module |
|
|
15
|
+
| [promise-settimeout-scan.mjs](promise-settimeout-scan.md) | JS Module |
|
|
16
|
+
| [temporal-scan.mjs](temporal-scan.md) | JS Module |
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: promise-settimeout-scan.mjs
|
|
4
|
+
resource: npm/rules/js-run/lib/promise-settimeout-scan.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/js-run/lib/promise-settimeout-scan.mjs
|
|
4
6
|
crc: a7cea379
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# promise-settimeout-scan.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль `promise-settimeout-scan.mjs` — це AST-сканер, який виявляє у вихідному коді JavaScript/TypeScript антипаттерн «обгортка `setTimeout` у `new Promise`» виду:
|
|
12
10
|
|
|
13
11
|
```js
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: temporal-scan.mjs
|
|
4
|
+
resource: npm/rules/js-run/lib/temporal-scan.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/js-run/lib/temporal-scan.mjs
|
|
4
6
|
crc: 5b15b070
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# temporal-scan.mjs
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Цей файл є частиною системи, яка сканує код Bun workspace на наявність використання ключового слова `Temporal`. Він запобігає використанню `Temporal` у backend-коді, оскільки Bun 1.3.x ще не має глобального `Temporal`, та охоплює сценарії з імпортом та polyfill. Це забезпечує відповідність коду поточним вимогам Bun runtime щодо обробки часу.
|
|
12
10
|
|
|
13
11
|
## Поведінка
|
package/rules/k8s/docs/fix.md
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: fix.mjs
|
|
4
|
+
resource: npm/rules/k8s/fix.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/k8s/fix.mjs
|
|
4
6
|
crc: 38cf876b
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# fix.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Файл надає механізми для виконання визначених правил. Виконання цих правил здійснюється через публічну функцію run. Виконання відбувається у режимі командного рядка.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
package/rules/k8s/k8s.mdc
CHANGED
|
@@ -414,6 +414,16 @@ images:
|
|
|
414
414
|
|
|
415
415
|
Для **кожного** `kind: Deployment` у каталозі **`…/k8s/…/base/`** (у будь-якому файлі `.yaml`, наприклад **`deploy.yaml`**, **`deployment.yaml`**) сам Deployment має канонічні **`spec.template.spec.topologySpreadConstraints`**, а **HPA і PDB** живуть у **sibling каталозі** **`…/k8s/…/components/`** (Kustomize Component, фіксована назва каталогу — `components`). У `base/` локальні `hpa.yaml` і `pdb.yaml` **заборонені** (file-existence error). У дереві base-kustomize HPA / PDB також **не дозволені** через `resources` / `components` / `bases`.
|
|
416
416
|
|
|
417
|
+
Кожен **Deployment** має явно задавати безпечну rollout strategy: **`spec.strategy.type: RollingUpdate`**, **`spec.strategy.rollingUpdate.maxUnavailable: 0`**, **`spec.strategy.rollingUpdate.maxSurge: 1`**. Це гарантує, що під час оновлення image Kubernetes спершу створить один новий Pod, дочекається його `Ready`, і лише потім прибере один старий Pod; для prod-overlays, що успадковують `base`, це запобігає короткому вікну без ready backend-ів.
|
|
418
|
+
|
|
419
|
+
```yaml
|
|
420
|
+
strategy:
|
|
421
|
+
type: RollingUpdate
|
|
422
|
+
rollingUpdate:
|
|
423
|
+
maxUnavailable: 0
|
|
424
|
+
maxSurge: 1
|
|
425
|
+
```
|
|
426
|
+
|
|
417
427
|
**NetworkPolicy** — інша історія: оскільки обмеження мережі мають діяти **і на dev**, NP лежить **у `base/`** (а не в `components/`). Для **кожного** з **`Deployment`**, **`StatefulSet`**, **`DaemonSet`**, **`Job`**, **`CronJob`** під `k8s` обов'язковий **NetworkPolicy**: у **`…/k8s/…/base/`** — у **`base/networkpolicy.yaml`** поруч з workload-маніфестом (multi-doc, якщо workload-ів кілька); у **не-base** — **`networkpolicy.yaml`** поруч із маніфестом workload у тому ж каталозі (overlay-specific override). `metadata.name` NetworkPolicy **= `metadata.name`** workload; `spec.podSelector.matchLabels.app` **= мітка `app`** з `spec.selector.matchLabels` (для **Job** — з `spec.template.metadata.labels.app`, для **CronJob** — з `spec.jobTemplate.spec.template.metadata.labels.app`; у Job/CronJob ручний `spec.selector` невалідний без `manualSelector: true`, тож джерело — pod-template labels). У `base/kustomization.yaml` `resources:` має бути `networkpolicy.yaml`. Відсутні документи **`check k8s`** створює автоматично і додає `networkpolicy.yaml` у `base/kustomization.yaml` `resources:`.
|
|
418
428
|
|
|
419
429
|
**Канонічна структура `<pkg>/k8s/components/`** (sibling до `base/`) — лише HPA і PDB:
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: lint.mjs
|
|
4
|
+
resource: npm/rules/k8s/lint/lint.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/k8s/lint/lint.mjs
|
|
4
6
|
crc: b6119c36
|
|
5
7
|
---
|
|
6
8
|
|
|
7
|
-
# lint.mjs — лінт Kubernetes-маніфестів (kubeconform + kubescape)
|
|
8
|
-
|
|
9
|
-
## Огляд
|
|
10
|
-
|
|
11
9
|
Модуль `lint.mjs` реалізує підкоманду `lint-k8s` CLI `n-cursor`. Він автоматично знаходить у репозиторії всі дерева Kubernetes-маніфестів за конвенційним сегментом шляху `k8s/`, а потім послідовно валідує їх двома інструментами:
|
|
12
10
|
|
|
13
11
|
1. **`kubeconform`** — структурна валідація YAML-маніфестів проти OpenAPI-схем Kubernetes; підтримує CRD-схеми з каталогу Datree.
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
# - `kind: Deployment` з образом `hasura/graphql-engine` — образ має бути
|
|
19
19
|
# у білому списку `allowed_hasura_images` (з digest або без; префікс
|
|
20
20
|
# `docker.io/` дозволено);
|
|
21
|
+
# - `kind: Deployment` — rollout strategy має бути `RollingUpdate` з
|
|
22
|
+
# `maxUnavailable: 0` і `maxSurge: 1`;
|
|
21
23
|
# - `kind: Deployment` — наявність канонічного запису у
|
|
22
24
|
# `spec.template.spec.topologySpreadConstraints` (k8s.mdc).
|
|
23
25
|
#
|
|
@@ -50,8 +52,8 @@ forbidden_service_annotations := {
|
|
|
50
52
|
# тег у двох варіантах префіксу (із `docker.io/` і без). Digest (`@sha256:…`)
|
|
51
53
|
# відрізається перед звіркою.
|
|
52
54
|
allowed_hasura_images := {
|
|
53
|
-
"hasura/graphql-engine:v2.49.
|
|
54
|
-
"docker.io/hasura/graphql-engine:v2.49.
|
|
55
|
+
"hasura/graphql-engine:v2.49.2.ubuntu.amd64",
|
|
56
|
+
"docker.io/hasura/graphql-engine:v2.49.2.ubuntu.amd64",
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
# Канонічне значення `topologyKey` для `topologySpreadConstraints` (k8s.mdc).
|
|
@@ -98,6 +100,12 @@ topology_spread_missing_template := concat(" ", [
|
|
|
98
100
|
"labelSelector.matchLabels.app=%q (k8s.mdc)",
|
|
99
101
|
])
|
|
100
102
|
|
|
103
|
+
rollout_strategy_template := concat(" ", [
|
|
104
|
+
"Deployment %q: spec.strategy має бути RollingUpdate з",
|
|
105
|
+
"rollingUpdate.maxUnavailable=0 і rollingUpdate.maxSurge=1",
|
|
106
|
+
"(оновлення по одному pod без зменшення кількості ready pod-ів) (k8s.mdc)",
|
|
107
|
+
])
|
|
108
|
+
|
|
101
109
|
# ── deny: заборонені kind/apiVersion ──────────────────────────────────────
|
|
102
110
|
|
|
103
111
|
deny contains ingress_template if {
|
|
@@ -175,6 +183,14 @@ deny contains msg if {
|
|
|
175
183
|
msg := sprintf(hasura_image_template, [deployment_name, container.name, container.image])
|
|
176
184
|
}
|
|
177
185
|
|
|
186
|
+
# ── deny: Deployment — безпечний RollingUpdate rollout ───────────────────
|
|
187
|
+
|
|
188
|
+
deny contains msg if {
|
|
189
|
+
input.kind == "Deployment"
|
|
190
|
+
not has_canonical_rollout_strategy
|
|
191
|
+
msg := sprintf(rollout_strategy_template, [deployment_name])
|
|
192
|
+
}
|
|
193
|
+
|
|
178
194
|
# ── deny: Deployment — канонічний topologySpreadConstraints ───────────────
|
|
179
195
|
#
|
|
180
196
|
# Перевіряємо лише Deployment-и, що мають мітку `app` у
|
|
@@ -239,6 +255,36 @@ has_memory_field(container) if {
|
|
|
239
255
|
"memory" in object.keys(requests)
|
|
240
256
|
}
|
|
241
257
|
|
|
258
|
+
# Чи Deployment має rollout strategy, яка під час оновлення спершу додає один
|
|
259
|
+
# ready pod і тільки потім прибирає старий.
|
|
260
|
+
has_canonical_rollout_strategy if {
|
|
261
|
+
strategy := object.get(object.get(input, "spec", {}), "strategy", {})
|
|
262
|
+
strategy.type == "RollingUpdate"
|
|
263
|
+
rolling := object.get(strategy, "rollingUpdate", {})
|
|
264
|
+
is_zero_int_or_string(rolling.maxUnavailable)
|
|
265
|
+
is_one_int_or_string(rolling.maxSurge)
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
is_zero_int_or_string(v) if {
|
|
269
|
+
is_number(v)
|
|
270
|
+
v == 0
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
is_zero_int_or_string(v) if {
|
|
274
|
+
is_string(v)
|
|
275
|
+
trim_space(v) == "0"
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
is_one_int_or_string(v) if {
|
|
279
|
+
is_number(v)
|
|
280
|
+
v == 1
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
is_one_int_or_string(v) if {
|
|
284
|
+
is_string(v)
|
|
285
|
+
trim_space(v) == "1"
|
|
286
|
+
}
|
|
287
|
+
|
|
242
288
|
# Чи рядок `image` посилається на репозиторій `hasura/graphql-engine` (з тегом
|
|
243
289
|
# або без). Digest `@sha256:…` ігнорується.
|
|
244
290
|
is_hasura_graphql_engine_image_ref(image) if {
|
package/rules/lint/docs/fix.md
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: fix.mjs
|
|
4
|
+
resource: npm/rules/lint/fix.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/lint/fix.mjs
|
|
4
6
|
crc: f85a9e1d
|
|
5
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
6
8
|
score: 100
|
|
7
9
|
---
|
|
8
10
|
|
|
9
|
-
# fix.mjs
|
|
10
|
-
|
|
11
|
-
## Огляд
|
|
12
|
-
|
|
13
11
|
Модуль забезпечує виконання логіки, визначеної правилом. Він ініціює виконання правила через публічну функцію `run`.
|
|
14
12
|
|
|
15
13
|
## Поведінка
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: orchestrate.mjs
|
|
4
|
+
resource: npm/rules/lint/js/orchestrate.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
|
|
4
|
-
crc: 2e5db1e7
|
|
6
|
+
crc: aed5ffe7
|
|
5
7
|
model: omlx/gemma-4-e4b-it-OptiQ-4bit
|
|
6
8
|
score: 100
|
|
7
9
|
---
|
|
8
10
|
|
|
9
|
-
# orchestrate.mjs
|
|
10
|
-
|
|
11
|
-
## Огляд
|
|
12
|
-
|
|
13
11
|
Оркестратор `n-cursor lint` визначає, які правила лінтування застосовувати, керуючись двома ортогональними осями: консолідацією правил та уніфікацією режиму `readonly`. Вибір правил відбувається на основі конфігурацій, зокрема файлів `meta.json`, які визначають обсяг дії (`per-file` чи `full`) для кожного правила. Запуск лінтування може сканувати лише змінені файли відносно origin (за замовчуванням) або весь репозиторій при використанні прапорця `--full`.
|
|
14
12
|
|
|
15
13
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: fix.mjs
|
|
4
|
+
resource: npm/rules/nginx-default-tpl/fix.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/nginx-default-tpl/fix.mjs
|
|
4
6
|
crc: 38cf876b
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# fix.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Виконує застосування політики безпеки до посилань mdc.
|
|
13
11
|
|
|
14
12
|
Виконує повний еквівалент команди `npx @nitra/cursor fix <id>`, включаючи завантаження конфігурації, перевірку дозволених елементів та підбиття підсумку.
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: template.mjs
|
|
4
|
+
resource: npm/rules/nginx-default-tpl/js/template.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/nginx-default-tpl/js/template.mjs
|
|
4
6
|
crc: 2d912e28
|
|
5
7
|
score: 90
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# template.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Надає повну перевірку проєкту, включаючи перевірку шаблонів, Dockerfile та конфігурацій VSCode.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: fix.mjs
|
|
4
|
+
resource: npm/rules/npm-module/fix.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/npm-module/fix.mjs
|
|
4
6
|
crc: 38cf876b
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# fix.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Виконує обробку JS-занепокоєних на наданому контексті прогону, застосовує політику [Політика_X] та генерує посилання MDC.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: header_doc_pointer.mjs
|
|
4
|
+
resource: npm/rules/npm-module/js/header_doc_pointer.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/npm-module/js/header_doc_pointer.mjs
|
|
4
6
|
crc: d96a2957
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# header_doc_pointer.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Файл виконує перевірку документації для модулів. Сканує директорії npm/rules та npm/skills. Перевіряє наявність файлів docs/<stem>.md у піддиректоріях правил/скілів. Перевіряє, чи містить відповідні js-файли не більше одного рядка JSDoc. У разі перевищення ліміту, генерує звіт про порушення.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Directory Index
|
|
3
|
+
title: npm/rules/npm-module/js
|
|
4
|
+
resource: npm/rules/npm-module/js/
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# npm/rules/npm-module/js
|
|
8
|
+
|
|
9
|
+
| Файл | Тип |
|
|
10
|
+
|---|---|
|
|
11
|
+
| [header_doc_pointer.mjs](header_doc_pointer.md) | JS Module |
|
|
12
|
+
| [package_structure.mjs](package_structure.md) | JS Module |
|
|
13
|
+
| [rule_meta.mjs](rule_meta.md) | JS Module |
|
|
14
|
+
| [skill_meta.mjs](skill_meta.md) | JS Module |
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: package_structure.mjs
|
|
4
|
+
resource: npm/rules/npm-module/js/package_structure.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/npm-module/js/package_structure.mjs
|
|
4
6
|
crc: 943e3b76
|
|
5
7
|
score: 85
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# package_structure.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
globToRegex
|
|
13
11
|
Перетворює glob-патерн у RegExp з якорями `^` та `$`.
|
|
14
12
|
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
+
type: JS Module
|
|
3
|
+
title: rule_meta.mjs
|
|
4
|
+
resource: npm/rules/npm-module/js/rule_meta.mjs
|
|
2
5
|
docgen:
|
|
3
|
-
source: npm/rules/npm-module/js/rule_meta.mjs
|
|
4
6
|
crc: 8262678c
|
|
5
7
|
score: 100
|
|
6
8
|
---
|
|
7
9
|
|
|
8
|
-
# rule_meta.mjs
|
|
9
|
-
|
|
10
|
-
## Огляд
|
|
11
|
-
|
|
12
10
|
Перевіряє наявність директорії npm/rules у вказаному шляху. Ітерує по всіх директоріях у директорії npm/rules. Для кожної директорії виконує перевірку наявності файлу auto.md та валідність полів auto та lint у конфігурації meta.json. Перевіряє наявність файлу js/lint.mjs у каталозі правила. Збирає результати валідації та повертає код виходу репортера.
|
|
13
11
|
|
|
14
12
|
## Поведінка
|