eslint-plugin-copilot 1.0.7 → 1.0.8
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/README.md +74 -71
- package/dist/_internal/copilot-file-kind.d.ts +4 -0
- package/dist/_internal/copilot-file-kind.d.ts.map +1 -1
- package/dist/_internal/copilot-file-kind.js +17 -2
- package/dist/_internal/copilot-file-kind.js.map +1 -1
- package/dist/plugin.cjs +64 -53
- package/dist/plugin.cjs.map +2 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +1 -0
- package/dist/plugin.js.map +1 -1
- package/dist/rules/require-repository-instructions-file.d.ts.map +1 -1
- package/dist/rules/require-repository-instructions-file.js +5 -5
- package/dist/rules/require-repository-instructions-file.js.map +1 -1
- package/docs/rules/getting-started.md +1 -1
- package/docs/rules/no-blank-customization-body.md +1 -1
- package/docs/rules/no-blank-repository-instructions.md +2 -1
- package/docs/rules/prefer-custom-instructions-under-code-review-limit.md +1 -0
- package/docs/rules/require-repository-instructions-file.md +8 -3
- package/package.json +47 -47
package/README.md
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
ESLint plugin for linting GitHub Copilot repository customization files such as:
|
|
6
6
|
|
|
7
7
|
- `.github/copilot-instructions.md`
|
|
8
|
+
- `.github/instructions/copilot-instructions.md`
|
|
8
9
|
- `.github/instructions/**/*.instructions.md`
|
|
9
10
|
- `.github/prompts/**/*.prompt.md`
|
|
10
11
|
- `.github/agents/**/*.agent.md`
|
|
@@ -55,6 +56,7 @@ The shipped presets already configure:
|
|
|
55
56
|
The built-in presets target these Markdown file patterns:
|
|
56
57
|
|
|
57
58
|
- `.github/copilot-instructions.md`
|
|
59
|
+
- `.github/instructions/copilot-instructions.md`
|
|
58
60
|
- `.github/instructions/**/*.instructions.md`
|
|
59
61
|
- `.github/prompts/**/*.prompt.md`
|
|
60
62
|
- `.github/agents/**/*.agent.md`
|
|
@@ -96,77 +98,78 @@ export default [
|
|
|
96
98
|
|
|
97
99
|
## Rules
|
|
98
100
|
|
|
99
|
-
| Rule
|
|
100
|
-
|
|
|
101
|
-
| [`no-blank-customization-body`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-blank-customization-body)
|
|
102
|
-
| [`no-blank-repository-instructions`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-blank-repository-instructions)
|
|
103
|
-
| [`no-blank-skill-body`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-blank-skill-body)
|
|
104
|
-
| [`no-deprecated-agent-infer`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-deprecated-agent-infer)
|
|
105
|
-
| [`no-duplicate-agent-names`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-duplicate-agent-names)
|
|
106
|
-
| [`no-duplicate-prompt-names`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-duplicate-prompt-names)
|
|
107
|
-
| [`no-duplicate-skill-names`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-duplicate-skill-names)
|
|
108
|
-
| [`no-duplicate-slash-command-names`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-duplicate-slash-command-names)
|
|
109
|
-
| [`no-empty-repository-hook-arrays`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-empty-repository-hook-arrays)
|
|
110
|
-
| [`no-legacy-chatmode-files`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-legacy-chatmode-files)
|
|
111
|
-
| [`prefer-custom-instructions-under-code-review-limit`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/prefer-custom-instructions-under-code-review-limit)
|
|
112
|
-
| [`prefer-fast-repository-hooks`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/prefer-fast-repository-hooks)
|
|
113
|
-
| [`prefer-qualified-tools`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/prefer-qualified-tools)
|
|
114
|
-
| [`require-agent-tool-for-subagents`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-agent-tool-for-subagents)
|
|
115
|
-
| [`require-agents-md-for-cross-surface-agent-instructions`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-agents-md-for-cross-surface-agent-instructions) |
|
|
116
|
-
| [`require-chatmode-file-metadata`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-chatmode-file-metadata)
|
|
117
|
-
| [`require-existing-agent-hook-cwd`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-agent-hook-cwd)
|
|
118
|
-
| [`require-existing-agent-mcp-servers`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-agent-mcp-servers)
|
|
119
|
-
| [`require-existing-relative-agent-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-relative-agent-links)
|
|
120
|
-
| [`require-existing-relative-instructions-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-relative-instructions-links)
|
|
121
|
-
| [`require-existing-relative-prompt-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-relative-prompt-links)
|
|
122
|
-
| [`require-existing-relative-skill-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-relative-skill-links)
|
|
123
|
-
| [`require-existing-repository-hook-cwd`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-repository-hook-cwd)
|
|
124
|
-
| [`require-github-copilot-target-for-mcp-servers`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-github-copilot-target-for-mcp-servers)
|
|
125
|
-
| [`require-instructions-apply-to`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-instructions-apply-to)
|
|
126
|
-
| [`require-json-agent-mcp-servers`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-json-agent-mcp-servers)
|
|
127
|
-
| [`require-prompt-file-metadata`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-prompt-file-metadata)
|
|
128
|
-
| [`require-qualified-agent-handoff-models`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-qualified-agent-handoff-models)
|
|
129
|
-
| [`require-relative-agent-hook-cwd`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-agent-hook-cwd)
|
|
130
|
-
| [`require-relative-agent-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-agent-links)
|
|
131
|
-
| [`require-relative-instructions-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-instructions-links)
|
|
132
|
-
| [`require-relative-prompt-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-prompt-links)
|
|
133
|
-
| [`require-relative-repository-hook-cwd`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-repository-hook-cwd)
|
|
134
|
-
| [`require-relative-skill-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-skill-links)
|
|
135
|
-
| [`require-repository-hook-arrays`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-repository-hook-arrays)
|
|
136
|
-
| [`require-repository-hook-command-shell`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-repository-hook-command-shell)
|
|
137
|
-
| [`require-repository-hooks-object`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-repository-hooks-object)
|
|
138
|
-
| [`require-repository-instructions-file`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-repository-instructions-file)
|
|
139
|
-
| [`require-skill-file-location`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-skill-file-location)
|
|
140
|
-
| [`require-skill-file-metadata`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-skill-file-metadata)
|
|
141
|
-
| [`require-skill-md-filename`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-skill-md-filename)
|
|
142
|
-
| [`require-skill-name-match-directory`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-skill-name-match-directory)
|
|
143
|
-
| [`require-string-repository-hook-env-values`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-string-repository-hook-env-values)
|
|
144
|
-
| [`require-valid-agent-argument-hint`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-argument-hint)
|
|
145
|
-
| [`require-valid-agent-handoff-send`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-handoff-send)
|
|
146
|
-
| [`require-valid-agent-handoffs`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-handoffs)
|
|
147
|
-
| [`require-valid-agent-hook-events`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-hook-events)
|
|
148
|
-
| [`require-valid-agent-hook-timeouts`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-hook-timeouts)
|
|
149
|
-
| [`require-valid-agent-hooks`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-hooks)
|
|
150
|
-
| [`require-valid-agent-invocation-controls`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-invocation-controls)
|
|
151
|
-
| [`require-valid-agent-mcp-servers`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-mcp-servers)
|
|
152
|
-
| [`require-valid-agent-model`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-model)
|
|
153
|
-
| [`require-valid-agent-name`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-name)
|
|
154
|
-
| [`require-valid-agent-subagents`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-subagents)
|
|
155
|
-
| [`require-valid-agent-target`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-target)
|
|
156
|
-
| [`require-valid-agent-tools`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-tools)
|
|
157
|
-
| [`require-valid-instructions-apply-to-globs`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-instructions-apply-to-globs)
|
|
158
|
-
| [`require-valid-prompt-argument-hint`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-prompt-argument-hint)
|
|
159
|
-
| [`require-valid-prompt-model`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-prompt-model)
|
|
160
|
-
| [`require-valid-prompt-name`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-prompt-name)
|
|
161
|
-
| [`require-valid-prompt-tools`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-prompt-tools)
|
|
162
|
-
| [`require-valid-repository-hook-command-type`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-repository-hook-command-type)
|
|
163
|
-
| [`require-valid-repository-hook-env`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-repository-hook-env)
|
|
164
|
-
| [`require-valid-repository-hook-events`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-repository-hook-events)
|
|
165
|
-
| [`require-valid-repository-hook-timeouts`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-repository-hook-timeouts)
|
|
166
|
-
| [`require-valid-repository-hook-version`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-repository-hook-version)
|
|
167
|
-
| [`require-valid-skill-directory-name`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-skill-directory-name)
|
|
168
|
-
| [`require-valid-skill-license`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-skill-license)
|
|
169
|
-
| [`require-valid-skill-name`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-skill-name)
|
|
101
|
+
| Rule | all | minimal | recommended | strict |
|
|
102
|
+
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-: | :-----: | :---------: | :----: |
|
|
103
|
+
| [`no-blank-customization-body`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-blank-customization-body) | ✅ | — | ✅ | ✅ |
|
|
104
|
+
| [`no-blank-repository-instructions`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-blank-repository-instructions) | ✅ | — | ✅ | ✅ |
|
|
105
|
+
| [`no-blank-skill-body`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-blank-skill-body) | ✅ | — | ✅ | ✅ |
|
|
106
|
+
| [`no-deprecated-agent-infer`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-deprecated-agent-infer) | ✅ | — | ✅ | ✅ |
|
|
107
|
+
| [`no-duplicate-agent-names`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-duplicate-agent-names) | ✅ | — | ✅ | ✅ |
|
|
108
|
+
| [`no-duplicate-prompt-names`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-duplicate-prompt-names) | ✅ | — | ✅ | ✅ |
|
|
109
|
+
| [`no-duplicate-skill-names`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-duplicate-skill-names) | ✅ | — | ✅ | ✅ |
|
|
110
|
+
| [`no-duplicate-slash-command-names`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-duplicate-slash-command-names) | ✅ | — | ✅ | ✅ |
|
|
111
|
+
| [`no-empty-repository-hook-arrays`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-empty-repository-hook-arrays) | ✅ | — | — | ✅ |
|
|
112
|
+
| [`no-legacy-chatmode-files`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/no-legacy-chatmode-files) | ✅ | — | ✅ | ✅ |
|
|
113
|
+
| [`prefer-custom-instructions-under-code-review-limit`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/prefer-custom-instructions-under-code-review-limit) | ✅ | — | — | ✅ |
|
|
114
|
+
| [`prefer-fast-repository-hooks`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/prefer-fast-repository-hooks) | ✅ | — | — | ✅ |
|
|
115
|
+
| [`prefer-qualified-tools`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/prefer-qualified-tools) | ✅ | — | — | — |
|
|
116
|
+
| [`require-agent-tool-for-subagents`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-agent-tool-for-subagents) | ✅ | — | ✅ | ✅ |
|
|
117
|
+
| [`require-agents-md-for-cross-surface-agent-instructions`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-agents-md-for-cross-surface-agent-instructions) | ✅ | — | — | ✅ |
|
|
118
|
+
| [`require-chatmode-file-metadata`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-chatmode-file-metadata) | ✅ | ✅ | ✅ | ✅ |
|
|
119
|
+
| [`require-existing-agent-hook-cwd`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-agent-hook-cwd) | ✅ | — | — | ✅ |
|
|
120
|
+
| [`require-existing-agent-mcp-servers`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-agent-mcp-servers) | ✅ | — | — | ✅ |
|
|
121
|
+
| [`require-existing-relative-agent-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-relative-agent-links) | ✅ | — | — | ✅ |
|
|
122
|
+
| [`require-existing-relative-instructions-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-relative-instructions-links) | ✅ | — | — | ✅ |
|
|
123
|
+
| [`require-existing-relative-prompt-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-relative-prompt-links) | ✅ | — | — | ✅ |
|
|
124
|
+
| [`require-existing-relative-skill-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-relative-skill-links) | ✅ | — | — | ✅ |
|
|
125
|
+
| [`require-existing-repository-hook-cwd`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-existing-repository-hook-cwd) | ✅ | — | — | ✅ |
|
|
126
|
+
| [`require-github-copilot-target-for-mcp-servers`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-github-copilot-target-for-mcp-servers) | ✅ | — | ✅ | ✅ |
|
|
127
|
+
| [`require-instructions-apply-to`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-instructions-apply-to) | ✅ | ✅ | ✅ | ✅ |
|
|
128
|
+
| [`require-json-agent-mcp-servers`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-json-agent-mcp-servers) | ✅ | — | ✅ | ✅ |
|
|
129
|
+
| [`require-prompt-file-metadata`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-prompt-file-metadata) | ✅ | ✅ | ✅ | ✅ |
|
|
130
|
+
| [`require-qualified-agent-handoff-models`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-qualified-agent-handoff-models) | ✅ | — | ✅ | ✅ |
|
|
131
|
+
| [`require-relative-agent-hook-cwd`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-agent-hook-cwd) | ✅ | — | ✅ | ✅ |
|
|
132
|
+
| [`require-relative-agent-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-agent-links) | ✅ | — | ✅ | ✅ |
|
|
133
|
+
| [`require-relative-instructions-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-instructions-links) | ✅ | — | ✅ | ✅ |
|
|
134
|
+
| [`require-relative-prompt-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-prompt-links) | ✅ | — | ✅ | ✅ |
|
|
135
|
+
| [`require-relative-repository-hook-cwd`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-repository-hook-cwd) | ✅ | — | ✅ | ✅ |
|
|
136
|
+
| [`require-relative-skill-links`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-relative-skill-links) | ✅ | — | ✅ | ✅ |
|
|
137
|
+
| [`require-repository-hook-arrays`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-repository-hook-arrays) | ✅ | — | ✅ | ✅ |
|
|
138
|
+
| [`require-repository-hook-command-shell`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-repository-hook-command-shell) | ✅ | — | ✅ | ✅ |
|
|
139
|
+
| [`require-repository-hooks-object`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-repository-hooks-object) | ✅ | — | ✅ | ✅ |
|
|
140
|
+
| [`require-repository-instructions-file`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-repository-instructions-file) | ✅ | — | — | ✅ |
|
|
141
|
+
| [`require-skill-file-location`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-skill-file-location) | ✅ | — | ✅ | ✅ |
|
|
142
|
+
| [`require-skill-file-metadata`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-skill-file-metadata) | ✅ | — | ✅ | ✅ |
|
|
143
|
+
| [`require-skill-md-filename`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-skill-md-filename) | ✅ | — | ✅ | ✅ |
|
|
144
|
+
| [`require-skill-name-match-directory`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-skill-name-match-directory) | ✅ | — | — | ✅ |
|
|
145
|
+
| [`require-string-repository-hook-env-values`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-string-repository-hook-env-values) | ✅ | — | ✅ | ✅ |
|
|
146
|
+
| [`require-valid-agent-argument-hint`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-argument-hint) | ✅ | — | ✅ | ✅ |
|
|
147
|
+
| [`require-valid-agent-handoff-send`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-handoff-send) | ✅ | — | ✅ | ✅ |
|
|
148
|
+
| [`require-valid-agent-handoffs`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-handoffs) | ✅ | — | ✅ | ✅ |
|
|
149
|
+
| [`require-valid-agent-hook-events`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-hook-events) | ✅ | — | ✅ | ✅ |
|
|
150
|
+
| [`require-valid-agent-hook-timeouts`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-hook-timeouts) | ✅ | — | ✅ | ✅ |
|
|
151
|
+
| [`require-valid-agent-hooks`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-hooks) | ✅ | — | ✅ | ✅ |
|
|
152
|
+
| [`require-valid-agent-invocation-controls`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-invocation-controls) | ✅ | — | ✅ | ✅ |
|
|
153
|
+
| [`require-valid-agent-mcp-servers`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-mcp-servers) | ✅ | — | ✅ | ✅ |
|
|
154
|
+
| [`require-valid-agent-model`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-model) | ✅ | — | ✅ | ✅ |
|
|
155
|
+
| [`require-valid-agent-name`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-name) | ✅ | — | ✅ | ✅ |
|
|
156
|
+
| [`require-valid-agent-subagents`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-subagents) | ✅ | — | ✅ | ✅ |
|
|
157
|
+
| [`require-valid-agent-target`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-target) | ✅ | — | ✅ | ✅ |
|
|
158
|
+
| [`require-valid-agent-tools`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-agent-tools) | ✅ | — | ✅ | ✅ |
|
|
159
|
+
| [`require-valid-instructions-apply-to-globs`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-instructions-apply-to-globs) | ✅ | — | ✅ | ✅ |
|
|
160
|
+
| [`require-valid-prompt-argument-hint`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-prompt-argument-hint) | ✅ | — | ✅ | ✅ |
|
|
161
|
+
| [`require-valid-prompt-model`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-prompt-model) | ✅ | — | ✅ | ✅ |
|
|
162
|
+
| [`require-valid-prompt-name`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-prompt-name) | ✅ | — | ✅ | ✅ |
|
|
163
|
+
| [`require-valid-prompt-tools`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-prompt-tools) | ✅ | — | ✅ | ✅ |
|
|
164
|
+
| [`require-valid-repository-hook-command-type`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-repository-hook-command-type) | ✅ | — | ✅ | ✅ |
|
|
165
|
+
| [`require-valid-repository-hook-env`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-repository-hook-env) | ✅ | — | ✅ | ✅ |
|
|
166
|
+
| [`require-valid-repository-hook-events`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-repository-hook-events) | ✅ | — | ✅ | ✅ |
|
|
167
|
+
| [`require-valid-repository-hook-timeouts`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-repository-hook-timeouts) | ✅ | — | ✅ | ✅ |
|
|
168
|
+
| [`require-valid-repository-hook-version`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-repository-hook-version) | ✅ | — | ✅ | ✅ |
|
|
169
|
+
| [`require-valid-skill-directory-name`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-skill-directory-name) | ✅ | — | ✅ | ✅ |
|
|
170
|
+
| [`require-valid-skill-license`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-skill-license) | ✅ | — | — | ✅ |
|
|
171
|
+
| [`require-valid-skill-name`](https://nick2bad4u.github.io/eslint-plugin-copilot/docs/rules/require-valid-skill-name) | ✅ | — | ✅ | ✅ |
|
|
172
|
+
|
|
170
173
|
## Contributors ✨
|
|
171
174
|
|
|
172
175
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
@@ -10,10 +10,14 @@ export declare const isSkillMarkdownFilePath: (filePath: string) => boolean;
|
|
|
10
10
|
export declare const isSkillFilePath: (filePath: string) => boolean;
|
|
11
11
|
/** Check whether a path points to a repository hook configuration file. */
|
|
12
12
|
export declare const isRepositoryHookFilePath: (filePath: string) => boolean;
|
|
13
|
+
/** Check whether a path points to a repository-wide Copilot instructions file. */
|
|
14
|
+
export declare const isRepositoryInstructionsFilePath: (filePath: string) => boolean;
|
|
13
15
|
/** Derive the Copilot customization file kind for an absolute or relative path. */
|
|
14
16
|
export declare const getCopilotFileKind: (filePath: string) => CopilotFileKind | null;
|
|
15
17
|
/** Discover the repository root for the current file path. */
|
|
16
18
|
export declare const findRepositoryRoot: (filePath: string) => string;
|
|
19
|
+
/** Resolve supported repository custom instructions file paths. */
|
|
20
|
+
export declare const getRepositoryInstructionsPaths: (filePath: string) => readonly string[];
|
|
17
21
|
/** Resolve the canonical repository custom instructions file path. */
|
|
18
22
|
export declare const getRepositoryInstructionsPath: (filePath: string) => string;
|
|
19
23
|
//# sourceMappingURL=copilot-file-kind.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-file-kind.d.ts","sourceRoot":"","sources":["../../src/_internal/copilot-file-kind.ts"],"names":[],"mappings":"AAOA,2DAA2D;AAC3D,MAAM,MAAM,eAAe,GACrB,oBAAoB,GACpB,UAAU,GACV,cAAc,GACd,QAAQ,GACR,iBAAiB,GACjB,yBAAyB,GACzB,OAAO,CAAC;AAMd,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,KAAG,OAQ3D,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,OAQxD,CAAC;AAYF,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,GAAI,UAAU,MAAM,KAAG,OAO1D,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,OAQlD,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,KAAG,OAQ3D,CAAC;AAQF,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,GAC3B,UAAU,MAAM,KACjB,eAAe,GAAG,IAsCpB,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,MAwCrD,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,6BAA6B,GAAI,UAAU,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"copilot-file-kind.d.ts","sourceRoot":"","sources":["../../src/_internal/copilot-file-kind.ts"],"names":[],"mappings":"AAOA,2DAA2D;AAC3D,MAAM,MAAM,eAAe,GACrB,oBAAoB,GACpB,UAAU,GACV,cAAc,GACd,QAAQ,GACR,iBAAiB,GACjB,yBAAyB,GACzB,OAAO,CAAC;AAMd,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,KAAG,OAQ3D,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,OAQxD,CAAC;AAYF,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,GAAI,UAAU,MAAM,KAAG,OAO1D,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,OAQlD,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,KAAG,OAQ3D,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,gCAAgC,GAAI,UAAU,MAAM,KAAG,OASnE,CAAC;AAQF,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,GAC3B,UAAU,MAAM,KACjB,eAAe,GAAG,IAsCpB,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,MAwCrD,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,8BAA8B,GACvC,UAAU,MAAM,KACjB,SAAS,MAAM,EAYjB,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,6BAA6B,GAAI,UAAU,MAAM,KAAG,MAM5D,CAAC"}
|
|
@@ -46,6 +46,12 @@ export const isRepositoryHookFilePath = (filePath) => {
|
|
|
46
46
|
return (normalizedFilePath.includes("/.github/hooks/") &&
|
|
47
47
|
basename.endsWith(".json"));
|
|
48
48
|
};
|
|
49
|
+
/** Check whether a path points to a repository-wide Copilot instructions file. */
|
|
50
|
+
export const isRepositoryInstructionsFilePath = (filePath) => {
|
|
51
|
+
const normalizedFilePath = normalizeFilePath(filePath);
|
|
52
|
+
return (normalizedFilePath.endsWith("/.github/copilot-instructions.md") ||
|
|
53
|
+
normalizedFilePath.endsWith("/.github/instructions/copilot-instructions.md"));
|
|
54
|
+
};
|
|
49
55
|
/** Check whether a basename is one of the supported agent instruction names. */
|
|
50
56
|
const isAgentInstructionsBasename = (basename) => basename === "AGENTS.md" ||
|
|
51
57
|
basename === "CLAUDE.md" ||
|
|
@@ -54,7 +60,7 @@ const isAgentInstructionsBasename = (basename) => basename === "AGENTS.md" ||
|
|
|
54
60
|
export const getCopilotFileKind = (filePath) => {
|
|
55
61
|
const normalizedFilePath = normalizeFilePath(filePath);
|
|
56
62
|
const basename = path.posix.basename(normalizedFilePath);
|
|
57
|
-
if (normalizedFilePath
|
|
63
|
+
if (isRepositoryInstructionsFilePath(normalizedFilePath)) {
|
|
58
64
|
return "repository-instructions";
|
|
59
65
|
}
|
|
60
66
|
if (normalizedFilePath.includes("/.github/instructions/") &&
|
|
@@ -106,6 +112,15 @@ export const findRepositoryRoot = (filePath) => {
|
|
|
106
112
|
currentDirectory = parentDirectory;
|
|
107
113
|
}
|
|
108
114
|
};
|
|
115
|
+
/** Resolve supported repository custom instructions file paths. */
|
|
116
|
+
export const getRepositoryInstructionsPaths = (filePath) => {
|
|
117
|
+
const repositoryRoot = findRepositoryRoot(filePath);
|
|
118
|
+
return [
|
|
119
|
+
path.join(repositoryRoot, ".github", "copilot-instructions.md"),
|
|
120
|
+
path.join(repositoryRoot, ".github", "instructions", "copilot-instructions.md"),
|
|
121
|
+
];
|
|
122
|
+
};
|
|
109
123
|
/** Resolve the canonical repository custom instructions file path. */
|
|
110
|
-
export const getRepositoryInstructionsPath = (filePath) =>
|
|
124
|
+
export const getRepositoryInstructionsPath = (filePath) => getRepositoryInstructionsPaths(filePath)[0] ??
|
|
125
|
+
path.join(findRepositoryRoot(filePath), ".github", "copilot-instructions.md");
|
|
111
126
|
//# sourceMappingURL=copilot-file-kind.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-file-kind.js","sourceRoot":"","sources":["../../src/_internal/copilot-file-kind.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"copilot-file-kind.js","sourceRoot":"","sources":["../../src/_internal/copilot-file-kind.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.cjs
CHANGED
|
@@ -40,7 +40,7 @@ var import_markdown = __toESM(require("@eslint/markdown"), 1);
|
|
|
40
40
|
var package_default = {
|
|
41
41
|
$schema: "https://www.schemastore.org/package.json",
|
|
42
42
|
name: "eslint-plugin-copilot",
|
|
43
|
-
version: "1.0.
|
|
43
|
+
version: "1.0.8",
|
|
44
44
|
private: false,
|
|
45
45
|
description: "ESLint rules for GitHub Copilot repository customization files.",
|
|
46
46
|
keywords: [
|
|
@@ -237,20 +237,20 @@ var package_default = {
|
|
|
237
237
|
"jsonc-eslint-parser": "$jsonc-eslint-parser"
|
|
238
238
|
},
|
|
239
239
|
dependencies: {
|
|
240
|
-
"@typescript-eslint/parser": "^8.58.
|
|
241
|
-
"@typescript-eslint/type-utils": "^8.58.
|
|
242
|
-
"@typescript-eslint/utils": "^8.58.
|
|
240
|
+
"@typescript-eslint/parser": "^8.58.1",
|
|
241
|
+
"@typescript-eslint/type-utils": "^8.58.1",
|
|
242
|
+
"@typescript-eslint/utils": "^8.58.1"
|
|
243
243
|
},
|
|
244
244
|
devDependencies: {
|
|
245
245
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
246
246
|
"@csstools/stylelint-formatter-github": "^2.0.0",
|
|
247
|
-
"@docusaurus/eslint-plugin": "^3.
|
|
247
|
+
"@docusaurus/eslint-plugin": "^3.10.0",
|
|
248
248
|
"@double-great/remark-lint-alt-text": "^1.1.1",
|
|
249
249
|
"@double-great/stylelint-a11y": "^3.4.9",
|
|
250
250
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
|
|
251
251
|
"@eslint-react/eslint-plugin": "^4.2.3",
|
|
252
|
-
"@eslint/compat": "^2.0.
|
|
253
|
-
"@eslint/config-helpers": "^0.5.
|
|
252
|
+
"@eslint/compat": "^2.0.5",
|
|
253
|
+
"@eslint/config-helpers": "^0.5.5",
|
|
254
254
|
"@eslint/config-inspector": "^1.5.0",
|
|
255
255
|
"@eslint/css": "^1.1.0",
|
|
256
256
|
"@eslint/js": "^10.0.1",
|
|
@@ -260,25 +260,25 @@ var package_default = {
|
|
|
260
260
|
"@html-eslint/parser": "^0.59.0",
|
|
261
261
|
"@microsoft/eslint-plugin-sdl": "^1.1.0",
|
|
262
262
|
"@microsoft/tsdoc-config": "^0.18.1",
|
|
263
|
-
"@secretlint/secretlint-rule-anthropic": "^11.
|
|
264
|
-
"@secretlint/secretlint-rule-aws": "^11.
|
|
265
|
-
"@secretlint/secretlint-rule-database-connection-string": "^11.
|
|
266
|
-
"@secretlint/secretlint-rule-gcp": "^11.
|
|
267
|
-
"@secretlint/secretlint-rule-github": "^11.
|
|
268
|
-
"@secretlint/secretlint-rule-no-dotenv": "^11.
|
|
269
|
-
"@secretlint/secretlint-rule-no-homedir": "^11.
|
|
270
|
-
"@secretlint/secretlint-rule-npm": "^11.
|
|
271
|
-
"@secretlint/secretlint-rule-openai": "^11.
|
|
272
|
-
"@secretlint/secretlint-rule-pattern": "^11.
|
|
273
|
-
"@secretlint/secretlint-rule-preset-recommend": "^11.
|
|
274
|
-
"@secretlint/secretlint-rule-privatekey": "^11.
|
|
275
|
-
"@secretlint/secretlint-rule-secp256k1-privatekey": "^11.
|
|
276
|
-
"@secretlint/types": "^11.
|
|
263
|
+
"@secretlint/secretlint-rule-anthropic": "^11.6.0",
|
|
264
|
+
"@secretlint/secretlint-rule-aws": "^11.6.0",
|
|
265
|
+
"@secretlint/secretlint-rule-database-connection-string": "^11.6.0",
|
|
266
|
+
"@secretlint/secretlint-rule-gcp": "^11.6.0",
|
|
267
|
+
"@secretlint/secretlint-rule-github": "^11.6.0",
|
|
268
|
+
"@secretlint/secretlint-rule-no-dotenv": "^11.6.0",
|
|
269
|
+
"@secretlint/secretlint-rule-no-homedir": "^11.6.0",
|
|
270
|
+
"@secretlint/secretlint-rule-npm": "^11.6.0",
|
|
271
|
+
"@secretlint/secretlint-rule-openai": "^11.6.0",
|
|
272
|
+
"@secretlint/secretlint-rule-pattern": "^11.6.0",
|
|
273
|
+
"@secretlint/secretlint-rule-preset-recommend": "^11.6.0",
|
|
274
|
+
"@secretlint/secretlint-rule-privatekey": "^11.6.0",
|
|
275
|
+
"@secretlint/secretlint-rule-secp256k1-privatekey": "^11.6.0",
|
|
276
|
+
"@secretlint/types": "^11.6.0",
|
|
277
277
|
"@softonus/prettier-plugin-duplicate-remover": "^1.1.2",
|
|
278
278
|
"@stryker-ignorer/console-all": "^0.3.2",
|
|
279
|
-
"@stryker-mutator/core": "^9.6.
|
|
280
|
-
"@stryker-mutator/typescript-checker": "^9.6.
|
|
281
|
-
"@stryker-mutator/vitest-runner": "^9.6.
|
|
279
|
+
"@stryker-mutator/core": "^9.6.1",
|
|
280
|
+
"@stryker-mutator/typescript-checker": "^9.6.1",
|
|
281
|
+
"@stryker-mutator/vitest-runner": "^9.6.1",
|
|
282
282
|
"@stylelint-types/stylelint-order": "^7.0.1",
|
|
283
283
|
"@stylelint-types/stylelint-stylistic": "^5.0.0",
|
|
284
284
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
@@ -287,7 +287,7 @@ var package_default = {
|
|
|
287
287
|
"@types/eslint-plugin-security": "^3.0.1",
|
|
288
288
|
"@types/htmlhint": "^1.1.5",
|
|
289
289
|
"@types/madge": "^5.0.3",
|
|
290
|
-
"@types/node": "^25.
|
|
290
|
+
"@types/node": "^25.6.0",
|
|
291
291
|
"@types/postcss-clamp": "^4.1.3",
|
|
292
292
|
"@types/postcss-flexbugs-fixes": "^5.0.3",
|
|
293
293
|
"@types/postcss-html": "^1.5.3",
|
|
@@ -296,11 +296,11 @@ var package_default = {
|
|
|
296
296
|
"@types/postcss-normalize": "^9.0.4",
|
|
297
297
|
"@types/postcss-reporter": "^7.0.5",
|
|
298
298
|
"@types/sloc": "^0.2.3",
|
|
299
|
-
"@typescript-eslint/eslint-plugin": "^8.58.
|
|
300
|
-
"@typescript-eslint/rule-tester": "^8.58.
|
|
301
|
-
"@vitest/coverage-v8": "^4.1.
|
|
302
|
-
"@vitest/eslint-plugin": "^1.6.
|
|
303
|
-
"@vitest/ui": "^4.1.
|
|
299
|
+
"@typescript-eslint/eslint-plugin": "^8.58.1",
|
|
300
|
+
"@typescript-eslint/rule-tester": "^8.58.1",
|
|
301
|
+
"@vitest/coverage-v8": "^4.1.4",
|
|
302
|
+
"@vitest/eslint-plugin": "^1.6.15",
|
|
303
|
+
"@vitest/ui": "^4.1.4",
|
|
304
304
|
actionlint: "^2.0.6",
|
|
305
305
|
"all-contributors-cli": "^6.26.1",
|
|
306
306
|
"cognitive-complexity-ts": "^0.8.1",
|
|
@@ -323,8 +323,8 @@ var package_default = {
|
|
|
323
323
|
"eslint-plugin-depend": "^1.5.0",
|
|
324
324
|
"eslint-plugin-eslint-plugin": "^7.3.2",
|
|
325
325
|
"eslint-plugin-etc": "^2.0.3",
|
|
326
|
-
"eslint-plugin-etc-misc": "^1.0.
|
|
327
|
-
"eslint-plugin-file-progress-2": "^
|
|
326
|
+
"eslint-plugin-etc-misc": "^1.0.6",
|
|
327
|
+
"eslint-plugin-file-progress-2": "^5.0.0",
|
|
328
328
|
"eslint-plugin-html": "^8.1.4",
|
|
329
329
|
"eslint-plugin-import-x": "^4.16.2",
|
|
330
330
|
"eslint-plugin-jsdoc": "^62.9.0",
|
|
@@ -336,7 +336,7 @@ var package_default = {
|
|
|
336
336
|
"eslint-plugin-module-interop": "^0.3.1",
|
|
337
337
|
"eslint-plugin-n": "^17.24.0",
|
|
338
338
|
"eslint-plugin-nitpick": "^0.12.0",
|
|
339
|
-
"eslint-plugin-no-barrel-files": "^1.
|
|
339
|
+
"eslint-plugin-no-barrel-files": "^1.3.0",
|
|
340
340
|
"eslint-plugin-no-explicit-type-exports": "^0.12.1",
|
|
341
341
|
"eslint-plugin-no-function-declare-after-return": "^1.1.0",
|
|
342
342
|
"eslint-plugin-no-lookahead-lookbehind-regexp": "^0.4.0",
|
|
@@ -370,18 +370,18 @@ var package_default = {
|
|
|
370
370
|
"fast-check": "^4.6.0",
|
|
371
371
|
"git-cliff": "^2.12.0",
|
|
372
372
|
"gitleaks-secret-scanner": "^2.1.1",
|
|
373
|
-
globals: "^17.
|
|
373
|
+
globals: "^17.5.0",
|
|
374
374
|
htmlhint: "^1.9.2",
|
|
375
|
-
jscpd: "^4.0.
|
|
375
|
+
jscpd: "^4.0.9",
|
|
376
376
|
"jsonc-eslint-parser": "^3.1.0",
|
|
377
|
-
knip: "^6.
|
|
377
|
+
knip: "^6.4.0",
|
|
378
378
|
leasot: "^14.4.0",
|
|
379
379
|
madge: "^8.0.0",
|
|
380
380
|
"markdown-link-check": "^3.14.2",
|
|
381
|
-
"npm-check-updates": "^20.0.
|
|
381
|
+
"npm-check-updates": "^20.0.1",
|
|
382
382
|
"npm-package-json-lint": "^10.2.0",
|
|
383
383
|
picocolors: "^1.1.1",
|
|
384
|
-
postcss: "^8.5.
|
|
384
|
+
postcss: "^8.5.9",
|
|
385
385
|
"postcss-assets": "^6.0.0",
|
|
386
386
|
"postcss-clamp": "^4.1.0",
|
|
387
387
|
"postcss-combine-duplicated-selectors": "^10.0.3",
|
|
@@ -394,11 +394,11 @@ var package_default = {
|
|
|
394
394
|
"postcss-reporter": "^7.1.0",
|
|
395
395
|
"postcss-round-subpixels": "^2.0.0",
|
|
396
396
|
"postcss-scss": "^4.0.9",
|
|
397
|
-
"postcss-sort-media-queries": "^6.
|
|
397
|
+
"postcss-sort-media-queries": "^6.4.4",
|
|
398
398
|
"postcss-styled-jsx": "^1.0.1",
|
|
399
399
|
"postcss-styled-syntax": "^0.7.1",
|
|
400
400
|
"postcss-viewport-height-correction": "^1.1.1",
|
|
401
|
-
prettier: "^3.8.
|
|
401
|
+
prettier: "^3.8.2",
|
|
402
402
|
"prettier-plugin-ini": "^1.3.0",
|
|
403
403
|
"prettier-plugin-interpolated-html-tags": "^2.0.1",
|
|
404
404
|
"prettier-plugin-jsdoc": "^1.8.0",
|
|
@@ -518,10 +518,10 @@ var package_default = {
|
|
|
518
518
|
"remark-validate-links": "^13.1.0",
|
|
519
519
|
"remark-wiki-link": "^2.0.1",
|
|
520
520
|
rimraf: "^6.1.3",
|
|
521
|
-
secretlint: "^11.
|
|
521
|
+
secretlint: "^11.6.0",
|
|
522
522
|
sloc: "^0.3.2",
|
|
523
523
|
"sort-package-json": "^3.6.1",
|
|
524
|
-
stylelint: "^17.
|
|
524
|
+
stylelint: "^17.7.0",
|
|
525
525
|
"stylelint-actions-formatters": "^16.3.1",
|
|
526
526
|
"stylelint-checkstyle-formatter": "^0.1.2",
|
|
527
527
|
"stylelint-codeframe-formatter": "^1.2.0",
|
|
@@ -550,7 +550,7 @@ var package_default = {
|
|
|
550
550
|
"stylelint-no-unresolved-module": "^2.5.2",
|
|
551
551
|
"stylelint-no-unsupported-browser-features": "^8.1.1",
|
|
552
552
|
"stylelint-order": "^8.1.1",
|
|
553
|
-
"stylelint-plugin-defensive-css": "^2.
|
|
553
|
+
"stylelint-plugin-defensive-css": "^2.9.0",
|
|
554
554
|
"stylelint-plugin-logical-css": "^2.1.0",
|
|
555
555
|
"stylelint-plugin-use-baseline": "^1.4.1",
|
|
556
556
|
"stylelint-prettier": "^5.0.3",
|
|
@@ -561,14 +561,14 @@ var package_default = {
|
|
|
561
561
|
"stylelint-value-no-unknown-custom-properties": "^6.1.1",
|
|
562
562
|
"toml-eslint-parser": "^1.0.3",
|
|
563
563
|
"ts-unused-exports": "^11.0.1",
|
|
564
|
-
typedoc: "^0.28.
|
|
564
|
+
typedoc: "^0.28.19",
|
|
565
565
|
typescript: "^6.0.2",
|
|
566
|
-
"typescript-eslint": "^8.58.
|
|
566
|
+
"typescript-eslint": "^8.58.1",
|
|
567
567
|
typesync: "^0.14.3",
|
|
568
568
|
vfile: "^6.0.3",
|
|
569
|
-
vite: "^8.0.
|
|
569
|
+
vite: "^8.0.8",
|
|
570
570
|
"vite-tsconfig-paths": "^6.1.1",
|
|
571
|
-
vitest: "^4.1.
|
|
571
|
+
vitest: "^4.1.4",
|
|
572
572
|
"yaml-eslint-parser": "^2.0.0",
|
|
573
573
|
"yamllint-js": "^0.2.4"
|
|
574
574
|
},
|
|
@@ -659,11 +659,15 @@ var isRepositoryHookFilePath = (filePath) => {
|
|
|
659
659
|
const basename7 = path.posix.basename(normalizedFilePath);
|
|
660
660
|
return normalizedFilePath.includes("/.github/hooks/") && basename7.endsWith(".json");
|
|
661
661
|
};
|
|
662
|
+
var isRepositoryInstructionsFilePath = (filePath) => {
|
|
663
|
+
const normalizedFilePath = normalizeFilePath(filePath);
|
|
664
|
+
return normalizedFilePath.endsWith("/.github/copilot-instructions.md") || normalizedFilePath.endsWith("/.github/instructions/copilot-instructions.md");
|
|
665
|
+
};
|
|
662
666
|
var isAgentInstructionsBasename = (basename7) => basename7 === "AGENTS.md" || basename7 === "CLAUDE.md" || basename7 === "GEMINI.md";
|
|
663
667
|
var getCopilotFileKind = (filePath) => {
|
|
664
668
|
const normalizedFilePath = normalizeFilePath(filePath);
|
|
665
669
|
const basename7 = path.posix.basename(normalizedFilePath);
|
|
666
|
-
if (normalizedFilePath
|
|
670
|
+
if (isRepositoryInstructionsFilePath(normalizedFilePath)) {
|
|
667
671
|
return "repository-instructions";
|
|
668
672
|
}
|
|
669
673
|
if (normalizedFilePath.includes("/.github/instructions/") && basename7.endsWith(".instructions.md")) {
|
|
@@ -709,7 +713,13 @@ var findRepositoryRoot = (filePath) => {
|
|
|
709
713
|
currentDirectory = parentDirectory;
|
|
710
714
|
}
|
|
711
715
|
};
|
|
712
|
-
var
|
|
716
|
+
var getRepositoryInstructionsPaths = (filePath) => {
|
|
717
|
+
const repositoryRoot = findRepositoryRoot(filePath);
|
|
718
|
+
return [
|
|
719
|
+
path.join(repositoryRoot, ".github", "copilot-instructions.md"),
|
|
720
|
+
path.join(repositoryRoot, ".github", "instructions", "copilot-instructions.md")
|
|
721
|
+
];
|
|
722
|
+
};
|
|
713
723
|
|
|
714
724
|
// dist/_internal/create-copilot-rule.js
|
|
715
725
|
var import_utils = require("@typescript-eslint/utils");
|
|
@@ -3378,8 +3388,8 @@ var requireRepositoryInstructionsFileRule = createCopilotRule({
|
|
|
3378
3388
|
if (fileKind !== "agent-instructions" && fileKind !== "chatmode" && fileKind !== "instructions" && fileKind !== "prompt") {
|
|
3379
3389
|
return;
|
|
3380
3390
|
}
|
|
3381
|
-
const
|
|
3382
|
-
if (fs7.existsSync(repositoryInstructionsPath)) {
|
|
3391
|
+
const repositoryInstructionsPaths = getRepositoryInstructionsPaths(context.filename);
|
|
3392
|
+
if (repositoryInstructionsPaths.some((repositoryInstructionsPath) => fs7.existsSync(repositoryInstructionsPath))) {
|
|
3383
3393
|
return;
|
|
3384
3394
|
}
|
|
3385
3395
|
reportAtDocumentStart(context, {
|
|
@@ -3394,13 +3404,13 @@ var requireRepositoryInstructionsFileRule = createCopilotRule({
|
|
|
3394
3404
|
"copilot.configs.strict",
|
|
3395
3405
|
"copilot.configs.all"
|
|
3396
3406
|
],
|
|
3397
|
-
description: "require repositories that define Copilot customization assets to also provide `.github/copilot-instructions.md`.",
|
|
3407
|
+
description: "require repositories that define Copilot customization assets to also provide repository instructions via `.github/copilot-instructions.md` or `.github/instructions/copilot-instructions.md`.",
|
|
3398
3408
|
frozen: false,
|
|
3399
3409
|
recommended: false,
|
|
3400
3410
|
requiresTypeChecking: false
|
|
3401
3411
|
},
|
|
3402
3412
|
messages: {
|
|
3403
|
-
missingRepositoryInstructions: "Repositories that define Copilot prompts, custom agents, legacy chat modes, agent instructions, or path-specific instructions should also provide `.github/copilot-instructions.md`
|
|
3413
|
+
missingRepositoryInstructions: "Repositories that define Copilot prompts, custom agents, legacy chat modes, agent instructions, or path-specific instructions should also provide baseline repository guidance in `.github/copilot-instructions.md` or `.github/instructions/copilot-instructions.md`."
|
|
3404
3414
|
},
|
|
3405
3415
|
schema: [],
|
|
3406
3416
|
type: "suggestion"
|
|
@@ -5119,6 +5129,7 @@ var copilotRules = copilotRuleRegistry;
|
|
|
5119
5129
|
var ERROR_SEVERITY = "error";
|
|
5120
5130
|
var COPILOT_MARKDOWN_FILES = [
|
|
5121
5131
|
".github/copilot-instructions.md",
|
|
5132
|
+
".github/instructions/copilot-instructions.md",
|
|
5122
5133
|
".github/instructions/**/*.instructions.md",
|
|
5123
5134
|
".github/prompts/**/*.prompt.md",
|
|
5124
5135
|
".github/agents/**/*.agent.md",
|