@ai-coders/context 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/README.md +32 -25
  2. package/dist/commands/shared/agents.d.ts +2 -0
  3. package/dist/commands/shared/agents.d.ts.map +1 -0
  4. package/dist/commands/shared/agents.js +15 -0
  5. package/dist/commands/shared/agents.js.map +1 -0
  6. package/dist/commands/shared/selection.d.ts +12 -0
  7. package/dist/commands/shared/selection.d.ts.map +1 -0
  8. package/dist/commands/shared/selection.js +95 -0
  9. package/dist/commands/shared/selection.js.map +1 -0
  10. package/dist/generators/agents/agentConfig.d.ts.map +1 -1
  11. package/dist/generators/agents/agentConfig.js +42 -0
  12. package/dist/generators/agents/agentConfig.js.map +1 -1
  13. package/dist/generators/agents/agentGenerator.d.ts +0 -1
  14. package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
  15. package/dist/generators/agents/agentGenerator.js +7 -47
  16. package/dist/generators/agents/agentGenerator.js.map +1 -1
  17. package/dist/generators/agents/agentTypes.d.ts +1 -1
  18. package/dist/generators/agents/agentTypes.d.ts.map +1 -1
  19. package/dist/generators/agents/agentTypes.js +4 -1
  20. package/dist/generators/agents/agentTypes.js.map +1 -1
  21. package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -1
  22. package/dist/generators/agents/templates/indexTemplate.js +2 -1
  23. package/dist/generators/agents/templates/indexTemplate.js.map +1 -1
  24. package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
  25. package/dist/generators/agents/templates/playbookTemplate.js +39 -3
  26. package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
  27. package/dist/generators/documentation/documentationGenerator.d.ts +3 -1
  28. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  29. package/dist/generators/documentation/documentationGenerator.js +88 -15
  30. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  31. package/dist/generators/documentation/guideRegistry.js +8 -8
  32. package/dist/generators/documentation/guideRegistry.js.map +1 -1
  33. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts +2 -0
  34. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -0
  35. package/dist/generators/documentation/templates/apiReferenceTemplate.js +490 -0
  36. package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -0
  37. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
  38. package/dist/generators/documentation/templates/architectureTemplate.js +27 -27
  39. package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
  40. package/dist/generators/documentation/templates/common.js +2 -2
  41. package/dist/generators/documentation/templates/common.js.map +1 -1
  42. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
  43. package/dist/generators/documentation/templates/dataFlowTemplate.js +5 -20
  44. package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
  45. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
  46. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +5 -20
  47. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
  48. package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
  49. package/dist/generators/documentation/templates/glossaryTemplate.js +9 -23
  50. package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
  51. package/dist/generators/documentation/templates/index.d.ts +4 -0
  52. package/dist/generators/documentation/templates/index.d.ts.map +1 -1
  53. package/dist/generators/documentation/templates/index.js +9 -1
  54. package/dist/generators/documentation/templates/index.js.map +1 -1
  55. package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
  56. package/dist/generators/documentation/templates/indexTemplate.js +5 -19
  57. package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
  58. package/dist/generators/documentation/templates/migrationTemplate.d.ts +2 -0
  59. package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -0
  60. package/dist/generators/documentation/templates/migrationTemplate.js +422 -0
  61. package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -0
  62. package/dist/generators/documentation/templates/onboardingTemplate.d.ts +2 -0
  63. package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -0
  64. package/dist/generators/documentation/templates/onboardingTemplate.js +431 -0
  65. package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -0
  66. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
  67. package/dist/generators/documentation/templates/projectOverviewTemplate.js +22 -25
  68. package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
  69. package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
  70. package/dist/generators/documentation/templates/securityTemplate.js +5 -19
  71. package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
  72. package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
  73. package/dist/generators/documentation/templates/testingTemplate.js +5 -19
  74. package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
  75. package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
  76. package/dist/generators/documentation/templates/toolingTemplate.js +6 -20
  77. package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
  78. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts +2 -0
  79. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -0
  80. package/dist/generators/documentation/templates/troubleshootingTemplate.js +292 -0
  81. package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -0
  82. package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
  83. package/dist/generators/plans/templates/indexTemplate.js +3 -2
  84. package/dist/generators/plans/templates/indexTemplate.js.map +1 -1
  85. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
  86. package/dist/generators/plans/templates/planTemplate.js +96 -13
  87. package/dist/generators/plans/templates/planTemplate.js.map +1 -1
  88. package/dist/generators/shared/generatorUtils.d.ts +1 -1
  89. package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
  90. package/dist/generators/shared/generatorUtils.js +1 -1
  91. package/dist/generators/shared/generatorUtils.js.map +1 -1
  92. package/dist/index.d.ts +2 -2
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +111 -1007
  95. package/dist/index.js.map +1 -1
  96. package/dist/prompts/defaults.d.ts +3 -0
  97. package/dist/prompts/defaults.d.ts.map +1 -0
  98. package/dist/prompts/defaults.js +95 -0
  99. package/dist/prompts/defaults.js.map +1 -0
  100. package/dist/services/baseLLMClient.d.ts +3 -3
  101. package/dist/services/baseLLMClient.d.ts.map +1 -1
  102. package/dist/services/baseLLMClient.js +44 -5
  103. package/dist/services/baseLLMClient.js.map +1 -1
  104. package/dist/services/fill/fillService.d.ts +46 -0
  105. package/dist/services/fill/fillService.d.ts.map +1 -0
  106. package/dist/services/fill/fillService.js +254 -0
  107. package/dist/services/fill/fillService.js.map +1 -0
  108. package/dist/services/init/initService.d.ts +37 -0
  109. package/dist/services/init/initService.d.ts.map +1 -0
  110. package/dist/services/init/initService.js +167 -0
  111. package/dist/services/init/initService.js.map +1 -0
  112. package/dist/services/llmClientFactory.d.ts +2 -8
  113. package/dist/services/llmClientFactory.d.ts.map +1 -1
  114. package/dist/services/llmClientFactory.js +10 -96
  115. package/dist/services/llmClientFactory.js.map +1 -1
  116. package/dist/services/openRouterClient.d.ts +0 -3
  117. package/dist/services/openRouterClient.d.ts.map +1 -1
  118. package/dist/services/openRouterClient.js +2 -49
  119. package/dist/services/openRouterClient.js.map +1 -1
  120. package/dist/services/plan/planService.d.ts +57 -0
  121. package/dist/services/plan/planService.d.ts.map +1 -0
  122. package/dist/services/plan/planService.js +334 -0
  123. package/dist/services/plan/planService.js.map +1 -0
  124. package/dist/services/shared/llmConfig.d.ts +22 -0
  125. package/dist/services/shared/llmConfig.d.ts.map +1 -0
  126. package/dist/services/shared/llmConfig.js +38 -0
  127. package/dist/services/shared/llmConfig.js.map +1 -0
  128. package/dist/types.d.ts +7 -2
  129. package/dist/types.d.ts.map +1 -1
  130. package/dist/utils/fileMapper.d.ts +1 -1
  131. package/dist/utils/fileMapper.d.ts.map +1 -1
  132. package/dist/utils/fileMapper.js +40 -19
  133. package/dist/utils/fileMapper.js.map +1 -1
  134. package/dist/utils/i18n.d.ts +23 -33
  135. package/dist/utils/i18n.d.ts.map +1 -1
  136. package/dist/utils/i18n.js +48 -68
  137. package/dist/utils/i18n.js.map +1 -1
  138. package/dist/utils/promptLoader.d.ts +12 -0
  139. package/dist/utils/promptLoader.d.ts.map +1 -0
  140. package/dist/utils/promptLoader.js +81 -0
  141. package/dist/utils/promptLoader.js.map +1 -0
  142. package/dist/utils/versionChecker.d.ts +15 -0
  143. package/dist/utils/versionChecker.d.ts.map +1 -0
  144. package/dist/utils/versionChecker.js +49 -0
  145. package/dist/utils/versionChecker.js.map +1 -0
  146. package/package.json +9 -10
  147. package/prompts/update_plan_prompt.md +4 -5
  148. package/prompts/update_scaffold_prompt.md +7 -8
  149. package/dist/generators/agents/contextUtils.d.ts +0 -8
  150. package/dist/generators/agents/contextUtils.d.ts.map +0 -1
  151. package/dist/generators/agents/contextUtils.js +0 -15
  152. package/dist/generators/agents/contextUtils.js.map +0 -1
  153. package/dist/generators/agents/promptFormatter.d.ts +0 -9
  154. package/dist/generators/agents/promptFormatter.d.ts.map +0 -1
  155. package/dist/generators/agents/promptFormatter.js +0 -84
  156. package/dist/generators/agents/promptFormatter.js.map +0 -1
  157. package/dist/generators/analyzers/codebaseAnalyzer.d.ts +0 -45
  158. package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +0 -1
  159. package/dist/generators/analyzers/codebaseAnalyzer.js +0 -293
  160. package/dist/generators/analyzers/codebaseAnalyzer.js.map +0 -1
  161. package/dist/generators/analyzers/index.d.ts +0 -3
  162. package/dist/generators/analyzers/index.d.ts.map +0 -1
  163. package/dist/generators/analyzers/index.js +0 -6
  164. package/dist/generators/analyzers/index.js.map +0 -1
  165. package/dist/generators/documentation/documentationTemplates.d.ts +0 -21
  166. package/dist/generators/documentation/documentationTemplates.d.ts.map +0 -1
  167. package/dist/generators/documentation/documentationTemplates.js +0 -359
  168. package/dist/generators/documentation/documentationTemplates.js.map +0 -1
  169. package/dist/generators/documentation/documentationTypes.d.ts +0 -11
  170. package/dist/generators/documentation/documentationTypes.d.ts.map +0 -1
  171. package/dist/generators/documentation/documentationTypes.js +0 -22
  172. package/dist/generators/documentation/documentationTypes.js.map +0 -1
  173. package/dist/generators/documentation/documentationUtils.d.ts +0 -7
  174. package/dist/generators/documentation/documentationUtils.d.ts.map +0 -1
  175. package/dist/generators/documentation/documentationUtils.js +0 -28
  176. package/dist/generators/documentation/documentationUtils.js.map +0 -1
  177. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts +0 -33
  178. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +0 -1
  179. package/dist/generators/documentation/incrementalDocumentationGenerator.js +0 -400
  180. package/dist/generators/documentation/incrementalDocumentationGenerator.js.map +0 -1
  181. package/dist/generators/documentation/templates.d.ts +0 -31
  182. package/dist/generators/documentation/templates.d.ts.map +0 -1
  183. package/dist/generators/documentation/templates.js +0 -566
  184. package/dist/generators/documentation/templates.js.map +0 -1
  185. package/dist/generators/guidelines/agentIntegration.d.ts +0 -43
  186. package/dist/generators/guidelines/agentIntegration.d.ts.map +0 -1
  187. package/dist/generators/guidelines/agentIntegration.js +0 -157
  188. package/dist/generators/guidelines/agentIntegration.js.map +0 -1
  189. package/dist/generators/guidelines/guidelineTypes.d.ts +0 -40
  190. package/dist/generators/guidelines/guidelineTypes.d.ts.map +0 -1
  191. package/dist/generators/guidelines/guidelineTypes.js +0 -144
  192. package/dist/generators/guidelines/guidelineTypes.js.map +0 -1
  193. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +0 -30
  194. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +0 -1
  195. package/dist/generators/guidelines/guidelinesAnalyzer.js +0 -263
  196. package/dist/generators/guidelines/guidelinesAnalyzer.js.map +0 -1
  197. package/dist/generators/guidelines/guidelinesGenerator.d.ts +0 -30
  198. package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +0 -1
  199. package/dist/generators/guidelines/guidelinesGenerator.js +0 -249
  200. package/dist/generators/guidelines/guidelinesGenerator.js.map +0 -1
  201. package/dist/generators/guidelines/guidelinesTemplates.d.ts +0 -23
  202. package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +0 -1
  203. package/dist/generators/guidelines/guidelinesTemplates.js +0 -304
  204. package/dist/generators/guidelines/guidelinesTemplates.js.map +0 -1
  205. package/dist/generators/guidelines/index.d.ts +0 -6
  206. package/dist/generators/guidelines/index.d.ts.map +0 -1
  207. package/dist/generators/guidelines/index.js +0 -16
  208. package/dist/generators/guidelines/index.js.map +0 -1
  209. package/dist/generators/moduleGrouper.d.ts +0 -14
  210. package/dist/generators/moduleGrouper.d.ts.map +0 -1
  211. package/dist/generators/moduleGrouper.js +0 -82
  212. package/dist/generators/moduleGrouper.js.map +0 -1
  213. package/dist/generators/projectAnalyzer.d.ts +0 -14
  214. package/dist/generators/projectAnalyzer.d.ts.map +0 -1
  215. package/dist/generators/projectAnalyzer.js +0 -217
  216. package/dist/generators/projectAnalyzer.js.map +0 -1
  217. package/dist/services/changeAnalyzer.d.ts +0 -44
  218. package/dist/services/changeAnalyzer.d.ts.map +0 -1
  219. package/dist/services/changeAnalyzer.js +0 -344
  220. package/dist/services/changeAnalyzer.js.map +0 -1
  221. package/dist/utils/interactiveMode.d.ts +0 -21
  222. package/dist/utils/interactiveMode.d.ts.map +0 -1
  223. package/dist/utils/interactiveMode.js +0 -737
  224. package/dist/utils/interactiveMode.js.map +0 -1
  225. package/dist/utils/tokenEstimator.d.ts +0 -28
  226. package/dist/utils/tokenEstimator.d.ts.map +0 -1
  227. package/dist/utils/tokenEstimator.js +0 -134
  228. package/dist/utils/tokenEstimator.js.map +0 -1
