eslint-plugin-copilot 1.0.5
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/CHANGELOG.md +5316 -0
- package/LICENSE +21 -0
- package/README.md +192 -0
- package/dist/_internal/copilot-config-references.d.ts +34 -0
- package/dist/_internal/copilot-config-references.d.ts.map +1 -0
- package/dist/_internal/copilot-config-references.js +55 -0
- package/dist/_internal/copilot-config-references.js.map +1 -0
- package/dist/_internal/copilot-customization-names.d.ts +21 -0
- package/dist/_internal/copilot-customization-names.d.ts.map +1 -0
- package/dist/_internal/copilot-customization-names.js +56 -0
- package/dist/_internal/copilot-customization-names.js.map +1 -0
- package/dist/_internal/copilot-file-kind.d.ts +19 -0
- package/dist/_internal/copilot-file-kind.d.ts.map +1 -0
- package/dist/_internal/copilot-file-kind.js +111 -0
- package/dist/_internal/copilot-file-kind.js.map +1 -0
- package/dist/_internal/create-copilot-rule.d.ts +39 -0
- package/dist/_internal/create-copilot-rule.d.ts.map +1 -0
- package/dist/_internal/create-copilot-rule.js +56 -0
- package/dist/_internal/create-copilot-rule.js.map +1 -0
- package/dist/_internal/customization-body.d.ts +6 -0
- package/dist/_internal/customization-body.d.ts.map +1 -0
- package/dist/_internal/customization-body.js +15 -0
- package/dist/_internal/customization-body.js.map +1 -0
- package/dist/_internal/duplicate-names.d.ts +12 -0
- package/dist/_internal/duplicate-names.d.ts.map +1 -0
- package/dist/_internal/duplicate-names.js +24 -0
- package/dist/_internal/duplicate-names.js.map +1 -0
- package/dist/_internal/file-system.d.ts +21 -0
- package/dist/_internal/file-system.d.ts.map +1 -0
- package/dist/_internal/file-system.js +86 -0
- package/dist/_internal/file-system.js.map +1 -0
- package/dist/_internal/frontmatter.d.ts +37 -0
- package/dist/_internal/frontmatter.d.ts.map +1 -0
- package/dist/_internal/frontmatter.js +398 -0
- package/dist/_internal/frontmatter.js.map +1 -0
- package/dist/_internal/markdown-links.d.ts +21 -0
- package/dist/_internal/markdown-links.d.ts.map +1 -0
- package/dist/_internal/markdown-links.js +81 -0
- package/dist/_internal/markdown-links.js.map +1 -0
- package/dist/_internal/markdown-rule.d.ts +13 -0
- package/dist/_internal/markdown-rule.d.ts.map +1 -0
- package/dist/_internal/markdown-rule.js +19 -0
- package/dist/_internal/markdown-rule.js.map +1 -0
- package/dist/_internal/repository-hooks-json.d.ts +55 -0
- package/dist/_internal/repository-hooks-json.d.ts.map +1 -0
- package/dist/_internal/repository-hooks-json.js +80 -0
- package/dist/_internal/repository-hooks-json.js.map +1 -0
- package/dist/_internal/rule-catalog.d.ts +20 -0
- package/dist/_internal/rule-catalog.d.ts.map +1 -0
- package/dist/_internal/rule-catalog.js +97 -0
- package/dist/_internal/rule-catalog.js.map +1 -0
- package/dist/_internal/rule-docs-url.d.ts +9 -0
- package/dist/_internal/rule-docs-url.d.ts.map +1 -0
- package/dist/_internal/rule-docs-url.js +9 -0
- package/dist/_internal/rule-docs-url.js.map +1 -0
- package/dist/_internal/rules-registry.d.ts +83 -0
- package/dist/_internal/rules-registry.d.ts.map +1 -0
- package/dist/_internal/rules-registry.js +145 -0
- package/dist/_internal/rules-registry.js.map +1 -0
- package/dist/_internal/skill-files.d.ts +8 -0
- package/dist/_internal/skill-files.d.ts.map +1 -0
- package/dist/_internal/skill-files.js +18 -0
- package/dist/_internal/skill-files.js.map +1 -0
- package/dist/plugin.cjs +5312 -0
- package/dist/plugin.cjs.map +7 -0
- package/dist/plugin.d.cts +34 -0
- package/dist/plugin.d.ts +34 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +142 -0
- package/dist/plugin.js.map +1 -0
- package/dist/rules/no-blank-customization-body.d.ts +4 -0
- package/dist/rules/no-blank-customization-body.d.ts.map +1 -0
- package/dist/rules/no-blank-customization-body.js +49 -0
- package/dist/rules/no-blank-customization-body.js.map +1 -0
- package/dist/rules/no-blank-repository-instructions.d.ts +4 -0
- package/dist/rules/no-blank-repository-instructions.d.ts.map +1 -0
- package/dist/rules/no-blank-repository-instructions.js +49 -0
- package/dist/rules/no-blank-repository-instructions.js.map +1 -0
- package/dist/rules/no-blank-skill-body.d.ts +4 -0
- package/dist/rules/no-blank-skill-body.d.ts.map +1 -0
- package/dist/rules/no-blank-skill-body.js +48 -0
- package/dist/rules/no-blank-skill-body.js.map +1 -0
- package/dist/rules/no-deprecated-agent-infer.d.ts +4 -0
- package/dist/rules/no-deprecated-agent-infer.d.ts.map +1 -0
- package/dist/rules/no-deprecated-agent-infer.js +48 -0
- package/dist/rules/no-deprecated-agent-infer.js.map +1 -0
- package/dist/rules/no-duplicate-agent-names.d.ts +4 -0
- package/dist/rules/no-duplicate-agent-names.d.ts.map +1 -0
- package/dist/rules/no-duplicate-agent-names.js +72 -0
- package/dist/rules/no-duplicate-agent-names.js.map +1 -0
- package/dist/rules/no-duplicate-prompt-names.d.ts +4 -0
- package/dist/rules/no-duplicate-prompt-names.d.ts.map +1 -0
- package/dist/rules/no-duplicate-prompt-names.js +72 -0
- package/dist/rules/no-duplicate-prompt-names.js.map +1 -0
- package/dist/rules/no-duplicate-skill-names.d.ts +4 -0
- package/dist/rules/no-duplicate-skill-names.d.ts.map +1 -0
- package/dist/rules/no-duplicate-skill-names.js +74 -0
- package/dist/rules/no-duplicate-skill-names.js.map +1 -0
- package/dist/rules/no-duplicate-slash-command-names.d.ts +4 -0
- package/dist/rules/no-duplicate-slash-command-names.d.ts.map +1 -0
- package/dist/rules/no-duplicate-slash-command-names.js +82 -0
- package/dist/rules/no-duplicate-slash-command-names.js.map +1 -0
- package/dist/rules/no-empty-repository-hook-arrays.d.ts +4 -0
- package/dist/rules/no-empty-repository-hook-arrays.d.ts.map +1 -0
- package/dist/rules/no-empty-repository-hook-arrays.js +49 -0
- package/dist/rules/no-empty-repository-hook-arrays.js.map +1 -0
- package/dist/rules/no-legacy-chatmode-files.d.ts +4 -0
- package/dist/rules/no-legacy-chatmode-files.d.ts.map +1 -0
- package/dist/rules/no-legacy-chatmode-files.js +42 -0
- package/dist/rules/no-legacy-chatmode-files.js.map +1 -0
- package/dist/rules/prefer-custom-instructions-under-code-review-limit.d.ts +4 -0
- package/dist/rules/prefer-custom-instructions-under-code-review-limit.d.ts.map +1 -0
- package/dist/rules/prefer-custom-instructions-under-code-review-limit.js +52 -0
- package/dist/rules/prefer-custom-instructions-under-code-review-limit.js.map +1 -0
- package/dist/rules/prefer-fast-repository-hooks.d.ts +4 -0
- package/dist/rules/prefer-fast-repository-hooks.d.ts.map +1 -0
- package/dist/rules/prefer-fast-repository-hooks.js +58 -0
- package/dist/rules/prefer-fast-repository-hooks.js.map +1 -0
- package/dist/rules/prefer-qualified-tools.d.ts +4 -0
- package/dist/rules/prefer-qualified-tools.d.ts.map +1 -0
- package/dist/rules/prefer-qualified-tools.js +56 -0
- package/dist/rules/prefer-qualified-tools.js.map +1 -0
- package/dist/rules/require-agent-tool-for-subagents.d.ts +4 -0
- package/dist/rules/require-agent-tool-for-subagents.d.ts.map +1 -0
- package/dist/rules/require-agent-tool-for-subagents.js +64 -0
- package/dist/rules/require-agent-tool-for-subagents.js.map +1 -0
- package/dist/rules/require-agents-md-for-cross-surface-agent-instructions.d.ts +4 -0
- package/dist/rules/require-agents-md-for-cross-surface-agent-instructions.d.ts.map +1 -0
- package/dist/rules/require-agents-md-for-cross-surface-agent-instructions.js +50 -0
- package/dist/rules/require-agents-md-for-cross-surface-agent-instructions.js.map +1 -0
- package/dist/rules/require-chatmode-file-metadata.d.ts +4 -0
- package/dist/rules/require-chatmode-file-metadata.d.ts.map +1 -0
- package/dist/rules/require-chatmode-file-metadata.js +59 -0
- package/dist/rules/require-chatmode-file-metadata.js.map +1 -0
- package/dist/rules/require-existing-agent-hook-cwd.d.ts +4 -0
- package/dist/rules/require-existing-agent-hook-cwd.d.ts.map +1 -0
- package/dist/rules/require-existing-agent-hook-cwd.js +64 -0
- package/dist/rules/require-existing-agent-hook-cwd.js.map +1 -0
- package/dist/rules/require-existing-agent-mcp-servers.d.ts +4 -0
- package/dist/rules/require-existing-agent-mcp-servers.d.ts.map +1 -0
- package/dist/rules/require-existing-agent-mcp-servers.js +58 -0
- package/dist/rules/require-existing-agent-mcp-servers.js.map +1 -0
- package/dist/rules/require-existing-relative-agent-links.d.ts +4 -0
- package/dist/rules/require-existing-relative-agent-links.d.ts.map +1 -0
- package/dist/rules/require-existing-relative-agent-links.js +61 -0
- package/dist/rules/require-existing-relative-agent-links.js.map +1 -0
- package/dist/rules/require-existing-relative-instructions-links.d.ts +4 -0
- package/dist/rules/require-existing-relative-instructions-links.d.ts.map +1 -0
- package/dist/rules/require-existing-relative-instructions-links.js +61 -0
- package/dist/rules/require-existing-relative-instructions-links.js.map +1 -0
- package/dist/rules/require-existing-relative-prompt-links.d.ts +4 -0
- package/dist/rules/require-existing-relative-prompt-links.d.ts.map +1 -0
- package/dist/rules/require-existing-relative-prompt-links.js +61 -0
- package/dist/rules/require-existing-relative-prompt-links.js.map +1 -0
- package/dist/rules/require-existing-relative-skill-links.d.ts +4 -0
- package/dist/rules/require-existing-relative-skill-links.d.ts.map +1 -0
- package/dist/rules/require-existing-relative-skill-links.js +61 -0
- package/dist/rules/require-existing-relative-skill-links.js.map +1 -0
- package/dist/rules/require-existing-repository-hook-cwd.d.ts +4 -0
- package/dist/rules/require-existing-repository-hook-cwd.d.ts.map +1 -0
- package/dist/rules/require-existing-repository-hook-cwd.js +65 -0
- package/dist/rules/require-existing-repository-hook-cwd.js.map +1 -0
- package/dist/rules/require-github-copilot-target-for-mcp-servers.d.ts +4 -0
- package/dist/rules/require-github-copilot-target-for-mcp-servers.d.ts.map +1 -0
- package/dist/rules/require-github-copilot-target-for-mcp-servers.js +63 -0
- package/dist/rules/require-github-copilot-target-for-mcp-servers.js.map +1 -0
- package/dist/rules/require-instructions-apply-to.d.ts +4 -0
- package/dist/rules/require-instructions-apply-to.d.ts.map +1 -0
- package/dist/rules/require-instructions-apply-to.js +60 -0
- package/dist/rules/require-instructions-apply-to.js.map +1 -0
- package/dist/rules/require-json-agent-mcp-servers.d.ts +4 -0
- package/dist/rules/require-json-agent-mcp-servers.d.ts.map +1 -0
- package/dist/rules/require-json-agent-mcp-servers.js +58 -0
- package/dist/rules/require-json-agent-mcp-servers.js.map +1 -0
- package/dist/rules/require-prompt-file-metadata.d.ts +4 -0
- package/dist/rules/require-prompt-file-metadata.d.ts.map +1 -0
- package/dist/rules/require-prompt-file-metadata.js +104 -0
- package/dist/rules/require-prompt-file-metadata.js.map +1 -0
- package/dist/rules/require-qualified-agent-handoff-models.d.ts +4 -0
- package/dist/rules/require-qualified-agent-handoff-models.d.ts.map +1 -0
- package/dist/rules/require-qualified-agent-handoff-models.js +78 -0
- package/dist/rules/require-qualified-agent-handoff-models.js.map +1 -0
- package/dist/rules/require-relative-agent-hook-cwd.d.ts +4 -0
- package/dist/rules/require-relative-agent-hook-cwd.d.ts.map +1 -0
- package/dist/rules/require-relative-agent-hook-cwd.js +70 -0
- package/dist/rules/require-relative-agent-hook-cwd.js.map +1 -0
- package/dist/rules/require-relative-agent-links.d.ts +4 -0
- package/dist/rules/require-relative-agent-links.d.ts.map +1 -0
- package/dist/rules/require-relative-agent-links.js +58 -0
- package/dist/rules/require-relative-agent-links.js.map +1 -0
- package/dist/rules/require-relative-instructions-links.d.ts +4 -0
- package/dist/rules/require-relative-instructions-links.d.ts.map +1 -0
- package/dist/rules/require-relative-instructions-links.js +58 -0
- package/dist/rules/require-relative-instructions-links.js.map +1 -0
- package/dist/rules/require-relative-prompt-links.d.ts +4 -0
- package/dist/rules/require-relative-prompt-links.d.ts.map +1 -0
- package/dist/rules/require-relative-prompt-links.js +82 -0
- package/dist/rules/require-relative-prompt-links.js.map +1 -0
- package/dist/rules/require-relative-repository-hook-cwd.d.ts +4 -0
- package/dist/rules/require-relative-repository-hook-cwd.d.ts.map +1 -0
- package/dist/rules/require-relative-repository-hook-cwd.js +63 -0
- package/dist/rules/require-relative-repository-hook-cwd.js.map +1 -0
- package/dist/rules/require-relative-skill-links.d.ts +4 -0
- package/dist/rules/require-relative-skill-links.d.ts.map +1 -0
- package/dist/rules/require-relative-skill-links.js +58 -0
- package/dist/rules/require-relative-skill-links.js.map +1 -0
- package/dist/rules/require-repository-hook-arrays.d.ts +4 -0
- package/dist/rules/require-repository-hook-arrays.d.ts.map +1 -0
- package/dist/rules/require-repository-hook-arrays.js +54 -0
- package/dist/rules/require-repository-hook-arrays.js.map +1 -0
- package/dist/rules/require-repository-hook-command-shell.d.ts +4 -0
- package/dist/rules/require-repository-hook-command-shell.d.ts.map +1 -0
- package/dist/rules/require-repository-hook-command-shell.js +57 -0
- package/dist/rules/require-repository-hook-command-shell.js.map +1 -0
- package/dist/rules/require-repository-hooks-object.d.ts +4 -0
- package/dist/rules/require-repository-hooks-object.d.ts.map +1 -0
- package/dist/rules/require-repository-hooks-object.js +50 -0
- package/dist/rules/require-repository-hooks-object.js.map +1 -0
- package/dist/rules/require-repository-instructions-file.d.ts +4 -0
- package/dist/rules/require-repository-instructions-file.d.ts.map +1 -0
- package/dist/rules/require-repository-instructions-file.js +50 -0
- package/dist/rules/require-repository-instructions-file.js.map +1 -0
- package/dist/rules/require-skill-file-location.d.ts +4 -0
- package/dist/rules/require-skill-file-location.d.ts.map +1 -0
- package/dist/rules/require-skill-file-location.js +46 -0
- package/dist/rules/require-skill-file-location.js.map +1 -0
- package/dist/rules/require-skill-file-metadata.d.ts +4 -0
- package/dist/rules/require-skill-file-metadata.d.ts.map +1 -0
- package/dist/rules/require-skill-file-metadata.js +60 -0
- package/dist/rules/require-skill-file-metadata.js.map +1 -0
- package/dist/rules/require-skill-md-filename.d.ts +4 -0
- package/dist/rules/require-skill-md-filename.d.ts.map +1 -0
- package/dist/rules/require-skill-md-filename.js +55 -0
- package/dist/rules/require-skill-md-filename.js.map +1 -0
- package/dist/rules/require-skill-name-match-directory.d.ts +4 -0
- package/dist/rules/require-skill-name-match-directory.d.ts.map +1 -0
- package/dist/rules/require-skill-name-match-directory.js +59 -0
- package/dist/rules/require-skill-name-match-directory.js.map +1 -0
- package/dist/rules/require-string-repository-hook-env-values.d.ts +4 -0
- package/dist/rules/require-string-repository-hook-env-values.d.ts.map +1 -0
- package/dist/rules/require-string-repository-hook-env-values.js +59 -0
- package/dist/rules/require-string-repository-hook-env-values.js.map +1 -0
- package/dist/rules/require-valid-agent-argument-hint.d.ts +4 -0
- package/dist/rules/require-valid-agent-argument-hint.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-argument-hint.js +51 -0
- package/dist/rules/require-valid-agent-argument-hint.js.map +1 -0
- package/dist/rules/require-valid-agent-handoff-send.d.ts +4 -0
- package/dist/rules/require-valid-agent-handoff-send.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-handoff-send.js +67 -0
- package/dist/rules/require-valid-agent-handoff-send.js.map +1 -0
- package/dist/rules/require-valid-agent-handoffs.d.ts +4 -0
- package/dist/rules/require-valid-agent-handoffs.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-handoffs.js +78 -0
- package/dist/rules/require-valid-agent-handoffs.js.map +1 -0
- package/dist/rules/require-valid-agent-hook-events.d.ts +4 -0
- package/dist/rules/require-valid-agent-hook-events.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-hook-events.js +68 -0
- package/dist/rules/require-valid-agent-hook-events.js.map +1 -0
- package/dist/rules/require-valid-agent-hook-timeouts.d.ts +4 -0
- package/dist/rules/require-valid-agent-hook-timeouts.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-hook-timeouts.js +83 -0
- package/dist/rules/require-valid-agent-hook-timeouts.js.map +1 -0
- package/dist/rules/require-valid-agent-hooks.d.ts +4 -0
- package/dist/rules/require-valid-agent-hooks.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-hooks.js +86 -0
- package/dist/rules/require-valid-agent-hooks.js.map +1 -0
- package/dist/rules/require-valid-agent-invocation-controls.d.ts +4 -0
- package/dist/rules/require-valid-agent-invocation-controls.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-invocation-controls.js +71 -0
- package/dist/rules/require-valid-agent-invocation-controls.js.map +1 -0
- package/dist/rules/require-valid-agent-mcp-servers.d.ts +4 -0
- package/dist/rules/require-valid-agent-mcp-servers.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-mcp-servers.js +64 -0
- package/dist/rules/require-valid-agent-mcp-servers.js.map +1 -0
- package/dist/rules/require-valid-agent-model.d.ts +4 -0
- package/dist/rules/require-valid-agent-model.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-model.js +64 -0
- package/dist/rules/require-valid-agent-model.js.map +1 -0
- package/dist/rules/require-valid-agent-name.d.ts +4 -0
- package/dist/rules/require-valid-agent-name.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-name.js +51 -0
- package/dist/rules/require-valid-agent-name.js.map +1 -0
- package/dist/rules/require-valid-agent-subagents.d.ts +4 -0
- package/dist/rules/require-valid-agent-subagents.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-subagents.js +79 -0
- package/dist/rules/require-valid-agent-subagents.js.map +1 -0
- package/dist/rules/require-valid-agent-target.d.ts +4 -0
- package/dist/rules/require-valid-agent-target.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-target.js +62 -0
- package/dist/rules/require-valid-agent-target.js.map +1 -0
- package/dist/rules/require-valid-agent-tools.d.ts +4 -0
- package/dist/rules/require-valid-agent-tools.d.ts.map +1 -0
- package/dist/rules/require-valid-agent-tools.js +64 -0
- package/dist/rules/require-valid-agent-tools.js.map +1 -0
- package/dist/rules/require-valid-instructions-apply-to-globs.d.ts +4 -0
- package/dist/rules/require-valid-instructions-apply-to-globs.d.ts.map +1 -0
- package/dist/rules/require-valid-instructions-apply-to-globs.js +79 -0
- package/dist/rules/require-valid-instructions-apply-to-globs.js.map +1 -0
- package/dist/rules/require-valid-prompt-argument-hint.d.ts +4 -0
- package/dist/rules/require-valid-prompt-argument-hint.d.ts.map +1 -0
- package/dist/rules/require-valid-prompt-argument-hint.js +52 -0
- package/dist/rules/require-valid-prompt-argument-hint.js.map +1 -0
- package/dist/rules/require-valid-prompt-model.d.ts +4 -0
- package/dist/rules/require-valid-prompt-model.d.ts.map +1 -0
- package/dist/rules/require-valid-prompt-model.js +77 -0
- package/dist/rules/require-valid-prompt-model.js.map +1 -0
- package/dist/rules/require-valid-prompt-name.d.ts +4 -0
- package/dist/rules/require-valid-prompt-name.d.ts.map +1 -0
- package/dist/rules/require-valid-prompt-name.js +51 -0
- package/dist/rules/require-valid-prompt-name.js.map +1 -0
- package/dist/rules/require-valid-prompt-tools.d.ts +4 -0
- package/dist/rules/require-valid-prompt-tools.d.ts.map +1 -0
- package/dist/rules/require-valid-prompt-tools.js +64 -0
- package/dist/rules/require-valid-prompt-tools.js.map +1 -0
- package/dist/rules/require-valid-repository-hook-command-type.d.ts +4 -0
- package/dist/rules/require-valid-repository-hook-command-type.d.ts.map +1 -0
- package/dist/rules/require-valid-repository-hook-command-type.js +58 -0
- package/dist/rules/require-valid-repository-hook-command-type.js.map +1 -0
- package/dist/rules/require-valid-repository-hook-env.d.ts +4 -0
- package/dist/rules/require-valid-repository-hook-env.d.ts.map +1 -0
- package/dist/rules/require-valid-repository-hook-env.js +57 -0
- package/dist/rules/require-valid-repository-hook-env.js.map +1 -0
- package/dist/rules/require-valid-repository-hook-events.d.ts +4 -0
- package/dist/rules/require-valid-repository-hook-events.d.ts.map +1 -0
- package/dist/rules/require-valid-repository-hook-events.js +55 -0
- package/dist/rules/require-valid-repository-hook-events.js.map +1 -0
- package/dist/rules/require-valid-repository-hook-timeouts.d.ts +4 -0
- package/dist/rules/require-valid-repository-hook-timeouts.d.ts.map +1 -0
- package/dist/rules/require-valid-repository-hook-timeouts.js +59 -0
- package/dist/rules/require-valid-repository-hook-timeouts.js.map +1 -0
- package/dist/rules/require-valid-repository-hook-version.d.ts +4 -0
- package/dist/rules/require-valid-repository-hook-version.d.ts.map +1 -0
- package/dist/rules/require-valid-repository-hook-version.js +53 -0
- package/dist/rules/require-valid-repository-hook-version.js.map +1 -0
- package/dist/rules/require-valid-skill-directory-name.d.ts +4 -0
- package/dist/rules/require-valid-skill-directory-name.d.ts.map +1 -0
- package/dist/rules/require-valid-skill-directory-name.js +50 -0
- package/dist/rules/require-valid-skill-directory-name.js.map +1 -0
- package/dist/rules/require-valid-skill-license.d.ts +4 -0
- package/dist/rules/require-valid-skill-license.d.ts.map +1 -0
- package/dist/rules/require-valid-skill-license.js +47 -0
- package/dist/rules/require-valid-skill-license.js.map +1 -0
- package/dist/rules/require-valid-skill-name.d.ts +4 -0
- package/dist/rules/require-valid-skill-name.d.ts.map +1 -0
- package/dist/rules/require-valid-skill-name.js +57 -0
- package/dist/rules/require-valid-skill-name.js.map +1 -0
- package/docs/rules/getting-started.md +24 -0
- package/docs/rules/guides/copilot-customization-files.md +17 -0
- package/docs/rules/no-blank-customization-body.md +52 -0
- package/docs/rules/no-blank-repository-instructions.md +37 -0
- package/docs/rules/no-blank-skill-body.md +41 -0
- package/docs/rules/no-deprecated-agent-infer.md +42 -0
- package/docs/rules/no-duplicate-agent-names.md +36 -0
- package/docs/rules/no-duplicate-prompt-names.md +36 -0
- package/docs/rules/no-duplicate-skill-names.md +37 -0
- package/docs/rules/no-duplicate-slash-command-names.md +40 -0
- package/docs/rules/no-empty-repository-hook-arrays.md +44 -0
- package/docs/rules/no-legacy-chatmode-files.md +53 -0
- package/docs/rules/overview.md +27 -0
- package/docs/rules/prefer-custom-instructions-under-code-review-limit.md +39 -0
- package/docs/rules/prefer-fast-repository-hooks.md +43 -0
- package/docs/rules/prefer-qualified-tools.md +49 -0
- package/docs/rules/presets/all.md +82 -0
- package/docs/rules/presets/index.md +78 -0
- package/docs/rules/presets/minimal.md +16 -0
- package/docs/rules/presets/recommended.md +67 -0
- package/docs/rules/presets/strict.md +81 -0
- package/docs/rules/require-agent-tool-for-subagents.md +44 -0
- package/docs/rules/require-agents-md-for-cross-surface-agent-instructions.md +39 -0
- package/docs/rules/require-chatmode-file-metadata.md +41 -0
- package/docs/rules/require-existing-agent-hook-cwd.md +51 -0
- package/docs/rules/require-existing-agent-mcp-servers.md +43 -0
- package/docs/rules/require-existing-relative-agent-links.md +41 -0
- package/docs/rules/require-existing-relative-instructions-links.md +43 -0
- package/docs/rules/require-existing-relative-prompt-links.md +41 -0
- package/docs/rules/require-existing-relative-skill-links.md +44 -0
- package/docs/rules/require-existing-repository-hook-cwd.md +45 -0
- package/docs/rules/require-github-copilot-target-for-mcp-servers.md +46 -0
- package/docs/rules/require-instructions-apply-to.md +40 -0
- package/docs/rules/require-json-agent-mcp-servers.md +41 -0
- package/docs/rules/require-prompt-file-metadata.md +45 -0
- package/docs/rules/require-qualified-agent-handoff-models.md +47 -0
- package/docs/rules/require-relative-agent-hook-cwd.md +50 -0
- package/docs/rules/require-relative-agent-links.md +40 -0
- package/docs/rules/require-relative-instructions-links.md +42 -0
- package/docs/rules/require-relative-prompt-links.md +43 -0
- package/docs/rules/require-relative-repository-hook-cwd.md +43 -0
- package/docs/rules/require-relative-skill-links.md +42 -0
- package/docs/rules/require-repository-hook-arrays.md +33 -0
- package/docs/rules/require-repository-hook-command-shell.md +44 -0
- package/docs/rules/require-repository-hooks-object.md +34 -0
- package/docs/rules/require-repository-instructions-file.md +42 -0
- package/docs/rules/require-skill-file-location.md +33 -0
- package/docs/rules/require-skill-file-metadata.md +40 -0
- package/docs/rules/require-skill-md-filename.md +43 -0
- package/docs/rules/require-skill-name-match-directory.md +46 -0
- package/docs/rules/require-string-repository-hook-env-values.md +43 -0
- package/docs/rules/require-valid-agent-argument-hint.md +42 -0
- package/docs/rules/require-valid-agent-handoff-send.md +49 -0
- package/docs/rules/require-valid-agent-handoffs.md +51 -0
- package/docs/rules/require-valid-agent-hook-events.md +47 -0
- package/docs/rules/require-valid-agent-hook-timeouts.md +49 -0
- package/docs/rules/require-valid-agent-hooks.md +49 -0
- package/docs/rules/require-valid-agent-invocation-controls.md +45 -0
- package/docs/rules/require-valid-agent-mcp-servers.md +45 -0
- package/docs/rules/require-valid-agent-model.md +43 -0
- package/docs/rules/require-valid-agent-name.md +42 -0
- package/docs/rules/require-valid-agent-subagents.md +52 -0
- package/docs/rules/require-valid-agent-target.md +44 -0
- package/docs/rules/require-valid-agent-tools.md +43 -0
- package/docs/rules/require-valid-instructions-apply-to-globs.md +45 -0
- package/docs/rules/require-valid-prompt-argument-hint.md +42 -0
- package/docs/rules/require-valid-prompt-model.md +45 -0
- package/docs/rules/require-valid-prompt-name.md +42 -0
- package/docs/rules/require-valid-prompt-tools.md +43 -0
- package/docs/rules/require-valid-repository-hook-command-type.md +45 -0
- package/docs/rules/require-valid-repository-hook-env.md +43 -0
- package/docs/rules/require-valid-repository-hook-events.md +34 -0
- package/docs/rules/require-valid-repository-hook-timeouts.md +43 -0
- package/docs/rules/require-valid-repository-hook-version.md +34 -0
- package/docs/rules/require-valid-skill-directory-name.md +34 -0
- package/docs/rules/require-valid-skill-license.md +45 -0
- package/docs/rules/require-valid-skill-name.md +43 -0
- package/package.json +562 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Shared JSON helpers for repository hook configuration rules.
|
|
4
|
+
*/
|
|
5
|
+
/** Default repository hook timeout used by GitHub Copilot. */
|
|
6
|
+
export const DEFAULT_REPOSITORY_HOOK_TIMEOUT_SECONDS = 30;
|
|
7
|
+
/** Known valid repository hook event names. */
|
|
8
|
+
export const VALID_REPOSITORY_HOOK_EVENT_NAMES = new Set([
|
|
9
|
+
"agentStop",
|
|
10
|
+
"errorOccurred",
|
|
11
|
+
"postToolUse",
|
|
12
|
+
"preToolUse",
|
|
13
|
+
"sessionEnd",
|
|
14
|
+
"sessionStart",
|
|
15
|
+
"subagentStop",
|
|
16
|
+
"userPromptSubmitted",
|
|
17
|
+
]);
|
|
18
|
+
/** Known valid repository hook types. */
|
|
19
|
+
export const VALID_REPOSITORY_HOOK_TYPES = new Set(["command", "prompt"]);
|
|
20
|
+
/** Determine whether a string is a supported repository hook event name. */
|
|
21
|
+
export const isRepositoryHookEventName = (value) => VALID_REPOSITORY_HOOK_EVENT_NAMES.has(value);
|
|
22
|
+
/** Determine whether a string is a supported repository hook type. */
|
|
23
|
+
export const isRepositoryHookType = (value) => VALID_REPOSITORY_HOOK_TYPES.has(value);
|
|
24
|
+
/** Determine whether a parsed JSON value is an object. */
|
|
25
|
+
export const isJsonObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
26
|
+
/** Determine whether a parsed JSON value is an array. */
|
|
27
|
+
export const isJsonArray = (value) => Array.isArray(value);
|
|
28
|
+
/** Determine whether a parsed JSON value is a string. */
|
|
29
|
+
export const isJsonString = (value) => typeof value === "string";
|
|
30
|
+
/** Determine whether a parsed JSON value is a finite number. */
|
|
31
|
+
export const isJsonNumber = (value) => typeof value === "number" && Number.isFinite(value);
|
|
32
|
+
/** Safely parse JSON source text. */
|
|
33
|
+
export const parseJsonText = (text) => {
|
|
34
|
+
try {
|
|
35
|
+
return JSON.parse(text);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
/** Get the top-level `hooks` value when present. */
|
|
42
|
+
export const getRepositoryHooksValue = (root) => (isJsonObject(root) ? root["hooks"] : undefined);
|
|
43
|
+
/** Get the top-level `version` value when present. */
|
|
44
|
+
export const getRepositoryHooksVersionValue = (root) => (isJsonObject(root) ? root["version"] : undefined);
|
|
45
|
+
/** Get key/value entries from the `hooks` object when present. */
|
|
46
|
+
export const getRepositoryHookEventEntries = (root) => {
|
|
47
|
+
const hooksValue = getRepositoryHooksValue(root);
|
|
48
|
+
return isJsonObject(hooksValue) ? Object.entries(hooksValue) : [];
|
|
49
|
+
};
|
|
50
|
+
/** Collect object-shaped hook entries from hook arrays. */
|
|
51
|
+
export const getRepositoryHookObjects = (root) => {
|
|
52
|
+
const hookEntries = [];
|
|
53
|
+
for (const [eventName, eventValue] of getRepositoryHookEventEntries(root)) {
|
|
54
|
+
if (!isJsonArray(eventValue)) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
for (const [index, hookValue] of eventValue.entries()) {
|
|
58
|
+
if (!isJsonObject(hookValue)) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
hookEntries.push({
|
|
62
|
+
eventName,
|
|
63
|
+
hook: hookValue,
|
|
64
|
+
index,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return hookEntries;
|
|
69
|
+
};
|
|
70
|
+
/** Format a parsed JSON value for diagnostic messages. */
|
|
71
|
+
export const formatJsonValue = (value) => {
|
|
72
|
+
if (value === undefined) {
|
|
73
|
+
return "(missing)";
|
|
74
|
+
}
|
|
75
|
+
if (typeof value === "string") {
|
|
76
|
+
return value;
|
|
77
|
+
}
|
|
78
|
+
return JSON.stringify(value);
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=repository-hooks-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository-hooks-json.js","sourceRoot":"","sources":["../../src/_internal/repository-hooks-json.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Stable catalog ids for eslint-plugin-copilot rules.
|
|
4
|
+
*/
|
|
5
|
+
/** Catalog metadata for a single Copilot rule. */
|
|
6
|
+
export type CopilotRuleCatalogEntry = Readonly<{
|
|
7
|
+
ruleId: CopilotRuleCatalogId;
|
|
8
|
+
ruleName: CopilotRuleNamePattern;
|
|
9
|
+
ruleNumber: number;
|
|
10
|
+
}>;
|
|
11
|
+
/** Stable machine-friendly rule id format (for example: `R001`). */
|
|
12
|
+
export type CopilotRuleCatalogId = `R${string}`;
|
|
13
|
+
/** Pattern for unqualified rule names supported by eslint-plugin-copilot. */
|
|
14
|
+
type CopilotRuleNamePattern = "no-blank-customization-body" | "no-blank-repository-instructions" | "no-blank-skill-body" | "no-deprecated-agent-infer" | "no-duplicate-agent-names" | "no-duplicate-prompt-names" | "no-duplicate-skill-names" | "no-duplicate-slash-command-names" | "no-empty-repository-hook-arrays" | "no-legacy-chatmode-files" | "prefer-custom-instructions-under-code-review-limit" | "prefer-fast-repository-hooks" | "prefer-qualified-tools" | "require-agent-tool-for-subagents" | "require-agents-md-for-cross-surface-agent-instructions" | "require-chatmode-file-metadata" | "require-existing-agent-hook-cwd" | "require-existing-agent-mcp-servers" | "require-existing-relative-agent-links" | "require-existing-relative-instructions-links" | "require-existing-relative-prompt-links" | "require-existing-relative-skill-links" | "require-existing-repository-hook-cwd" | "require-github-copilot-target-for-mcp-servers" | "require-instructions-apply-to" | "require-json-agent-mcp-servers" | "require-prompt-file-metadata" | "require-qualified-agent-handoff-models" | "require-relative-agent-hook-cwd" | "require-relative-agent-links" | "require-relative-instructions-links" | "require-relative-prompt-links" | "require-relative-repository-hook-cwd" | "require-relative-skill-links" | "require-repository-hook-arrays" | "require-repository-hook-command-shell" | "require-repository-hooks-object" | "require-repository-instructions-file" | "require-skill-file-location" | "require-skill-file-metadata" | "require-skill-md-filename" | "require-skill-name-match-directory" | "require-string-repository-hook-env-values" | "require-valid-agent-argument-hint" | "require-valid-agent-handoff-send" | "require-valid-agent-handoffs" | "require-valid-agent-hook-events" | "require-valid-agent-hook-timeouts" | "require-valid-agent-hooks" | "require-valid-agent-invocation-controls" | "require-valid-agent-mcp-servers" | "require-valid-agent-model" | "require-valid-agent-name" | "require-valid-agent-subagents" | "require-valid-agent-target" | "require-valid-agent-tools" | "require-valid-instructions-apply-to-globs" | "require-valid-prompt-argument-hint" | "require-valid-prompt-model" | "require-valid-prompt-name" | "require-valid-prompt-tools" | "require-valid-repository-hook-command-type" | "require-valid-repository-hook-env" | "require-valid-repository-hook-events" | "require-valid-repository-hook-timeouts" | "require-valid-repository-hook-version" | "require-valid-skill-directory-name" | "require-valid-skill-license" | "require-valid-skill-name";
|
|
15
|
+
/** Canonical catalog metadata entries in stable display/order form. */
|
|
16
|
+
export declare const copilotRuleCatalogEntries: readonly CopilotRuleCatalogEntry[];
|
|
17
|
+
/** Resolve stable catalog metadata for a rule name. */
|
|
18
|
+
export declare const getRuleCatalogEntryForRuleName: (ruleName: string) => CopilotRuleCatalogEntry;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=rule-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-catalog.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kDAAkD;AAClD,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,oEAAoE;AACpE,MAAM,MAAM,oBAAoB,GAAG,IAAI,MAAM,EAAE,CAAC;AAEhD,6EAA6E;AAC7E,KAAK,sBAAsB,GACrB,6BAA6B,GAC7B,kCAAkC,GAClC,qBAAqB,GACrB,2BAA2B,GAC3B,0BAA0B,GAC1B,2BAA2B,GAC3B,0BAA0B,GAC1B,kCAAkC,GAClC,iCAAiC,GACjC,0BAA0B,GAC1B,oDAAoD,GACpD,8BAA8B,GAC9B,wBAAwB,GACxB,kCAAkC,GAClC,wDAAwD,GACxD,gCAAgC,GAChC,iCAAiC,GACjC,oCAAoC,GACpC,uCAAuC,GACvC,8CAA8C,GAC9C,wCAAwC,GACxC,uCAAuC,GACvC,sCAAsC,GACtC,+CAA+C,GAC/C,+BAA+B,GAC/B,gCAAgC,GAChC,8BAA8B,GAC9B,wCAAwC,GACxC,iCAAiC,GACjC,8BAA8B,GAC9B,qCAAqC,GACrC,+BAA+B,GAC/B,sCAAsC,GACtC,8BAA8B,GAC9B,gCAAgC,GAChC,uCAAuC,GACvC,iCAAiC,GACjC,sCAAsC,GACtC,6BAA6B,GAC7B,6BAA6B,GAC7B,2BAA2B,GAC3B,oCAAoC,GACpC,2CAA2C,GAC3C,mCAAmC,GACnC,kCAAkC,GAClC,8BAA8B,GAC9B,iCAAiC,GACjC,mCAAmC,GACnC,2BAA2B,GAC3B,yCAAyC,GACzC,iCAAiC,GACjC,2BAA2B,GAC3B,0BAA0B,GAC1B,+BAA+B,GAC/B,4BAA4B,GAC5B,2BAA2B,GAC3B,2CAA2C,GAC3C,oCAAoC,GACpC,4BAA4B,GAC5B,2BAA2B,GAC3B,4BAA4B,GAC5B,4CAA4C,GAC5C,mCAAmC,GACnC,sCAAsC,GACtC,wCAAwC,GACxC,uCAAuC,GACvC,oCAAoC,GACpC,6BAA6B,GAC7B,0BAA0B,CAAC;AA8EjC,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,EAAE,SAAS,uBAAuB,EASlE,CAAC;AAOP,uDAAuD;AACvD,eAAO,MAAM,8BAA8B,GACvC,UAAU,MAAM,KACjB,uBAYF,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Stable catalog ids for eslint-plugin-copilot rules.
|
|
4
|
+
*/
|
|
5
|
+
/** Stable global ordering used for rule catalog ids. */
|
|
6
|
+
const orderedRuleNames = [
|
|
7
|
+
"require-instructions-apply-to",
|
|
8
|
+
"require-prompt-file-metadata",
|
|
9
|
+
"require-chatmode-file-metadata",
|
|
10
|
+
"no-blank-repository-instructions",
|
|
11
|
+
"require-repository-instructions-file",
|
|
12
|
+
"prefer-qualified-tools",
|
|
13
|
+
"no-deprecated-agent-infer",
|
|
14
|
+
"require-agent-tool-for-subagents",
|
|
15
|
+
"no-blank-customization-body",
|
|
16
|
+
"require-github-copilot-target-for-mcp-servers",
|
|
17
|
+
"no-legacy-chatmode-files",
|
|
18
|
+
"require-valid-agent-handoffs",
|
|
19
|
+
"require-qualified-agent-handoff-models",
|
|
20
|
+
"require-valid-agent-hook-events",
|
|
21
|
+
"require-valid-agent-hooks",
|
|
22
|
+
"require-valid-agent-hook-timeouts",
|
|
23
|
+
"require-valid-agent-subagents",
|
|
24
|
+
"require-relative-agent-hook-cwd",
|
|
25
|
+
"require-valid-agent-target",
|
|
26
|
+
"require-valid-agent-invocation-controls",
|
|
27
|
+
"require-valid-agent-handoff-send",
|
|
28
|
+
"require-valid-agent-model",
|
|
29
|
+
"require-valid-agent-mcp-servers",
|
|
30
|
+
"require-relative-prompt-links",
|
|
31
|
+
"require-valid-agent-tools",
|
|
32
|
+
"require-valid-prompt-model",
|
|
33
|
+
"require-valid-prompt-tools",
|
|
34
|
+
"require-relative-agent-links",
|
|
35
|
+
"require-relative-instructions-links",
|
|
36
|
+
"require-existing-relative-prompt-links",
|
|
37
|
+
"require-existing-relative-agent-links",
|
|
38
|
+
"require-existing-relative-instructions-links",
|
|
39
|
+
"require-existing-agent-mcp-servers",
|
|
40
|
+
"require-json-agent-mcp-servers",
|
|
41
|
+
"require-existing-agent-hook-cwd",
|
|
42
|
+
"prefer-custom-instructions-under-code-review-limit",
|
|
43
|
+
"require-agents-md-for-cross-surface-agent-instructions",
|
|
44
|
+
"no-duplicate-prompt-names",
|
|
45
|
+
"no-duplicate-agent-names",
|
|
46
|
+
"require-valid-prompt-name",
|
|
47
|
+
"require-valid-prompt-argument-hint",
|
|
48
|
+
"require-valid-agent-name",
|
|
49
|
+
"require-valid-agent-argument-hint",
|
|
50
|
+
"require-valid-instructions-apply-to-globs",
|
|
51
|
+
"require-skill-file-location",
|
|
52
|
+
"require-skill-file-metadata",
|
|
53
|
+
"no-blank-skill-body",
|
|
54
|
+
"require-valid-skill-name",
|
|
55
|
+
"require-valid-skill-directory-name",
|
|
56
|
+
"require-skill-name-match-directory",
|
|
57
|
+
"require-valid-skill-license",
|
|
58
|
+
"require-relative-skill-links",
|
|
59
|
+
"require-existing-relative-skill-links",
|
|
60
|
+
"no-duplicate-skill-names",
|
|
61
|
+
"require-skill-md-filename",
|
|
62
|
+
"require-valid-repository-hook-version",
|
|
63
|
+
"require-repository-hooks-object",
|
|
64
|
+
"require-repository-hook-arrays",
|
|
65
|
+
"require-valid-repository-hook-events",
|
|
66
|
+
"require-valid-repository-hook-command-type",
|
|
67
|
+
"require-repository-hook-command-shell",
|
|
68
|
+
"require-relative-repository-hook-cwd",
|
|
69
|
+
"require-existing-repository-hook-cwd",
|
|
70
|
+
"require-valid-repository-hook-timeouts",
|
|
71
|
+
"require-valid-repository-hook-env",
|
|
72
|
+
"require-string-repository-hook-env-values",
|
|
73
|
+
"no-empty-repository-hook-arrays",
|
|
74
|
+
"prefer-fast-repository-hooks",
|
|
75
|
+
"no-duplicate-slash-command-names",
|
|
76
|
+
];
|
|
77
|
+
const toRuleCatalogId = (ruleNumber) => `R${String(ruleNumber).padStart(3, "0")}`;
|
|
78
|
+
/** Canonical catalog metadata entries in stable display/order form. */
|
|
79
|
+
export const copilotRuleCatalogEntries = orderedRuleNames.map((ruleName, index) => {
|
|
80
|
+
const ruleNumber = index + 1;
|
|
81
|
+
return {
|
|
82
|
+
ruleId: toRuleCatalogId(ruleNumber),
|
|
83
|
+
ruleName,
|
|
84
|
+
ruleNumber,
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
/** Fast lookup map for rule catalog metadata by rule name. */
|
|
88
|
+
const copilotRuleCatalogByRuleName = new Map(copilotRuleCatalogEntries.map((entry) => [entry.ruleName, entry]));
|
|
89
|
+
/** Resolve stable catalog metadata for a rule name. */
|
|
90
|
+
export const getRuleCatalogEntryForRuleName = (ruleName) => {
|
|
91
|
+
const entry = copilotRuleCatalogByRuleName.get(ruleName);
|
|
92
|
+
if (entry === undefined) {
|
|
93
|
+
throw new TypeError(`Rule '${ruleName}' is missing from the stable rule catalog.`);
|
|
94
|
+
}
|
|
95
|
+
return entry;
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=rule-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-catalog.js","sourceRoot":"","sources":["../../src/_internal/rule-catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoFH,wDAAwD;AACxD,MAAM,gBAAgB,GAAG;IACrB,+BAA+B;IAC/B,8BAA8B;IAC9B,gCAAgC;IAChC,kCAAkC;IAClC,sCAAsC;IACtC,wBAAwB;IACxB,2BAA2B;IAC3B,kCAAkC;IAClC,6BAA6B;IAC7B,+CAA+C;IAC/C,0BAA0B;IAC1B,8BAA8B;IAC9B,wCAAwC;IACxC,iCAAiC;IACjC,2BAA2B;IAC3B,mCAAmC;IACnC,+BAA+B;IAC/B,iCAAiC;IACjC,4BAA4B;IAC5B,yCAAyC;IACzC,kCAAkC;IAClC,2BAA2B;IAC3B,iCAAiC;IACjC,+BAA+B;IAC/B,2BAA2B;IAC3B,4BAA4B;IAC5B,4BAA4B;IAC5B,8BAA8B;IAC9B,qCAAqC;IACrC,wCAAwC;IACxC,uCAAuC;IACvC,8CAA8C;IAC9C,oCAAoC;IACpC,gCAAgC;IAChC,iCAAiC;IACjC,oDAAoD;IACpD,wDAAwD;IACxD,2BAA2B;IAC3B,0BAA0B;IAC1B,2BAA2B;IAC3B,oCAAoC;IACpC,0BAA0B;IAC1B,mCAAmC;IACnC,2CAA2C;IAC3C,6BAA6B;IAC7B,6BAA6B;IAC7B,qBAAqB;IACrB,0BAA0B;IAC1B,oCAAoC;IACpC,oCAAoC;IACpC,6BAA6B;IAC7B,8BAA8B;IAC9B,uCAAuC;IACvC,0BAA0B;IAC1B,2BAA2B;IAC3B,uCAAuC;IACvC,iCAAiC;IACjC,gCAAgC;IAChC,sCAAsC;IACtC,4CAA4C;IAC5C,uCAAuC;IACvC,sCAAsC;IACtC,sCAAsC;IACtC,wCAAwC;IACxC,mCAAmC;IACnC,2CAA2C;IAC3C,iCAAiC;IACjC,8BAA8B;IAC9B,kCAAkC;CACgB,CAAC;AAEvD,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAwB,EAAE,CACjE,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAE9C,uEAAuE;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAClC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;IACrC,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;IAE7B,OAAO;QACH,MAAM,EAAE,eAAe,CAAC,UAAU,CAAC;QACnC,QAAQ;QACR,UAAU;KACb,CAAC;AACN,CAAC,CAAC,CAAC;AAEP,8DAA8D;AAC9D,MAAM,4BAA4B,GAAG,IAAI,GAAG,CACxC,yBAAyB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CACpE,CAAC;AAEF,uDAAuD;AACvD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC1C,QAAgB,EACO,EAAE;IACzB,MAAM,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAC1C,QAAkC,CACrC,CAAC;IAEF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CACf,SAAS,QAAQ,4CAA4C,CAChE,CAAC;IACN,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Canonical rule documentation URL helpers.
|
|
4
|
+
*/
|
|
5
|
+
/** Stable docs host/prefix for generated rule docs links. */
|
|
6
|
+
export declare const RULE_DOCS_URL_BASE: "https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/";
|
|
7
|
+
/** Build the canonical documentation URL for one Copilot rule. */
|
|
8
|
+
export declare const createRuleDocsUrl: (ruleName: string) => string;
|
|
9
|
+
//# sourceMappingURL=rule-docs-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-docs-url.d.ts","sourceRoot":"","sources":["../../src/_internal/rule-docs-url.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,EAC3B,gEAAyE,CAAC;AAE9E,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,KAAG,MACf,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Canonical rule documentation URL helpers.
|
|
4
|
+
*/
|
|
5
|
+
/** Stable docs host/prefix for generated rule docs links. */
|
|
6
|
+
export const RULE_DOCS_URL_BASE = "https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/";
|
|
7
|
+
/** Build the canonical documentation URL for one Copilot rule. */
|
|
8
|
+
export const createRuleDocsUrl = (ruleName) => `${RULE_DOCS_URL_BASE}${ruleName}`;
|
|
9
|
+
//# sourceMappingURL=rule-docs-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-docs-url.js","sourceRoot":"","sources":["../../src/_internal/rule-docs-url.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAC3B,gEAAyE,CAAC;AAE9E,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC1D,GAAG,kBAAkB,GAAG,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Canonical runtime registry of all rule modules shipped by eslint-plugin-copilot.
|
|
4
|
+
*/
|
|
5
|
+
import type { CopilotRuleModule } from "./create-copilot-rule.js";
|
|
6
|
+
/** Runtime rule module shape used by registry and preset builders. */
|
|
7
|
+
export type RuleWithDocs = CopilotRuleModule;
|
|
8
|
+
/** Exact runtime rule registry shape. */
|
|
9
|
+
type CopilotRuleRegistry = Readonly<{
|
|
10
|
+
"no-blank-customization-body": RuleWithDocs;
|
|
11
|
+
"no-blank-repository-instructions": RuleWithDocs;
|
|
12
|
+
"no-blank-skill-body": RuleWithDocs;
|
|
13
|
+
"no-deprecated-agent-infer": RuleWithDocs;
|
|
14
|
+
"no-duplicate-agent-names": RuleWithDocs;
|
|
15
|
+
"no-duplicate-prompt-names": RuleWithDocs;
|
|
16
|
+
"no-duplicate-skill-names": RuleWithDocs;
|
|
17
|
+
"no-duplicate-slash-command-names": RuleWithDocs;
|
|
18
|
+
"no-empty-repository-hook-arrays": RuleWithDocs;
|
|
19
|
+
"no-legacy-chatmode-files": RuleWithDocs;
|
|
20
|
+
"prefer-custom-instructions-under-code-review-limit": RuleWithDocs;
|
|
21
|
+
"prefer-fast-repository-hooks": RuleWithDocs;
|
|
22
|
+
"prefer-qualified-tools": RuleWithDocs;
|
|
23
|
+
"require-agent-tool-for-subagents": RuleWithDocs;
|
|
24
|
+
"require-agents-md-for-cross-surface-agent-instructions": RuleWithDocs;
|
|
25
|
+
"require-chatmode-file-metadata": RuleWithDocs;
|
|
26
|
+
"require-existing-agent-hook-cwd": RuleWithDocs;
|
|
27
|
+
"require-existing-agent-mcp-servers": RuleWithDocs;
|
|
28
|
+
"require-existing-relative-agent-links": RuleWithDocs;
|
|
29
|
+
"require-existing-relative-instructions-links": RuleWithDocs;
|
|
30
|
+
"require-existing-relative-prompt-links": RuleWithDocs;
|
|
31
|
+
"require-existing-relative-skill-links": RuleWithDocs;
|
|
32
|
+
"require-existing-repository-hook-cwd": RuleWithDocs;
|
|
33
|
+
"require-github-copilot-target-for-mcp-servers": RuleWithDocs;
|
|
34
|
+
"require-instructions-apply-to": RuleWithDocs;
|
|
35
|
+
"require-json-agent-mcp-servers": RuleWithDocs;
|
|
36
|
+
"require-prompt-file-metadata": RuleWithDocs;
|
|
37
|
+
"require-qualified-agent-handoff-models": RuleWithDocs;
|
|
38
|
+
"require-relative-agent-hook-cwd": RuleWithDocs;
|
|
39
|
+
"require-relative-agent-links": RuleWithDocs;
|
|
40
|
+
"require-relative-instructions-links": RuleWithDocs;
|
|
41
|
+
"require-relative-prompt-links": RuleWithDocs;
|
|
42
|
+
"require-relative-repository-hook-cwd": RuleWithDocs;
|
|
43
|
+
"require-relative-skill-links": RuleWithDocs;
|
|
44
|
+
"require-repository-hook-arrays": RuleWithDocs;
|
|
45
|
+
"require-repository-hook-command-shell": RuleWithDocs;
|
|
46
|
+
"require-repository-hooks-object": RuleWithDocs;
|
|
47
|
+
"require-repository-instructions-file": RuleWithDocs;
|
|
48
|
+
"require-skill-file-location": RuleWithDocs;
|
|
49
|
+
"require-skill-file-metadata": RuleWithDocs;
|
|
50
|
+
"require-skill-md-filename": RuleWithDocs;
|
|
51
|
+
"require-skill-name-match-directory": RuleWithDocs;
|
|
52
|
+
"require-string-repository-hook-env-values": RuleWithDocs;
|
|
53
|
+
"require-valid-agent-argument-hint": RuleWithDocs;
|
|
54
|
+
"require-valid-agent-handoff-send": RuleWithDocs;
|
|
55
|
+
"require-valid-agent-handoffs": RuleWithDocs;
|
|
56
|
+
"require-valid-agent-hook-events": RuleWithDocs;
|
|
57
|
+
"require-valid-agent-hook-timeouts": RuleWithDocs;
|
|
58
|
+
"require-valid-agent-hooks": RuleWithDocs;
|
|
59
|
+
"require-valid-agent-invocation-controls": RuleWithDocs;
|
|
60
|
+
"require-valid-agent-mcp-servers": RuleWithDocs;
|
|
61
|
+
"require-valid-agent-model": RuleWithDocs;
|
|
62
|
+
"require-valid-agent-name": RuleWithDocs;
|
|
63
|
+
"require-valid-agent-subagents": RuleWithDocs;
|
|
64
|
+
"require-valid-agent-target": RuleWithDocs;
|
|
65
|
+
"require-valid-agent-tools": RuleWithDocs;
|
|
66
|
+
"require-valid-instructions-apply-to-globs": RuleWithDocs;
|
|
67
|
+
"require-valid-prompt-argument-hint": RuleWithDocs;
|
|
68
|
+
"require-valid-prompt-model": RuleWithDocs;
|
|
69
|
+
"require-valid-prompt-name": RuleWithDocs;
|
|
70
|
+
"require-valid-prompt-tools": RuleWithDocs;
|
|
71
|
+
"require-valid-repository-hook-command-type": RuleWithDocs;
|
|
72
|
+
"require-valid-repository-hook-env": RuleWithDocs;
|
|
73
|
+
"require-valid-repository-hook-events": RuleWithDocs;
|
|
74
|
+
"require-valid-repository-hook-timeouts": RuleWithDocs;
|
|
75
|
+
"require-valid-repository-hook-version": RuleWithDocs;
|
|
76
|
+
"require-valid-skill-directory-name": RuleWithDocs;
|
|
77
|
+
"require-valid-skill-license": RuleWithDocs;
|
|
78
|
+
"require-valid-skill-name": RuleWithDocs;
|
|
79
|
+
}>;
|
|
80
|
+
/** Exported typed view consumed by the plugin entrypoint. */
|
|
81
|
+
export declare const copilotRules: CopilotRuleRegistry;
|
|
82
|
+
export default copilotRules;
|
|
83
|
+
//# sourceMappingURL=rules-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-registry.d.ts","sourceRoot":"","sources":["../../src/_internal/rules-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import noBlankCustomizationBodyRule from "../rules/no-blank-customization-body.js";
|
|
2
|
+
import noBlankRepositoryInstructionsRule from "../rules/no-blank-repository-instructions.js";
|
|
3
|
+
import noBlankSkillBodyRule from "../rules/no-blank-skill-body.js";
|
|
4
|
+
import noDeprecatedAgentInferRule from "../rules/no-deprecated-agent-infer.js";
|
|
5
|
+
import noDuplicateAgentNamesRule from "../rules/no-duplicate-agent-names.js";
|
|
6
|
+
import noDuplicatePromptNamesRule from "../rules/no-duplicate-prompt-names.js";
|
|
7
|
+
import noDuplicateSkillNamesRule from "../rules/no-duplicate-skill-names.js";
|
|
8
|
+
import noDuplicateSlashCommandNamesRule from "../rules/no-duplicate-slash-command-names.js";
|
|
9
|
+
import noEmptyRepositoryHookArraysRule from "../rules/no-empty-repository-hook-arrays.js";
|
|
10
|
+
import noLegacyChatmodeFilesRule from "../rules/no-legacy-chatmode-files.js";
|
|
11
|
+
import preferCustomInstructionsUnderCodeReviewLimitRule from "../rules/prefer-custom-instructions-under-code-review-limit.js";
|
|
12
|
+
import preferFastRepositoryHooksRule from "../rules/prefer-fast-repository-hooks.js";
|
|
13
|
+
import preferQualifiedToolsRule from "../rules/prefer-qualified-tools.js";
|
|
14
|
+
import requireAgentToolForSubagentsRule from "../rules/require-agent-tool-for-subagents.js";
|
|
15
|
+
import requireAgentsMdForCrossSurfaceAgentInstructionsRule from "../rules/require-agents-md-for-cross-surface-agent-instructions.js";
|
|
16
|
+
import requireChatmodeFileMetadataRule from "../rules/require-chatmode-file-metadata.js";
|
|
17
|
+
import requireExistingAgentHookCwdRule from "../rules/require-existing-agent-hook-cwd.js";
|
|
18
|
+
import requireExistingAgentMcpServersRule from "../rules/require-existing-agent-mcp-servers.js";
|
|
19
|
+
import requireExistingRelativeAgentLinksRule from "../rules/require-existing-relative-agent-links.js";
|
|
20
|
+
import requireExistingRelativeInstructionsLinksRule from "../rules/require-existing-relative-instructions-links.js";
|
|
21
|
+
import requireExistingRelativePromptLinksRule from "../rules/require-existing-relative-prompt-links.js";
|
|
22
|
+
import requireExistingRelativeSkillLinksRule from "../rules/require-existing-relative-skill-links.js";
|
|
23
|
+
import requireExistingRepositoryHookCwdRule from "../rules/require-existing-repository-hook-cwd.js";
|
|
24
|
+
import requireGithubCopilotTargetForMcpServersRule from "../rules/require-github-copilot-target-for-mcp-servers.js";
|
|
25
|
+
import requireInstructionsApplyToRule from "../rules/require-instructions-apply-to.js";
|
|
26
|
+
import requireJsonAgentMcpServersRule from "../rules/require-json-agent-mcp-servers.js";
|
|
27
|
+
import requirePromptFileMetadataRule from "../rules/require-prompt-file-metadata.js";
|
|
28
|
+
import requireQualifiedAgentHandoffModelsRule from "../rules/require-qualified-agent-handoff-models.js";
|
|
29
|
+
import requireRelativeAgentHookCwdRule from "../rules/require-relative-agent-hook-cwd.js";
|
|
30
|
+
import requireRelativeAgentLinksRule from "../rules/require-relative-agent-links.js";
|
|
31
|
+
import requireRelativeInstructionsLinksRule from "../rules/require-relative-instructions-links.js";
|
|
32
|
+
import requireRelativePromptLinksRule from "../rules/require-relative-prompt-links.js";
|
|
33
|
+
import requireRelativeRepositoryHookCwdRule from "../rules/require-relative-repository-hook-cwd.js";
|
|
34
|
+
import requireRelativeSkillLinksRule from "../rules/require-relative-skill-links.js";
|
|
35
|
+
import requireRepositoryHookArraysRule from "../rules/require-repository-hook-arrays.js";
|
|
36
|
+
import requireRepositoryHookCommandShellRule from "../rules/require-repository-hook-command-shell.js";
|
|
37
|
+
import requireRepositoryHooksObjectRule from "../rules/require-repository-hooks-object.js";
|
|
38
|
+
import requireRepositoryInstructionsFileRule from "../rules/require-repository-instructions-file.js";
|
|
39
|
+
import requireSkillFileLocationRule from "../rules/require-skill-file-location.js";
|
|
40
|
+
import requireSkillFileMetadataRule from "../rules/require-skill-file-metadata.js";
|
|
41
|
+
import requireSkillMdFilenameRule from "../rules/require-skill-md-filename.js";
|
|
42
|
+
import requireSkillNameMatchDirectoryRule from "../rules/require-skill-name-match-directory.js";
|
|
43
|
+
import requireStringRepositoryHookEnvValuesRule from "../rules/require-string-repository-hook-env-values.js";
|
|
44
|
+
import requireValidAgentArgumentHintRule from "../rules/require-valid-agent-argument-hint.js";
|
|
45
|
+
import requireValidAgentHandoffSendRule from "../rules/require-valid-agent-handoff-send.js";
|
|
46
|
+
import requireValidAgentHandoffsRule from "../rules/require-valid-agent-handoffs.js";
|
|
47
|
+
import requireValidAgentHookEventsRule from "../rules/require-valid-agent-hook-events.js";
|
|
48
|
+
import requireValidAgentHookTimeoutsRule from "../rules/require-valid-agent-hook-timeouts.js";
|
|
49
|
+
import requireValidAgentHooksRule from "../rules/require-valid-agent-hooks.js";
|
|
50
|
+
import requireValidAgentInvocationControlsRule from "../rules/require-valid-agent-invocation-controls.js";
|
|
51
|
+
import requireValidAgentMcpServersRule from "../rules/require-valid-agent-mcp-servers.js";
|
|
52
|
+
import requireValidAgentModelRule from "../rules/require-valid-agent-model.js";
|
|
53
|
+
import requireValidAgentNameRule from "../rules/require-valid-agent-name.js";
|
|
54
|
+
import requireValidAgentSubagentsRule from "../rules/require-valid-agent-subagents.js";
|
|
55
|
+
import requireValidAgentTargetRule from "../rules/require-valid-agent-target.js";
|
|
56
|
+
import requireValidAgentToolsRule from "../rules/require-valid-agent-tools.js";
|
|
57
|
+
import requireValidInstructionsApplyToGlobsRule from "../rules/require-valid-instructions-apply-to-globs.js";
|
|
58
|
+
import requireValidPromptArgumentHintRule from "../rules/require-valid-prompt-argument-hint.js";
|
|
59
|
+
import requireValidPromptModelRule from "../rules/require-valid-prompt-model.js";
|
|
60
|
+
import requireValidPromptNameRule from "../rules/require-valid-prompt-name.js";
|
|
61
|
+
import requireValidPromptToolsRule from "../rules/require-valid-prompt-tools.js";
|
|
62
|
+
import requireValidRepositoryHookCommandTypeRule from "../rules/require-valid-repository-hook-command-type.js";
|
|
63
|
+
import requireValidRepositoryHookEnvRule from "../rules/require-valid-repository-hook-env.js";
|
|
64
|
+
import requireValidRepositoryHookEventsRule from "../rules/require-valid-repository-hook-events.js";
|
|
65
|
+
import requireValidRepositoryHookTimeoutsRule from "../rules/require-valid-repository-hook-timeouts.js";
|
|
66
|
+
import requireValidRepositoryHookVersionRule from "../rules/require-valid-repository-hook-version.js";
|
|
67
|
+
import requireValidSkillDirectoryNameRule from "../rules/require-valid-skill-directory-name.js";
|
|
68
|
+
import requireValidSkillLicenseRule from "../rules/require-valid-skill-license.js";
|
|
69
|
+
import requireValidSkillNameRule from "../rules/require-valid-skill-name.js";
|
|
70
|
+
/** Runtime map of all rule modules keyed by unqualified rule name. */
|
|
71
|
+
const copilotRuleRegistry = {
|
|
72
|
+
"no-blank-customization-body": noBlankCustomizationBodyRule,
|
|
73
|
+
"no-blank-repository-instructions": noBlankRepositoryInstructionsRule,
|
|
74
|
+
"no-blank-skill-body": noBlankSkillBodyRule,
|
|
75
|
+
"no-deprecated-agent-infer": noDeprecatedAgentInferRule,
|
|
76
|
+
"no-duplicate-agent-names": noDuplicateAgentNamesRule,
|
|
77
|
+
"no-duplicate-prompt-names": noDuplicatePromptNamesRule,
|
|
78
|
+
"no-duplicate-skill-names": noDuplicateSkillNamesRule,
|
|
79
|
+
"no-duplicate-slash-command-names": noDuplicateSlashCommandNamesRule,
|
|
80
|
+
"no-empty-repository-hook-arrays": noEmptyRepositoryHookArraysRule,
|
|
81
|
+
"no-legacy-chatmode-files": noLegacyChatmodeFilesRule,
|
|
82
|
+
"prefer-custom-instructions-under-code-review-limit": preferCustomInstructionsUnderCodeReviewLimitRule,
|
|
83
|
+
"prefer-fast-repository-hooks": preferFastRepositoryHooksRule,
|
|
84
|
+
"prefer-qualified-tools": preferQualifiedToolsRule,
|
|
85
|
+
"require-agent-tool-for-subagents": requireAgentToolForSubagentsRule,
|
|
86
|
+
"require-agents-md-for-cross-surface-agent-instructions": requireAgentsMdForCrossSurfaceAgentInstructionsRule,
|
|
87
|
+
"require-chatmode-file-metadata": requireChatmodeFileMetadataRule,
|
|
88
|
+
"require-existing-agent-hook-cwd": requireExistingAgentHookCwdRule,
|
|
89
|
+
"require-existing-agent-mcp-servers": requireExistingAgentMcpServersRule,
|
|
90
|
+
"require-existing-relative-agent-links": requireExistingRelativeAgentLinksRule,
|
|
91
|
+
"require-existing-relative-instructions-links": requireExistingRelativeInstructionsLinksRule,
|
|
92
|
+
"require-existing-relative-prompt-links": requireExistingRelativePromptLinksRule,
|
|
93
|
+
"require-existing-relative-skill-links": requireExistingRelativeSkillLinksRule,
|
|
94
|
+
"require-existing-repository-hook-cwd": requireExistingRepositoryHookCwdRule,
|
|
95
|
+
"require-github-copilot-target-for-mcp-servers": requireGithubCopilotTargetForMcpServersRule,
|
|
96
|
+
"require-instructions-apply-to": requireInstructionsApplyToRule,
|
|
97
|
+
"require-json-agent-mcp-servers": requireJsonAgentMcpServersRule,
|
|
98
|
+
"require-prompt-file-metadata": requirePromptFileMetadataRule,
|
|
99
|
+
"require-qualified-agent-handoff-models": requireQualifiedAgentHandoffModelsRule,
|
|
100
|
+
"require-relative-agent-hook-cwd": requireRelativeAgentHookCwdRule,
|
|
101
|
+
"require-relative-agent-links": requireRelativeAgentLinksRule,
|
|
102
|
+
"require-relative-instructions-links": requireRelativeInstructionsLinksRule,
|
|
103
|
+
"require-relative-prompt-links": requireRelativePromptLinksRule,
|
|
104
|
+
"require-relative-repository-hook-cwd": requireRelativeRepositoryHookCwdRule,
|
|
105
|
+
"require-relative-skill-links": requireRelativeSkillLinksRule,
|
|
106
|
+
"require-repository-hook-arrays": requireRepositoryHookArraysRule,
|
|
107
|
+
"require-repository-hook-command-shell": requireRepositoryHookCommandShellRule,
|
|
108
|
+
"require-repository-hooks-object": requireRepositoryHooksObjectRule,
|
|
109
|
+
"require-repository-instructions-file": requireRepositoryInstructionsFileRule,
|
|
110
|
+
"require-skill-file-location": requireSkillFileLocationRule,
|
|
111
|
+
"require-skill-file-metadata": requireSkillFileMetadataRule,
|
|
112
|
+
"require-skill-md-filename": requireSkillMdFilenameRule,
|
|
113
|
+
"require-skill-name-match-directory": requireSkillNameMatchDirectoryRule,
|
|
114
|
+
"require-string-repository-hook-env-values": requireStringRepositoryHookEnvValuesRule,
|
|
115
|
+
"require-valid-agent-argument-hint": requireValidAgentArgumentHintRule,
|
|
116
|
+
"require-valid-agent-handoff-send": requireValidAgentHandoffSendRule,
|
|
117
|
+
"require-valid-agent-handoffs": requireValidAgentHandoffsRule,
|
|
118
|
+
"require-valid-agent-hook-events": requireValidAgentHookEventsRule,
|
|
119
|
+
"require-valid-agent-hook-timeouts": requireValidAgentHookTimeoutsRule,
|
|
120
|
+
"require-valid-agent-hooks": requireValidAgentHooksRule,
|
|
121
|
+
"require-valid-agent-invocation-controls": requireValidAgentInvocationControlsRule,
|
|
122
|
+
"require-valid-agent-mcp-servers": requireValidAgentMcpServersRule,
|
|
123
|
+
"require-valid-agent-model": requireValidAgentModelRule,
|
|
124
|
+
"require-valid-agent-name": requireValidAgentNameRule,
|
|
125
|
+
"require-valid-agent-subagents": requireValidAgentSubagentsRule,
|
|
126
|
+
"require-valid-agent-target": requireValidAgentTargetRule,
|
|
127
|
+
"require-valid-agent-tools": requireValidAgentToolsRule,
|
|
128
|
+
"require-valid-instructions-apply-to-globs": requireValidInstructionsApplyToGlobsRule,
|
|
129
|
+
"require-valid-prompt-argument-hint": requireValidPromptArgumentHintRule,
|
|
130
|
+
"require-valid-prompt-model": requireValidPromptModelRule,
|
|
131
|
+
"require-valid-prompt-name": requireValidPromptNameRule,
|
|
132
|
+
"require-valid-prompt-tools": requireValidPromptToolsRule,
|
|
133
|
+
"require-valid-repository-hook-command-type": requireValidRepositoryHookCommandTypeRule,
|
|
134
|
+
"require-valid-repository-hook-env": requireValidRepositoryHookEnvRule,
|
|
135
|
+
"require-valid-repository-hook-events": requireValidRepositoryHookEventsRule,
|
|
136
|
+
"require-valid-repository-hook-timeouts": requireValidRepositoryHookTimeoutsRule,
|
|
137
|
+
"require-valid-repository-hook-version": requireValidRepositoryHookVersionRule,
|
|
138
|
+
"require-valid-skill-directory-name": requireValidSkillDirectoryNameRule,
|
|
139
|
+
"require-valid-skill-license": requireValidSkillLicenseRule,
|
|
140
|
+
"require-valid-skill-name": requireValidSkillNameRule,
|
|
141
|
+
};
|
|
142
|
+
/** Exported typed view consumed by the plugin entrypoint. */
|
|
143
|
+
export const copilotRules = copilotRuleRegistry;
|
|
144
|
+
export default copilotRules;
|
|
145
|
+
//# sourceMappingURL=rules-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-registry.js","sourceRoot":"","sources":["../../src/_internal/rules-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FrontmatterDocument } from "./frontmatter.js";
|
|
2
|
+
/** Determine whether a file path is at a documented project-skill location. */
|
|
3
|
+
export declare const isValidSkillDefinitionLocation: (filePath: string) => boolean;
|
|
4
|
+
/** Determine whether a Markdown file looks like a skill definition draft. */
|
|
5
|
+
export declare const looksLikeSkillDefinitionDocument: (frontmatter: FrontmatterDocument | null) => boolean;
|
|
6
|
+
/** Get the markdown basename for a skill-related file. */
|
|
7
|
+
export declare const getSkillFileBasename: (filePath: string) => string;
|
|
8
|
+
//# sourceMappingURL=skill-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-files.d.ts","sourceRoot":"","sources":["../../src/_internal/skill-files.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQ5D,+EAA+E;AAC/E,eAAO,MAAM,8BAA8B,GAAI,UAAU,MAAM,KAAG,OACS,CAAC;AAE5E,6EAA6E;AAC7E,eAAO,MAAM,gCAAgC,GACzC,aAAa,mBAAmB,GAAG,IAAI,KACxC,OAIiD,CAAC;AAErD,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,MAC7B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* Shared skill-file helpers for Copilot skill rules.
|
|
4
|
+
*/
|
|
5
|
+
import * as path from "node:path";
|
|
6
|
+
import { normalizeAbsolutePath } from "./file-system.js";
|
|
7
|
+
import { hasFrontmatterField } from "./frontmatter.js";
|
|
8
|
+
const VALID_SKILL_FILE_LOCATION_PATTERN = /\/(?:\.github|\.claude)\/skills\/[^/]+\/SKILL\.md$/u;
|
|
9
|
+
/** Determine whether a file path is at a documented project-skill location. */
|
|
10
|
+
export const isValidSkillDefinitionLocation = (filePath) => VALID_SKILL_FILE_LOCATION_PATTERN.test(normalizeAbsolutePath(filePath));
|
|
11
|
+
/** Determine whether a Markdown file looks like a skill definition draft. */
|
|
12
|
+
export const looksLikeSkillDefinitionDocument = (frontmatter) => frontmatter !== null &&
|
|
13
|
+
(hasFrontmatterField(frontmatter, "name") ||
|
|
14
|
+
hasFrontmatterField(frontmatter, "description") ||
|
|
15
|
+
hasFrontmatterField(frontmatter, "license"));
|
|
16
|
+
/** Get the markdown basename for a skill-related file. */
|
|
17
|
+
export const getSkillFileBasename = (filePath) => path.basename(filePath);
|
|
18
|
+
//# sourceMappingURL=skill-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-files.js","sourceRoot":"","sources":["../../src/_internal/skill-files.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,iCAAiC,GACnC,qDAAqD,CAAC;AAE1D,+EAA+E;AAC/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,QAAgB,EAAW,EAAE,CACxE,iCAAiC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE5E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC5C,WAAuC,EAChC,EAAE,CACT,WAAW,KAAK,IAAI;IACpB,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC;QACrC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC;QAC/C,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AAErD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC"}
|