eslint-plugin-copilot 1.0.6 → 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.
Files changed (223) hide show
  1. package/README.md +74 -71
  2. package/dist/_internal/copilot-file-kind.d.ts +4 -0
  3. package/dist/_internal/copilot-file-kind.d.ts.map +1 -1
  4. package/dist/_internal/copilot-file-kind.js +17 -2
  5. package/dist/_internal/copilot-file-kind.js.map +1 -1
  6. package/dist/plugin.cjs +83 -141
  7. package/dist/plugin.cjs.map +2 -2
  8. package/dist/plugin.d.ts.map +1 -1
  9. package/dist/plugin.js +1 -0
  10. package/dist/plugin.js.map +1 -1
  11. package/dist/rules/no-blank-customization-body.d.ts.map +1 -1
  12. package/dist/rules/no-blank-customization-body.js +0 -1
  13. package/dist/rules/no-blank-customization-body.js.map +1 -1
  14. package/dist/rules/no-blank-repository-instructions.d.ts.map +1 -1
  15. package/dist/rules/no-blank-repository-instructions.js +0 -1
  16. package/dist/rules/no-blank-repository-instructions.js.map +1 -1
  17. package/dist/rules/no-blank-skill-body.d.ts.map +1 -1
  18. package/dist/rules/no-blank-skill-body.js +0 -1
  19. package/dist/rules/no-blank-skill-body.js.map +1 -1
  20. package/dist/rules/no-deprecated-agent-infer.d.ts.map +1 -1
  21. package/dist/rules/no-deprecated-agent-infer.js +0 -1
  22. package/dist/rules/no-deprecated-agent-infer.js.map +1 -1
  23. package/dist/rules/no-duplicate-agent-names.d.ts.map +1 -1
  24. package/dist/rules/no-duplicate-agent-names.js +0 -1
  25. package/dist/rules/no-duplicate-agent-names.js.map +1 -1
  26. package/dist/rules/no-duplicate-prompt-names.d.ts.map +1 -1
  27. package/dist/rules/no-duplicate-prompt-names.js +0 -1
  28. package/dist/rules/no-duplicate-prompt-names.js.map +1 -1
  29. package/dist/rules/no-duplicate-skill-names.d.ts.map +1 -1
  30. package/dist/rules/no-duplicate-skill-names.js +0 -1
  31. package/dist/rules/no-duplicate-skill-names.js.map +1 -1
  32. package/dist/rules/no-duplicate-slash-command-names.d.ts.map +1 -1
  33. package/dist/rules/no-duplicate-slash-command-names.js +0 -1
  34. package/dist/rules/no-duplicate-slash-command-names.js.map +1 -1
  35. package/dist/rules/no-empty-repository-hook-arrays.d.ts.map +1 -1
  36. package/dist/rules/no-empty-repository-hook-arrays.js +0 -1
  37. package/dist/rules/no-empty-repository-hook-arrays.js.map +1 -1
  38. package/dist/rules/no-legacy-chatmode-files.d.ts.map +1 -1
  39. package/dist/rules/no-legacy-chatmode-files.js +0 -1
  40. package/dist/rules/no-legacy-chatmode-files.js.map +1 -1
  41. package/dist/rules/prefer-custom-instructions-under-code-review-limit.d.ts.map +1 -1
  42. package/dist/rules/prefer-custom-instructions-under-code-review-limit.js +0 -1
  43. package/dist/rules/prefer-custom-instructions-under-code-review-limit.js.map +1 -1
  44. package/dist/rules/prefer-fast-repository-hooks.d.ts.map +1 -1
  45. package/dist/rules/prefer-fast-repository-hooks.js +0 -1
  46. package/dist/rules/prefer-fast-repository-hooks.js.map +1 -1
  47. package/dist/rules/prefer-qualified-tools.d.ts.map +1 -1
  48. package/dist/rules/prefer-qualified-tools.js +0 -1
  49. package/dist/rules/prefer-qualified-tools.js.map +1 -1
  50. package/dist/rules/require-agent-tool-for-subagents.d.ts.map +1 -1
  51. package/dist/rules/require-agent-tool-for-subagents.js +0 -1
  52. package/dist/rules/require-agent-tool-for-subagents.js.map +1 -1
  53. package/dist/rules/require-agents-md-for-cross-surface-agent-instructions.d.ts.map +1 -1
  54. package/dist/rules/require-agents-md-for-cross-surface-agent-instructions.js +0 -1
  55. package/dist/rules/require-agents-md-for-cross-surface-agent-instructions.js.map +1 -1
  56. package/dist/rules/require-chatmode-file-metadata.d.ts.map +1 -1
  57. package/dist/rules/require-chatmode-file-metadata.js +0 -1
  58. package/dist/rules/require-chatmode-file-metadata.js.map +1 -1
  59. package/dist/rules/require-existing-agent-hook-cwd.d.ts.map +1 -1
  60. package/dist/rules/require-existing-agent-hook-cwd.js +0 -1
  61. package/dist/rules/require-existing-agent-hook-cwd.js.map +1 -1
  62. package/dist/rules/require-existing-agent-mcp-servers.d.ts.map +1 -1
  63. package/dist/rules/require-existing-agent-mcp-servers.js +0 -1
  64. package/dist/rules/require-existing-agent-mcp-servers.js.map +1 -1
  65. package/dist/rules/require-existing-relative-agent-links.d.ts.map +1 -1
  66. package/dist/rules/require-existing-relative-agent-links.js +0 -1
  67. package/dist/rules/require-existing-relative-agent-links.js.map +1 -1
  68. package/dist/rules/require-existing-relative-instructions-links.d.ts.map +1 -1
  69. package/dist/rules/require-existing-relative-instructions-links.js +0 -1
  70. package/dist/rules/require-existing-relative-instructions-links.js.map +1 -1
  71. package/dist/rules/require-existing-relative-prompt-links.d.ts.map +1 -1
  72. package/dist/rules/require-existing-relative-prompt-links.js +0 -1
  73. package/dist/rules/require-existing-relative-prompt-links.js.map +1 -1
  74. package/dist/rules/require-existing-relative-skill-links.d.ts.map +1 -1
  75. package/dist/rules/require-existing-relative-skill-links.js +0 -1
  76. package/dist/rules/require-existing-relative-skill-links.js.map +1 -1
  77. package/dist/rules/require-existing-repository-hook-cwd.d.ts.map +1 -1
  78. package/dist/rules/require-existing-repository-hook-cwd.js +0 -1
  79. package/dist/rules/require-existing-repository-hook-cwd.js.map +1 -1
  80. package/dist/rules/require-github-copilot-target-for-mcp-servers.d.ts.map +1 -1
  81. package/dist/rules/require-github-copilot-target-for-mcp-servers.js +0 -1
  82. package/dist/rules/require-github-copilot-target-for-mcp-servers.js.map +1 -1
  83. package/dist/rules/require-instructions-apply-to.d.ts.map +1 -1
  84. package/dist/rules/require-instructions-apply-to.js +0 -1
  85. package/dist/rules/require-instructions-apply-to.js.map +1 -1
  86. package/dist/rules/require-json-agent-mcp-servers.d.ts.map +1 -1
  87. package/dist/rules/require-json-agent-mcp-servers.js +0 -1
  88. package/dist/rules/require-json-agent-mcp-servers.js.map +1 -1
  89. package/dist/rules/require-prompt-file-metadata.d.ts.map +1 -1
  90. package/dist/rules/require-prompt-file-metadata.js +0 -1
  91. package/dist/rules/require-prompt-file-metadata.js.map +1 -1
  92. package/dist/rules/require-qualified-agent-handoff-models.d.ts.map +1 -1
  93. package/dist/rules/require-qualified-agent-handoff-models.js +0 -1
  94. package/dist/rules/require-qualified-agent-handoff-models.js.map +1 -1
  95. package/dist/rules/require-relative-agent-hook-cwd.d.ts.map +1 -1
  96. package/dist/rules/require-relative-agent-hook-cwd.js +0 -1
  97. package/dist/rules/require-relative-agent-hook-cwd.js.map +1 -1
  98. package/dist/rules/require-relative-agent-links.d.ts.map +1 -1
  99. package/dist/rules/require-relative-agent-links.js +0 -1
  100. package/dist/rules/require-relative-agent-links.js.map +1 -1
  101. package/dist/rules/require-relative-instructions-links.d.ts.map +1 -1
  102. package/dist/rules/require-relative-instructions-links.js +0 -1
  103. package/dist/rules/require-relative-instructions-links.js.map +1 -1
  104. package/dist/rules/require-relative-prompt-links.d.ts.map +1 -1
  105. package/dist/rules/require-relative-prompt-links.js +0 -1
  106. package/dist/rules/require-relative-prompt-links.js.map +1 -1
  107. package/dist/rules/require-relative-repository-hook-cwd.d.ts.map +1 -1
  108. package/dist/rules/require-relative-repository-hook-cwd.js +0 -1
  109. package/dist/rules/require-relative-repository-hook-cwd.js.map +1 -1
  110. package/dist/rules/require-relative-skill-links.d.ts.map +1 -1
  111. package/dist/rules/require-relative-skill-links.js +0 -1
  112. package/dist/rules/require-relative-skill-links.js.map +1 -1
  113. package/dist/rules/require-repository-hook-arrays.d.ts.map +1 -1
  114. package/dist/rules/require-repository-hook-arrays.js +0 -1
  115. package/dist/rules/require-repository-hook-arrays.js.map +1 -1
  116. package/dist/rules/require-repository-hook-command-shell.d.ts.map +1 -1
  117. package/dist/rules/require-repository-hook-command-shell.js +0 -1
  118. package/dist/rules/require-repository-hook-command-shell.js.map +1 -1
  119. package/dist/rules/require-repository-hooks-object.d.ts.map +1 -1
  120. package/dist/rules/require-repository-hooks-object.js +0 -1
  121. package/dist/rules/require-repository-hooks-object.js.map +1 -1
  122. package/dist/rules/require-repository-instructions-file.d.ts.map +1 -1
  123. package/dist/rules/require-repository-instructions-file.js +5 -6
  124. package/dist/rules/require-repository-instructions-file.js.map +1 -1
  125. package/dist/rules/require-skill-file-location.d.ts.map +1 -1
  126. package/dist/rules/require-skill-file-location.js +0 -1
  127. package/dist/rules/require-skill-file-location.js.map +1 -1
  128. package/dist/rules/require-skill-file-metadata.d.ts.map +1 -1
  129. package/dist/rules/require-skill-file-metadata.js +0 -1
  130. package/dist/rules/require-skill-file-metadata.js.map +1 -1
  131. package/dist/rules/require-skill-md-filename.d.ts.map +1 -1
  132. package/dist/rules/require-skill-md-filename.js +0 -1
  133. package/dist/rules/require-skill-md-filename.js.map +1 -1
  134. package/dist/rules/require-skill-name-match-directory.d.ts.map +1 -1
  135. package/dist/rules/require-skill-name-match-directory.js +0 -1
  136. package/dist/rules/require-skill-name-match-directory.js.map +1 -1
  137. package/dist/rules/require-string-repository-hook-env-values.d.ts.map +1 -1
  138. package/dist/rules/require-string-repository-hook-env-values.js +0 -1
  139. package/dist/rules/require-string-repository-hook-env-values.js.map +1 -1
  140. package/dist/rules/require-valid-agent-argument-hint.d.ts.map +1 -1
  141. package/dist/rules/require-valid-agent-argument-hint.js +0 -1
  142. package/dist/rules/require-valid-agent-argument-hint.js.map +1 -1
  143. package/dist/rules/require-valid-agent-handoff-send.d.ts.map +1 -1
  144. package/dist/rules/require-valid-agent-handoff-send.js +0 -1
  145. package/dist/rules/require-valid-agent-handoff-send.js.map +1 -1
  146. package/dist/rules/require-valid-agent-handoffs.d.ts.map +1 -1
  147. package/dist/rules/require-valid-agent-handoffs.js +0 -1
  148. package/dist/rules/require-valid-agent-handoffs.js.map +1 -1
  149. package/dist/rules/require-valid-agent-hook-events.d.ts.map +1 -1
  150. package/dist/rules/require-valid-agent-hook-events.js +0 -1
  151. package/dist/rules/require-valid-agent-hook-events.js.map +1 -1
  152. package/dist/rules/require-valid-agent-hook-timeouts.d.ts.map +1 -1
  153. package/dist/rules/require-valid-agent-hook-timeouts.js +0 -1
  154. package/dist/rules/require-valid-agent-hook-timeouts.js.map +1 -1
  155. package/dist/rules/require-valid-agent-hooks.d.ts.map +1 -1
  156. package/dist/rules/require-valid-agent-hooks.js +0 -1
  157. package/dist/rules/require-valid-agent-hooks.js.map +1 -1
  158. package/dist/rules/require-valid-agent-invocation-controls.d.ts.map +1 -1
  159. package/dist/rules/require-valid-agent-invocation-controls.js +0 -1
  160. package/dist/rules/require-valid-agent-invocation-controls.js.map +1 -1
  161. package/dist/rules/require-valid-agent-mcp-servers.d.ts.map +1 -1
  162. package/dist/rules/require-valid-agent-mcp-servers.js +0 -1
  163. package/dist/rules/require-valid-agent-mcp-servers.js.map +1 -1
  164. package/dist/rules/require-valid-agent-model.d.ts.map +1 -1
  165. package/dist/rules/require-valid-agent-model.js +0 -1
  166. package/dist/rules/require-valid-agent-model.js.map +1 -1
  167. package/dist/rules/require-valid-agent-name.d.ts.map +1 -1
  168. package/dist/rules/require-valid-agent-name.js +0 -1
  169. package/dist/rules/require-valid-agent-name.js.map +1 -1
  170. package/dist/rules/require-valid-agent-subagents.d.ts.map +1 -1
  171. package/dist/rules/require-valid-agent-subagents.js +0 -1
  172. package/dist/rules/require-valid-agent-subagents.js.map +1 -1
  173. package/dist/rules/require-valid-agent-target.d.ts.map +1 -1
  174. package/dist/rules/require-valid-agent-target.js +0 -1
  175. package/dist/rules/require-valid-agent-target.js.map +1 -1
  176. package/dist/rules/require-valid-agent-tools.d.ts.map +1 -1
  177. package/dist/rules/require-valid-agent-tools.js +0 -1
  178. package/dist/rules/require-valid-agent-tools.js.map +1 -1
  179. package/dist/rules/require-valid-instructions-apply-to-globs.d.ts.map +1 -1
  180. package/dist/rules/require-valid-instructions-apply-to-globs.js +0 -1
  181. package/dist/rules/require-valid-instructions-apply-to-globs.js.map +1 -1
  182. package/dist/rules/require-valid-prompt-argument-hint.d.ts.map +1 -1
  183. package/dist/rules/require-valid-prompt-argument-hint.js +0 -1
  184. package/dist/rules/require-valid-prompt-argument-hint.js.map +1 -1
  185. package/dist/rules/require-valid-prompt-model.d.ts.map +1 -1
  186. package/dist/rules/require-valid-prompt-model.js +0 -1
  187. package/dist/rules/require-valid-prompt-model.js.map +1 -1
  188. package/dist/rules/require-valid-prompt-name.d.ts.map +1 -1
  189. package/dist/rules/require-valid-prompt-name.js +0 -1
  190. package/dist/rules/require-valid-prompt-name.js.map +1 -1
  191. package/dist/rules/require-valid-prompt-tools.d.ts.map +1 -1
  192. package/dist/rules/require-valid-prompt-tools.js +0 -1
  193. package/dist/rules/require-valid-prompt-tools.js.map +1 -1
  194. package/dist/rules/require-valid-repository-hook-command-type.d.ts.map +1 -1
  195. package/dist/rules/require-valid-repository-hook-command-type.js +0 -1
  196. package/dist/rules/require-valid-repository-hook-command-type.js.map +1 -1
  197. package/dist/rules/require-valid-repository-hook-env.d.ts.map +1 -1
  198. package/dist/rules/require-valid-repository-hook-env.js +0 -1
  199. package/dist/rules/require-valid-repository-hook-env.js.map +1 -1
  200. package/dist/rules/require-valid-repository-hook-events.d.ts.map +1 -1
  201. package/dist/rules/require-valid-repository-hook-events.js +0 -1
  202. package/dist/rules/require-valid-repository-hook-events.js.map +1 -1
  203. package/dist/rules/require-valid-repository-hook-timeouts.d.ts.map +1 -1
  204. package/dist/rules/require-valid-repository-hook-timeouts.js +0 -1
  205. package/dist/rules/require-valid-repository-hook-timeouts.js.map +1 -1
  206. package/dist/rules/require-valid-repository-hook-version.d.ts.map +1 -1
  207. package/dist/rules/require-valid-repository-hook-version.js +0 -1
  208. package/dist/rules/require-valid-repository-hook-version.js.map +1 -1
  209. package/dist/rules/require-valid-skill-directory-name.d.ts.map +1 -1
  210. package/dist/rules/require-valid-skill-directory-name.js +0 -1
  211. package/dist/rules/require-valid-skill-directory-name.js.map +1 -1
  212. package/dist/rules/require-valid-skill-license.d.ts.map +1 -1
  213. package/dist/rules/require-valid-skill-license.js +0 -1
  214. package/dist/rules/require-valid-skill-license.js.map +1 -1
  215. package/dist/rules/require-valid-skill-name.d.ts.map +1 -1
  216. package/dist/rules/require-valid-skill-name.js +0 -1
  217. package/dist/rules/require-valid-skill-name.js.map +1 -1
  218. package/docs/rules/getting-started.md +1 -1
  219. package/docs/rules/no-blank-customization-body.md +1 -1
  220. package/docs/rules/no-blank-repository-instructions.md +2 -1
  221. package/docs/rules/prefer-custom-instructions-under-code-review-limit.md +1 -0
  222. package/docs/rules/require-repository-instructions-file.md +8 -3
  223. package/package.json +66 -66
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 | all | minimal | recommended | strict |
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,MAK5D,CAAC"}
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.endsWith("/.github/copilot-instructions.md")) {
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) => path.join(findRepositoryRoot(filePath), ".github", "copilot-instructions.md");
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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"}