package/README.md CHANGED
@@ -4,6 +4,9 @@
4
4
  [![CI](https://github.com/vinilana/ai-coders-context/actions/workflows/ci.yml/badge.svg)](https://github.com/vinilana/ai-coders-context/actions/workflows/ci.yml)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
+ <img width="663" height="192" alt="image" src="https://github.com/user-attachments/assets/4b07f61d-6800-420a-ae91-6e952cbc790d" />
8
+
9
+
7
10
  A lightweight CLI that scaffolds living documentation and AI-agent playbooks for any repository—no LLMs or API keys required. The generated structure gives teams a consistent starting point for knowledge sharing while keeping everything under version control.
8
11
 
9
12
  ## ⚙️ Requirements
@@ -16,14 +19,14 @@ A lightweight CLI that scaffolds living documentation and AI-agent playbooks for
16
19
  - 🤖 `agents/` folder containing playbooks for common engineering agents and a handy index
17
20
  - 🔁 Repeatable scaffolding that you can re-run as the project evolves
18
21
  - 🧭 Repository-aware templates that highlight top-level directories for quick orientation
19
- - 🧠 AI-ready front matter and `ai-task` markers so assistants know exactly what to refresh
22
+ - 🧠 AI-ready front matter and `agent-update` markers so assistants know exactly what to refresh
20
23
 
21
24
  ## 📦 Installation
22
25
 
23
26
  Use `npx` to run the CLI without installing globally:
24
27
 
25
28
  ```bash
26
- npx @ai-coders/context init /path/to/repo
29
+ npx @ai-coders/context
27
30
  ```
28
31
 
29
32
  Or add it to your dev dependencies:
@@ -35,6 +38,10 @@ npm install --save-dev @ai-coders/context
35
38
  ## 🚀 Quick Start
36
39
 
37
40
  ```bash
41
+ # Launch the interactive wizard
42
+ npx @ai-coders/context
43
+
44
+
38
45
  # Scaffold docs and agents into ./.context
39
46
  npx @ai-coders/context init ./my-repo
40
47
 
@@ -45,7 +52,7 @@ npx @ai-coders/context init ./my-repo docs
45
52
  npx @ai-coders/context init ./my-repo agents --output ./knowledge-base
46
53
 
47
54
  # Fill docs and agents with the repo context (preview the first 3 updates)
48
- npx @ai-coders/context fill ./my-repo --output ./.context --dry-run --limit 3
55
+ npx @ai-coders/context fill ./my-repo --output ./.context --limit 3
49
56
 
50
57
  # Draft a collaboration plan seeded with agent and doc touchpoints
51
58
  npx @ai-coders/context plan release-readiness --output ./.context
@@ -54,6 +61,8 @@ npx @ai-coders/context plan release-readiness --output ./.context
54
61
  npx @ai-coders/context plan release-readiness --output ./.context --fill --dry-run
55
62
  ```
56
63
 
64
+ > ℹ️ The CLI pings npm for fresh releases at startup. Set `AI_CONTEXT_DISABLE_UPDATE_CHECK=true` to skip the check.
65
+
57
66
  After running the command, inspect the generated structure:
58
67
 
59
68
  ```
@@ -74,19 +83,27 @@ Customize the Markdown files to reflect your project’s specifics and commit th
74
83
 
75
84
  Need help filling in the scaffold? Use [`prompts/update_scaffold_prompt.md`](./prompts/update_scaffold_prompt.md) as the canonical instruction set for any LLM or CLI agent. It walks through:
76
85
 
77
- - Gathering repository context and locating `ai-task`/`ai-slot` markers.
86
+ - Gathering repository context and locating `agent-update`/`agent-fill` markers.
78
87
  - Updating documentation sections while satisfying the YAML front matter criteria.
79
88
  - Aligning agent playbooks with the refreshed docs and recording evidence for maintainers.
80
89
 
81
90
  Share that prompt verbatim with your assistant to keep updates consistent across teams.
82
91
 
83
- ### Available Doc Keys & Agent Types
92
+ ### Available Doc Guides & Agent Types
84
93
 
85
- Pass these values to `--docs` / `--agents` (or pick them interactively):
94
+ The scaffold includes the following guides and playbooks out of the box:
86
95
 
87
96
  - Docs: `project-overview`, `architecture`, `development-workflow`, `testing-strategy`, `glossary`, `data-flow`, `security`, `tooling`
88
97
  - Agents: `code-reviewer`, `bug-fixer`, `feature-developer`, `refactoring-specialist`, `test-writer`, `documentation-writer`, `performance-optimizer`, `security-auditor`, `backend-specialist`, `frontend-specialist`, `architect-specialist`
89
98
 
99
+ ### AI Marker Reference
100
+
101
+ - `<!-- agent-update:start:section-id --> … <!-- agent-update:end -->` wrap the sections that AI assistants should rewrite with up-to-date project knowledge.
102
+ - `<!-- agent-fill:slot-id --> … <!-- /agent-fill -->` highlight inline placeholders that must be replaced with concrete details before removing the wrapper.
103
+ - `<!-- agent-readonly:context -->` flags guidance that should remain as-is; treat the adjacent content as instructions rather than editable prose.
104
+
105
+ When contributing, focus edits inside `agent-update` regions or `agent-fill` placeholders and leave `agent-readonly` guidance untouched unless you have explicit maintainer approval.
106
+
90
107
  ## 🛠 Commands
91
108
 
92
109
  ### `init`
@@ -101,17 +118,12 @@ Arguments:
101
118
 
102
119
  Options:
103
120
  -o, --output <dir> Output directory (default: ./.context)
104
- --docs <keys...> Doc keys to scaffold (e.g., project-overview, security)
105
- --agents <keys...> Agent types to scaffold (e.g., code-reviewer, feature-developer)
106
121
  --exclude <patterns...> Glob patterns to skip during the scan
107
122
  --include <patterns...> Glob patterns to explicitly include
108
123
  -v, --verbose Print detailed progress information
109
124
  -h, --help Display help for command
110
125
  ```
111
126
 
112
- ### `scaffold`
113
- Alias for `init`. Use whichever verb fits your workflow.
114
-
115
127
  ### `fill`
116
128
  Use an LLM to refresh scaffolded docs and agent playbooks automatically.
117
129
 
@@ -121,18 +133,15 @@ Usage: ai-context fill <repo-path>
121
133
  Options:
122
134
  -o, --output <dir> Scaffold directory containing docs/ and agents/ (default: ./.context)
123
135
  -k, --api-key <key> API key for the selected LLM provider
124
- -m, --model <model> LLM model to use (default: google/gemini-2.5-flash-preview-05-20)
125
- -p, --provider <name> Provider (openrouter, openai, anthropic, gemini, grok)
126
- --prompt <file> Instruction prompt to follow (default: prompts/update_scaffold_prompt.md)
127
- --docs <keys...> Doc keys to update (default: all)
128
- --agents <keys...> Agent types to update (default: all)
129
- --dry-run Preview changes without writing files
130
- --all Process every Markdown file even if no TODO markers remain
136
+ -m, --model <model> LLM model to use (default: x-ai/grok-4-fast)
137
+ -p, --provider <name> Provider (openrouter only)
138
+ --base-url <url> Custom base URL for OpenRouter
139
+ --prompt <file> Instruction prompt to follow (optional; uses bundled instructions when omitted)
131
140
  --limit <number> Maximum number of files to update in one run
132
141
  -h, --help Display help for command
133
142
  ```
134
143
 
135
- Under the hood, the command loads the prompt above, scans for `ai-task` or `ai-slot` markers, and asks the LLM to produce the fully updated Markdown. Combine it with `--dry-run` to review responses before committing.
144
+ Under the hood, the command loads the prompt above, iterates over every Markdown file in `.context/docs` and `.context/agents`, and asks the LLM to produce the fully updated content.
136
145
 
137
146
  ### `plan`
138
147
  Create a collaboration plan that links documentation guides and agent playbooks, or fill an existing plan with LLM assistance.
@@ -144,16 +153,14 @@ Options:
144
153
  -o, --output <dir> Scaffold directory containing docs/ and agents/ (default: ./.context)
145
154
  --title <title> Custom title for the plan document
146
155
  --summary <text> Seed the plan with a short summary or goal statement
147
- --agents <types...> Agent playbooks to highlight (default: all)
148
- --docs <keys...> Documentation guides to reference (default: all)
149
156
  -f, --force Overwrite the plan if it already exists (scaffold mode)
150
157
  --fill Use an LLM to fill or update the plan instead of scaffolding
151
158
  -r, --repo <path> Repository root to summarize for additional context (fill mode)
152
159
  -k, --api-key <key> API key for the selected LLM provider (fill mode)
153
- -m, --model <model> LLM model to use (default: x-ai/grok-4-fast:free)
154
- -p, --provider <name> Provider (openrouter, openai, anthropic, gemini, grok)
155
- --base-url <url> Custom base URL for provider APIs
156
- --prompt <file> Instruction prompt to follow (default: prompts/update_plan_prompt.md)
160
+ -m, --model <model> LLM model to use (default: x-ai/grok-4-fast)
161
+ -p, --provider <name> Provider (openrouter only)
162
+ --base-url <url> Custom base URL for OpenRouter
163
+ --prompt <file> Instruction prompt to follow (optional; uses bundled instructions when omitted)
157
164
  --dry-run Preview changes without writing files
158
165
  --include <patterns...> Glob patterns to include during repository analysis
159
166
  --exclude <patterns...> Glob patterns to exclude from repository analysis
@@ -0,0 +1,2 @@
1
+ export declare function getAgentFilesByTypes(types?: string[]): Set<string> | undefined;
2
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/agents.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAW9E"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAgentFilesByTypes = getAgentFilesByTypes;
4
+ const agentTypes_1 = require("../../generators/agents/agentTypes");
5
+ function getAgentFilesByTypes(types) {
6
+ if (!types || types.length === 0) {
7
+ return undefined;
8
+ }
9
+ const allowed = new Set(agentTypes_1.AGENT_TYPES);
10
+ const files = types
11
+ .filter(type => allowed.has(type))
12
+ .map(type => `${type}.md`);
13
+ return files.length ? new Set(files) : undefined;
14
+ }
15
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/commands/shared/agents.ts"],"names":[],"mappings":";;AAEA,oDAWC;AAbD,mEAAiE;AAEjE,SAAgB,oBAAoB,CAAC,KAAgB;IACnD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,wBAAW,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK;SAChB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAkC,CAAC,CAAC;SAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;IAE7B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface SelectionParseResult {
2
+ selected?: string[];
3
+ invalid: string[];
4
+ provided: boolean;
5
+ explicitNone: boolean;
6
+ }
7
+ export declare function parseDocSelection(input: unknown): SelectionParseResult;
8
+ export declare function parseAgentSelection(input: unknown): SelectionParseResult;
9
+ export declare function shouldGenerateDocs(resolvedType: 'docs' | 'agents' | 'both', selection: SelectionParseResult): boolean;
10
+ export declare function shouldGenerateAgents(resolvedType: 'docs' | 'agents' | 'both', selection: SelectionParseResult): boolean;
11
+ export declare function determineScaffoldType(docSelection?: string[], agentSelection?: string[]): 'docs' | 'agents' | 'both';
12
+ //# sourceMappingURL=selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/selection.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAmBtE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAoBxE;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,EAAE,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAkBrH;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,EAAE,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAkBvH;AAED,wBAAgB,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAOpH"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseDocSelection = parseDocSelection;
4
+ exports.parseAgentSelection = parseAgentSelection;
5
+ exports.shouldGenerateDocs = shouldGenerateDocs;
6
+ exports.shouldGenerateAgents = shouldGenerateAgents;
7
+ exports.determineScaffoldType = determineScaffoldType;
8
+ const guideRegistry_1 = require("../../generators/documentation/guideRegistry");
9
+ const agentTypes_1 = require("../../generators/agents/agentTypes");
10
+ function parseDocSelection(input) {
11
+ if (input === undefined) {
12
+ return { selected: undefined, invalid: [], provided: false, explicitNone: false };
13
+ }
14
+ if (Array.isArray(input) && input.length === 0) {
15
+ return { selected: [], invalid: [], provided: true, explicitNone: true };
16
+ }
17
+ const values = toStringArray(input);
18
+ const normalized = values.map(value => value.toLowerCase().replace(/\.md$/, ''));
19
+ const valid = Array.from(new Set(normalized.filter(key => guideRegistry_1.DOCUMENT_GUIDE_KEYS.includes(key))));
20
+ const invalid = normalized.filter(key => !guideRegistry_1.DOCUMENT_GUIDE_KEYS.includes(key));
21
+ if (values.length > 0 && valid.length === 0 && invalid.length > 0) {
22
+ return { selected: undefined, invalid, provided: true, explicitNone: false };
23
+ }
24
+ return { selected: valid.length > 0 ? valid : undefined, invalid, provided: true, explicitNone: false };
25
+ }
26
+ function parseAgentSelection(input) {
27
+ if (input === undefined) {
28
+ return { selected: undefined, invalid: [], provided: false, explicitNone: false };
29
+ }
30
+ if (Array.isArray(input) && input.length === 0) {
31
+ return { selected: [], invalid: [], provided: true, explicitNone: true };
32
+ }
33
+ const values = toStringArray(input);
34
+ const normalized = values.map(value => value.toLowerCase().replace(/\.md$/, ''));
35
+ const allowed = new Set(agentTypes_1.AGENT_TYPES);
36
+ const valid = Array.from(new Set(normalized.filter(value => allowed.has(value))));
37
+ const invalid = normalized.filter(value => !allowed.has(value));
38
+ if (values.length > 0 && valid.length === 0 && invalid.length > 0) {
39
+ return { selected: undefined, invalid, provided: true, explicitNone: false };
40
+ }
41
+ return { selected: valid.length > 0 ? valid : undefined, invalid, provided: true, explicitNone: false };
42
+ }
43
+ function shouldGenerateDocs(resolvedType, selection) {
44
+ if (selection.explicitNone) {
45
+ return false;
46
+ }
47
+ if (resolvedType === 'agents') {
48
+ return false;
49
+ }
50
+ if (!selection.provided) {
51
+ return resolvedType === 'docs' || resolvedType === 'both';
52
+ }
53
+ if (selection.selected && selection.selected.length === 0) {
54
+ return false;
55
+ }
56
+ return resolvedType === 'docs' || resolvedType === 'both';
57
+ }
58
+ function shouldGenerateAgents(resolvedType, selection) {
59
+ if (selection.explicitNone) {
60
+ return false;
61
+ }
62
+ if (resolvedType === 'docs') {
63
+ return false;
64
+ }
65
+ if (!selection.provided) {
66
+ return resolvedType === 'agents' || resolvedType === 'both';
67
+ }
68
+ if (selection.selected && selection.selected.length === 0) {
69
+ return false;
70
+ }
71
+ return resolvedType === 'agents' || resolvedType === 'both';
72
+ }
73
+ function determineScaffoldType(docSelection, agentSelection) {
74
+ const docsSelected = docSelection === undefined ? true : docSelection.length > 0;
75
+ const agentsSelected = agentSelection === undefined ? true : agentSelection.length > 0;
76
+ if (docsSelected && agentsSelected)
77
+ return 'both';
78
+ if (docsSelected)
79
+ return 'docs';
80
+ return 'agents';
81
+ }
82
+ function toStringArray(input) {
83
+ if (Array.isArray(input)) {
84
+ return input.map(item => item.toString().trim()).filter(Boolean);
85
+ }
86
+ if (input === null || input === undefined) {
87
+ return [];
88
+ }
89
+ return input
90
+ .toString()
91
+ .split(',')
92
+ .map(part => part.trim())
93
+ .filter(Boolean);
94
+ }
95
+ //# sourceMappingURL=selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../src/commands/shared/selection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentConfig.d.ts","sourceRoot":"","sources":["../../../src/generators/agents/agentConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAsE9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CA8D5D,CAAC"}
1
+ {"version":3,"file":"agentConfig.d.ts","sourceRoot":"","sources":["../../../src/generators/agents/agentConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CA2F9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAmF5D,CAAC"}
@@ -70,6 +70,27 @@ exports.AGENT_RESPONSIBILITIES = {
70
70
  'Evaluate and recommend technology choices',
71
71
  'Plan system scalability and maintainability',
72
72
  'Create architectural documentation and diagrams'
73
+ ],
74
+ 'devops-specialist': [
75
+ 'Design and maintain CI/CD pipelines',
76
+ 'Implement infrastructure as code',
77
+ 'Configure monitoring and alerting systems',
78
+ 'Manage container orchestration and deployments',
79
+ 'Optimize cloud resources and cost efficiency'
80
+ ],
81
+ 'database-specialist': [
82
+ 'Design and optimize database schemas',
83
+ 'Create and manage database migrations',
84
+ 'Optimize query performance and indexing',
85
+ 'Ensure data integrity and consistency',
86
+ 'Implement backup and recovery strategies'
87
+ ],
88
+ 'mobile-specialist': [
89
+ 'Develop native and cross-platform mobile applications',
90
+ 'Optimize mobile app performance and battery usage',
91
+ 'Implement mobile-specific UI/UX patterns',
92
+ 'Handle app store deployment and updates',
93
+ 'Integrate push notifications and offline capabilities'
73
94
  ]
74
95
  };
75
96
  exports.AGENT_BEST_PRACTICES = {
@@ -133,6 +154,27 @@ exports.AGENT_BEST_PRACTICES = {
133
154
  'Document architectural decisions and rationale',
134
155
  'Promote code reusability and modularity',
135
156
  'Stay updated on industry trends and technologies'
157
+ ],
158
+ 'devops-specialist': [
159
+ 'Automate everything that can be automated',
160
+ 'Implement infrastructure as code for reproducibility',
161
+ 'Monitor system health proactively',
162
+ 'Design for failure and implement proper fallbacks',
163
+ 'Keep security and compliance in every deployment'
164
+ ],
165
+ 'database-specialist': [
166
+ 'Always benchmark queries before and after optimization',
167
+ 'Plan migrations with rollback strategies',
168
+ 'Use appropriate indexing strategies for workloads',
169
+ 'Maintain data consistency across transactions',
170
+ 'Document schema changes and their business impact'
171
+ ],
172
+ 'mobile-specialist': [
173
+ 'Test on real devices, not just simulators',
174
+ 'Optimize for battery life and data usage',
175
+ 'Follow platform-specific design guidelines',
176
+ 'Implement proper offline-first strategies',
177
+ 'Plan for app store review requirements early'
136
178
  ]
137
179
  };
138
180
  //# sourceMappingURL=agentConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentConfig.js","sourceRoot":"","sources":["../../../src/generators/agents/agentConfig.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAgC;IACjE,eAAe,EAAE;QACf,4DAA4D;QAC5D,6CAA6C;QAC7C,yCAAyC;QACzC,+CAA+C;KAChD;IACD,WAAW,EAAE;QACX,wCAAwC;QACxC,gCAAgC;QAChC,oDAAoD;QACpD,yCAAyC;KAC1C;IACD,mBAAmB,EAAE;QACnB,oDAAoD;QACpD,8CAA8C;QAC9C,2CAA2C;QAC3C,iDAAiD;KAClD;IACD,wBAAwB,EAAE;QACxB,oDAAoD;QACpD,+CAA+C;QAC/C,yCAAyC;QACzC,uCAAuC;KACxC;IACD,aAAa,EAAE;QACb,gDAAgD;QAChD,+CAA+C;QAC/C,oCAAoC;QACpC,oCAAoC;KACrC;IACD,sBAAsB,EAAE;QACtB,2CAA2C;QAC3C,+CAA+C;QAC/C,0CAA0C;QAC1C,uCAAuC;KACxC;IACD,uBAAuB,EAAE;QACvB,kCAAkC;QAClC,wCAAwC;QACxC,8BAA8B;QAC9B,oCAAoC;KACrC;IACD,kBAAkB,EAAE;QAClB,mCAAmC;QACnC,mCAAmC;QACnC,yCAAyC;QACzC,+CAA+C;KAChD;IACD,oBAAoB,EAAE;QACpB,+CAA+C;QAC/C,4CAA4C;QAC5C,2CAA2C;QAC3C,4CAA4C;QAC5C,sCAAsC;KACvC;IACD,qBAAqB,EAAE;QACrB,sCAAsC;QACtC,mDAAmD;QACnD,mDAAmD;QACnD,wCAAwC;QACxC,oCAAoC;KACrC;IACD,sBAAsB,EAAE;QACtB,iDAAiD;QACjD,+CAA+C;QAC/C,2CAA2C;QAC3C,6CAA6C;QAC7C,iDAAiD;KAClD;CACF,CAAC;AAEW,QAAA,oBAAoB,GAAgC;IAC/D,eAAe,EAAE;QACf,0CAA0C;QAC1C,wCAAwC;QACxC,0CAA0C;KAC3C;IACD,WAAW,EAAE;QACX,iCAAiC;QACjC,mCAAmC;QACnC,uCAAuC;KACxC;IACD,mBAAmB,EAAE;QACnB,0CAA0C;QAC1C,wCAAwC;QACxC,sCAAsC;KACvC;IACD,wBAAwB,EAAE;QACxB,iCAAiC;QACjC,uCAAuC;QACvC,yCAAyC;KAC1C;IACD,aAAa,EAAE;QACb,6CAA6C;QAC7C,qCAAqC;QACrC,4BAA4B;KAC7B;IACD,sBAAsB,EAAE;QACtB,yCAAyC;QACzC,oCAAoC;QACpC,4BAA4B;KAC7B;IACD,uBAAuB,EAAE;QACvB,2BAA2B;QAC3B,6BAA6B;QAC7B,4CAA4C;KAC7C;IACD,kBAAkB,EAAE;QAClB,gCAAgC;QAChC,wCAAwC;QACxC,2CAA2C;KAC5C;IACD,oBAAoB,EAAE;QACpB,wDAAwD;QACxD,6CAA6C;QAC7C,wDAAwD;QACxD,qDAAqD;QACrD,oDAAoD;KACrD;IACD,qBAAqB,EAAE;QACrB,6CAA6C;QAC7C,gDAAgD;QAChD,wCAAwC;QACxC,8CAA8C;QAC9C,wCAAwC;KACzC;IACD,sBAAsB,EAAE;QACtB,oDAAoD;QACpD,mDAAmD;QACnD,gDAAgD;QAChD,yCAAyC;QACzC,kDAAkD;KACnD;CACF,CAAC"}
1
+ {"version":3,"file":"agentConfig.js","sourceRoot":"","sources":["../../../src/generators/agents/agentConfig.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,5 @@ export declare class AgentGenerator {
5
5
  generateAgentPrompts(repoStructure: RepoStructure, outputDir: string, selectedAgentTypes?: string[], verbose?: boolean): Promise<number>;
6
6
  private resolveAgentSelection;
7
7
  private buildContext;
8
- private formatDirectoryList;
9
8
  }
10
9
  //# sourceMappingURL=agentGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/agents/agentGenerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAe5C,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CA8C7B;gBAEU,GAAG,WAAW,EAAE,OAAO,EAAE;IAG/B,oBAAoB,CACxB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAC7B,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,MAAM,CAAC;IAuBlB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,mBAAmB;CAO5B"}
1
+ {"version":3,"file":"agentGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/agents/agentGenerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgB5C,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAW7B;gBAEU,GAAG,WAAW,EAAE,OAAO,EAAE;IAG/B,oBAAoB,CACxB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAC7B,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,MAAM,CAAC;IAuBlB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,YAAY;CAerB"}
@@ -38,54 +38,20 @@ const path = __importStar(require("path"));
38
38
  const shared_1 = require("../shared");
39
39
  const agentTypes_1 = require("./agentTypes");
40
40
  const templates_1 = require("./templates");
41
+ const guideRegistry_1 = require("../documentation/guideRegistry");
41
42
  class AgentGenerator {
42
43
  constructor(..._legacyArgs) {
43
44
  this.docTouchpoints = [
44
45
  {
45
46
  title: 'Documentation Index',
46
47
  path: '../docs/README.md',
47
- marker: 'ai-task:docs-index'
48
+ marker: 'agent-update:docs-index'
48
49
  },
49
- {
50
- title: 'Project Overview',
51
- path: '../docs/project-overview.md',
52
- marker: 'ai-task:project-overview'
53
- },
54
- {
55
- title: 'Architecture Notes',
56
- path: '../docs/architecture.md',
57
- marker: 'ai-task:architecture-notes'
58
- },
59
- {
60
- title: 'Development Workflow',
61
- path: '../docs/development-workflow.md',
62
- marker: 'ai-task:development-workflow'
63
- },
64
- {
65
- title: 'Testing Strategy',
66
- path: '../docs/testing-strategy.md',
67
- marker: 'ai-task:testing-strategy'
68
- },
69
- {
70
- title: 'Glossary & Domain Concepts',
71
- path: '../docs/glossary.md',
72
- marker: 'ai-task:glossary'
73
- },
74
- {
75
- title: 'Data Flow & Integrations',
76
- path: '../docs/data-flow.md',
77
- marker: 'ai-task:data-flow'
78
- },
79
- {
80
- title: 'Security & Compliance Notes',
81
- path: '../docs/security.md',
82
- marker: 'ai-task:security'
83
- },
84
- {
85
- title: 'Tooling & Productivity Guide',
86
- path: '../docs/tooling.md',
87
- marker: 'ai-task:tooling'
88
- }
50
+ ...guideRegistry_1.DOCUMENT_GUIDES.map(guide => ({
51
+ title: guide.title,
52
+ path: `../docs/${guide.file}`,
53
+ marker: guide.marker
54
+ }))
89
55
  ];
90
56
  }
91
57
  async generateAgentPrompts(repoStructure, outputDir, selectedAgentTypes, verbose = false) {
@@ -126,12 +92,6 @@ class AgentGenerator {
126
92
  topLevelDirectories: Array.from(directorySet).sort()
127
93
  };
128
94
  }
129
- formatDirectoryList(topLevelDirectories) {
130
- if (topLevelDirectories.length === 0) {
131
- return '';
132
- }
133
- return topLevelDirectories.map(dir => `- \`${dir}/\` — Note why this directory matters for the agent.`).join('\n');
134
- }
135
95
  }
136
96
  exports.AgentGenerator = AgentGenerator;
137
97
  //# sourceMappingURL=agentGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentGenerator.js","sourceRoot":"","sources":["../../../src/generators/agents/agentGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentGenerator.js","sourceRoot":"","sources":["../../../src/generators/agents/agentGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const AGENT_TYPES: readonly ["code-reviewer", "bug-fixer", "feature-developer", "refactoring-specialist", "test-writer", "documentation-writer", "performance-optimizer", "security-auditor", "backend-specialist", "frontend-specialist", "architect-specialist"];
1
+ export declare const AGENT_TYPES: readonly ["code-reviewer", "bug-fixer", "feature-developer", "refactoring-specialist", "test-writer", "documentation-writer", "performance-optimizer", "security-auditor", "backend-specialist", "frontend-specialist", "architect-specialist", "devops-specialist", "database-specialist", "mobile-specialist"];
2
2
  export type AgentType = typeof AGENT_TYPES[number];
3
3
  export declare const IMPORTANT_FILES: string[];
4
4
  //# sourceMappingURL=agentTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentTypes.d.ts","sourceRoot":"","sources":["../../../src/generators/agents/agentTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,iPAYd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAEnD,eAAO,MAAM,eAAe,UAI3B,CAAC"}
1
+ {"version":3,"file":"agentTypes.d.ts","sourceRoot":"","sources":["../../../src/generators/agents/agentTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,kTAed,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAEnD,eAAO,MAAM,eAAe,UAI3B,CAAC"}
@@ -12,7 +12,10 @@ exports.AGENT_TYPES = [
12
12
  'security-auditor',
13
13
  'backend-specialist',
14
14
  'frontend-specialist',
15
- 'architect-specialist'
15
+ 'architect-specialist',
16
+ 'devops-specialist',
17
+ 'database-specialist',
18
+ 'mobile-specialist'
16
19
  ];
17
20
  exports.IMPORTANT_FILES = [
18
21
  'package.json', 'tsconfig.json', 'webpack.config.js',
@@ -1 +1 @@
1
- {"version":3,"file":"agentTypes.js","sourceRoot":"","sources":["../../../src/generators/agents/agentTypes.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,eAAe;IACf,WAAW;IACX,mBAAmB;IACnB,wBAAwB;IACxB,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,kBAAkB;IAClB,oBAAoB;IACpB,qBAAqB;IACrB,sBAAsB;CACd,CAAC;AAIE,QAAA,eAAe,GAAG;IAC7B,cAAc,EAAE,eAAe,EAAE,mBAAmB;IACpD,gBAAgB,EAAE,oBAAoB,EAAE,WAAW;IACnD,YAAY,EAAE,YAAY,EAAE,oBAAoB;CACjD,CAAC"}
1
+ {"version":3,"file":"agentTypes.js","sourceRoot":"","sources":["../../../src/generators/agents/agentTypes.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,eAAe;IACf,WAAW;IACX,mBAAmB;IACnB,wBAAwB;IACxB,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,kBAAkB;IAClB,oBAAoB;IACpB,qBAAqB;IACrB,sBAAsB;IACtB,mBAAmB;IACnB,qBAAqB;IACrB,mBAAmB;CACX,CAAC;AAIE,QAAA,eAAe,GAAG;IAC7B,cAAc,EAAE,eAAe,EAAE,mBAAmB;IACpD,gBAAgB,EAAE,oBAAoB,EAAE,WAAW;IACnD,YAAY,EAAE,YAAY,EAAE,oBAAoB;CACjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"indexTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/agents/templates/indexTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAwBzE"}
1
+ {"version":3,"file":"indexTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/agents/templates/indexTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAyBzE"}
@@ -23,7 +23,8 @@ ${agentEntries}
23
23
 
24
24
  ## Related Resources
25
25
  - [Documentation Index](../docs/README.md)
26
- - [Contributor Guidelines](../AGENTS.md)
26
+ - [Agent Knowledge Base](../../AGENTS.md)
27
+ - [Contributor Guidelines](../../CONTRIBUTING.md)
27
28
  `;
28
29
  }
29
30
  function formatTitle(agentType) {
@@ -1 +1 @@
1
- {"version":3,"file":"indexTemplate.js","sourceRoot":"","sources":["../../../../src/generators/agents/templates/indexTemplate.ts"],"names":[],"mappings":";;AAGA,4CAwBC;AA1BD,gDAAwD;AAExD,SAAgB,gBAAgB,CAAC,UAAgC;IAC/D,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,qBAAqB,GAAG,oCAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,iCAAiC,CAAC;QACrG,OAAO,MAAM,KAAK,OAAO,IAAI,UAAU,qBAAqB,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;EAKP,YAAY;;;;;;;;;;;CAWb,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,SAAS;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"indexTemplate.js","sourceRoot":"","sources":["../../../../src/generators/agents/templates/indexTemplate.ts"],"names":[],"mappings":";;AAGA,4CAyBC;AA3BD,gDAAwD;AAExD,SAAgB,gBAAgB,CAAC,UAAgC;IAC/D,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,qBAAqB,GAAG,oCAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,iCAAiC,CAAC;QACrG,OAAO,MAAM,KAAK,OAAO,IAAI,UAAU,qBAAqB,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;;;;EAKP,YAAY;;;;;;;;;;;;CAYb,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,SAAS;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"playbookTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/agents/templates/playbookTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,WAAW,EAAE,aAAa,EAAE,GAC3B,MAAM,CA8CR"}
1
+ {"version":3,"file":"playbookTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/agents/templates/playbookTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,WAAW,EAAE,aAAa,EAAE,GAC3B,MAAM,CAkFR"}
@@ -8,10 +8,12 @@ function renderAgentPlaybook(agentType, topLevelDirectories, touchpoints) {
8
8
  const responsibilities = agentConfig_1.AGENT_RESPONSIBILITIES[agentType] || ['Clarify this agent\'s responsibilities.'];
9
9
  const bestPractices = agentConfig_1.AGENT_BEST_PRACTICES[agentType] || ['Document preferred workflows.'];
10
10
  const directoryList = (0, directoryTemplateHelpers_1.formatDirectoryList)(topLevelDirectories);
11
+ const markerId = `agent-${agentType}`;
11
12
  const touchpointList = touchpoints
12
13
  .map(tp => `- [${tp.title}](${tp.path}) — ${tp.marker}`)
13
14
  .join('\n');
14
- return `# ${title} Agent Playbook
15
+ return `<!-- agent-update:start:${markerId} -->
16
+ # ${title} Agent Playbook
15
17
 
16
18
  ## Mission
17
19
  Describe how the ${title.toLowerCase()} agent supports the team and when to engage it.
@@ -25,7 +27,8 @@ ${formatList(bestPractices)}
25
27
  ## Key Project Resources
26
28
  - Documentation index: [docs/README.md](../docs/README.md)
27
29
  - Agent handbook: [agents/README.md](./README.md)
28
- - Contributor guide: [AGENTS.md](../AGENTS.md)
30
+ - Agent knowledge base: [AGENTS.md](../../AGENTS.md)
31
+ - Contributor guide: [CONTRIBUTING.md](../../CONTRIBUTING.md)
29
32
 
30
33
  ## Repository Starting Points
31
34
  ${directoryList || '- Add directory highlights relevant to this agent.'}
@@ -33,12 +36,43 @@ ${directoryList || '- Add directory highlights relevant to this agent.'}
33
36
  ## Documentation Touchpoints
34
37
  ${touchpointList}
35
38
 
39
+ <!-- agent-readonly:guidance -->
36
40
  ## Collaboration Checklist
37
41
  1. Confirm assumptions with issue reporters or maintainers.
38
42
  2. Review open pull requests affecting this area.
39
- 3. Update the relevant doc section listed above and remove any resolved \`ai-slot\` placeholders.
43
+ 3. Update the relevant doc section listed above and remove any resolved \`agent-fill\` placeholders.
40
44
  4. Capture learnings back in [docs/README.md](../docs/README.md) or the appropriate task marker.
41
45
 
46
+ ## Success Metrics
47
+ Track effectiveness of this agent's contributions:
48
+ - **Code Quality:** Reduced bug count, improved test coverage, decreased technical debt
49
+ - **Velocity:** Time to complete typical tasks, deployment frequency
50
+ - **Documentation:** Coverage of features, accuracy of guides, usage by team
51
+ - **Collaboration:** PR review turnaround time, feedback quality, knowledge sharing
52
+
53
+ **Target Metrics:**
54
+ - TODO: Define measurable goals specific to this agent (e.g., "Reduce bug resolution time by 30%")
55
+ - TODO: Track trends over time to identify improvement areas
56
+
57
+ ## Troubleshooting Common Issues
58
+ Document frequent problems this agent encounters and their solutions:
59
+
60
+ ### Issue: [Common Problem]
61
+ **Symptoms:** Describe what indicates this problem
62
+ **Root Cause:** Why this happens
63
+ **Resolution:** Step-by-step fix
64
+ **Prevention:** How to avoid in the future
65
+
66
+ **Example:**
67
+ ### Issue: Build Failures Due to Outdated Dependencies
68
+ **Symptoms:** Tests fail with module resolution errors
69
+ **Root Cause:** Package versions incompatible with codebase
70
+ **Resolution:**
71
+ 1. Review package.json for version ranges
72
+ 2. Run \`npm update\` to get compatible versions
73
+ 3. Test locally before committing
74
+ **Prevention:** Keep dependencies updated regularly, use lockfiles
75
+
42
76
  ## Hand-off Notes
43
77
  Summarize outcomes, remaining risks, and suggested follow-up actions after the agent completes its work.
44
78
 
@@ -46,6 +80,8 @@ Summarize outcomes, remaining risks, and suggested follow-up actions after the a
46
80
  - Reference commits, issues, or ADRs used to justify updates.
47
81
  - Command output or logs that informed recommendations.
48
82
  - Follow-up items for maintainers or future agent runs.
83
+ - Performance metrics and benchmarks where applicable.
84
+ <!-- agent-update:end -->
49
85
  `;
50
86
  }
51
87
  function formatTitle(agentType) {