@c0x12c/ai-toolkit 1.15.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 (255) hide show
  1. package/.claude-plugin/marketplace.json +16 -0
  2. package/.claude-plugin/plugin.json +12 -0
  3. package/README.md +439 -0
  4. package/VERSION +1 -0
  5. package/agents/design-critic.md +127 -0
  6. package/agents/idea-killer.md +72 -0
  7. package/agents/infrastructure-expert.md +49 -0
  8. package/agents/micronaut-backend-expert.md +45 -0
  9. package/agents/phase-reviewer.md +150 -0
  10. package/agents/research-planner.md +70 -0
  11. package/agents/solution-architect-cto.md +49 -0
  12. package/agents/sre-architect.md +49 -0
  13. package/agents/team-coordinator.md +111 -0
  14. package/bin/cli.js +780 -0
  15. package/claude-md/00-header.md +39 -0
  16. package/claude-md/01-core.md +105 -0
  17. package/claude-md/05-database.md +20 -0
  18. package/claude-md/11-backend-micronaut.md +19 -0
  19. package/claude-md/20-frontend-react.md +44 -0
  20. package/claude-md/25-ux-design.md +56 -0
  21. package/claude-md/30-infrastructure.md +24 -0
  22. package/claude-md/30-project-mgmt.md +119 -0
  23. package/claude-md/40-product.md +39 -0
  24. package/claude-md/50-ops.md +34 -0
  25. package/claude-md/60-research.md +27 -0
  26. package/claude-md/90-footer.md +21 -0
  27. package/commands/spartan/brainstorm.md +134 -0
  28. package/commands/spartan/brownfield.md +157 -0
  29. package/commands/spartan/build.md +435 -0
  30. package/commands/spartan/careful.md +94 -0
  31. package/commands/spartan/commit-message.md +112 -0
  32. package/commands/spartan/content.md +17 -0
  33. package/commands/spartan/context-save.md +161 -0
  34. package/commands/spartan/contribute.md +140 -0
  35. package/commands/spartan/daily.md +42 -0
  36. package/commands/spartan/debug.md +308 -0
  37. package/commands/spartan/deep-dive.md +55 -0
  38. package/commands/spartan/deploy.md +207 -0
  39. package/commands/spartan/e2e.md +264 -0
  40. package/commands/spartan/env-setup.md +166 -0
  41. package/commands/spartan/epic.md +199 -0
  42. package/commands/spartan/fe-review.md +181 -0
  43. package/commands/spartan/figma-to-code.md +260 -0
  44. package/commands/spartan/forensics.md +46 -0
  45. package/commands/spartan/freeze.md +84 -0
  46. package/commands/spartan/fundraise.md +53 -0
  47. package/commands/spartan/gate-review.md +229 -0
  48. package/commands/spartan/gsd-upgrade.md +376 -0
  49. package/commands/spartan/guard.md +42 -0
  50. package/commands/spartan/init-project.md +178 -0
  51. package/commands/spartan/init-rules.md +298 -0
  52. package/commands/spartan/interview.md +154 -0
  53. package/commands/spartan/kickoff.md +73 -0
  54. package/commands/spartan/kotlin-service.md +109 -0
  55. package/commands/spartan/lean-canvas.md +222 -0
  56. package/commands/spartan/lint-rules.md +122 -0
  57. package/commands/spartan/map-codebase.md +124 -0
  58. package/commands/spartan/migration.md +82 -0
  59. package/commands/spartan/next-app.md +317 -0
  60. package/commands/spartan/next-feature.md +212 -0
  61. package/commands/spartan/onboard.md +326 -0
  62. package/commands/spartan/outreach.md +16 -0
  63. package/commands/spartan/phase.md +142 -0
  64. package/commands/spartan/pitch.md +18 -0
  65. package/commands/spartan/plan.md +210 -0
  66. package/commands/spartan/pr-ready.md +202 -0
  67. package/commands/spartan/project.md +106 -0
  68. package/commands/spartan/qa.md +222 -0
  69. package/commands/spartan/research.md +254 -0
  70. package/commands/spartan/review.md +132 -0
  71. package/commands/spartan/scan-rules.md +173 -0
  72. package/commands/spartan/sessions.md +143 -0
  73. package/commands/spartan/spec.md +131 -0
  74. package/commands/spartan/startup.md +257 -0
  75. package/commands/spartan/team.md +570 -0
  76. package/commands/spartan/teardown.md +161 -0
  77. package/commands/spartan/testcontainer.md +97 -0
  78. package/commands/spartan/tf-cost.md +123 -0
  79. package/commands/spartan/tf-deploy.md +116 -0
  80. package/commands/spartan/tf-drift.md +100 -0
  81. package/commands/spartan/tf-import.md +107 -0
  82. package/commands/spartan/tf-module.md +121 -0
  83. package/commands/spartan/tf-plan.md +100 -0
  84. package/commands/spartan/tf-review.md +106 -0
  85. package/commands/spartan/tf-scaffold.md +109 -0
  86. package/commands/spartan/tf-security.md +147 -0
  87. package/commands/spartan/think.md +221 -0
  88. package/commands/spartan/unfreeze.md +13 -0
  89. package/commands/spartan/update.md +134 -0
  90. package/commands/spartan/ux.md +1233 -0
  91. package/commands/spartan/validate.md +193 -0
  92. package/commands/spartan/web-to-prd.md +706 -0
  93. package/commands/spartan/workstreams.md +109 -0
  94. package/commands/spartan/write.md +16 -0
  95. package/commands/spartan.md +386 -0
  96. package/frameworks/00-framework-comparison-guide.md +317 -0
  97. package/frameworks/01-lean-canvas.md +196 -0
  98. package/frameworks/02-design-sprint.md +304 -0
  99. package/frameworks/03-foundation-sprint.md +337 -0
  100. package/frameworks/04-business-model-canvas.md +391 -0
  101. package/frameworks/05-customer-development.md +426 -0
  102. package/frameworks/06-jobs-to-be-done.md +358 -0
  103. package/frameworks/07-mom-test.md +392 -0
  104. package/frameworks/08-value-proposition-canvas.md +488 -0
  105. package/frameworks/09-javelin-board.md +428 -0
  106. package/frameworks/10-build-measure-learn.md +467 -0
  107. package/frameworks/11-mvp-approaches.md +533 -0
  108. package/frameworks/think-before-build.md +593 -0
  109. package/lib/assembler.js +197 -0
  110. package/lib/assembler.test.js +159 -0
  111. package/lib/detector.js +166 -0
  112. package/lib/detector.test.js +221 -0
  113. package/lib/packs.js +16 -0
  114. package/lib/resolver.js +272 -0
  115. package/lib/resolver.test.js +298 -0
  116. package/lib/worktree.sh +104 -0
  117. package/package.json +50 -0
  118. package/packs/backend-micronaut.yaml +35 -0
  119. package/packs/backend-nodejs.yaml +15 -0
  120. package/packs/backend-python.yaml +15 -0
  121. package/packs/core.yaml +37 -0
  122. package/packs/database.yaml +21 -0
  123. package/packs/frontend-react.yaml +24 -0
  124. package/packs/infrastructure.yaml +40 -0
  125. package/packs/ops.yaml +16 -0
  126. package/packs/packs.compiled.json +371 -0
  127. package/packs/product.yaml +22 -0
  128. package/packs/project-mgmt.yaml +24 -0
  129. package/packs/research.yaml +39 -0
  130. package/packs/shared-backend.yaml +14 -0
  131. package/packs/ux-design.yaml +21 -0
  132. package/rules/backend-micronaut/API_DESIGN.md +313 -0
  133. package/rules/backend-micronaut/BATCH_PROCESSING.md +92 -0
  134. package/rules/backend-micronaut/CONTROLLERS.md +388 -0
  135. package/rules/backend-micronaut/KOTLIN.md +414 -0
  136. package/rules/backend-micronaut/RETROFIT_PLACEMENT.md +290 -0
  137. package/rules/backend-micronaut/SERVICES_AND_BEANS.md +325 -0
  138. package/rules/core/NAMING_CONVENTIONS.md +208 -0
  139. package/rules/core/SKILL_AUTHORING.md +174 -0
  140. package/rules/core/TIMEZONE.md +316 -0
  141. package/rules/database/ORM_AND_REPO.md +289 -0
  142. package/rules/database/SCHEMA.md +146 -0
  143. package/rules/database/TRANSACTIONS.md +311 -0
  144. package/rules/frontend-react/FRONTEND.md +344 -0
  145. package/rules/infrastructure/MODULES.md +260 -0
  146. package/rules/infrastructure/NAMING.md +196 -0
  147. package/rules/infrastructure/PROVIDERS.md +309 -0
  148. package/rules/infrastructure/SECURITY.md +310 -0
  149. package/rules/infrastructure/STATE_AND_BACKEND.md +237 -0
  150. package/rules/infrastructure/STRUCTURE.md +234 -0
  151. package/rules/infrastructure/VARIABLES.md +285 -0
  152. package/rules/shared-backend/ARCHITECTURE.md +46 -0
  153. package/rules/ux-design/DESIGN_PROCESS.md +176 -0
  154. package/skills/api-endpoint-creator/SKILL.md +455 -0
  155. package/skills/api-endpoint-creator/error-handling-guide.md +244 -0
  156. package/skills/api-endpoint-creator/examples.md +522 -0
  157. package/skills/api-endpoint-creator/testing-patterns.md +302 -0
  158. package/skills/article-writing/SKILL.md +109 -0
  159. package/skills/article-writing/examples.md +59 -0
  160. package/skills/backend-api-design/SKILL.md +84 -0
  161. package/skills/backend-api-design/code-patterns.md +138 -0
  162. package/skills/brainstorm/SKILL.md +95 -0
  163. package/skills/browser-qa/SKILL.md +87 -0
  164. package/skills/browser-qa/playwright-snippets.md +110 -0
  165. package/skills/ci-cd-patterns/SKILL.md +108 -0
  166. package/skills/ci-cd-patterns/workflows.md +149 -0
  167. package/skills/competitive-teardown/SKILL.md +93 -0
  168. package/skills/competitive-teardown/example-analysis.md +50 -0
  169. package/skills/content-engine/SKILL.md +131 -0
  170. package/skills/content-engine/examples.md +72 -0
  171. package/skills/database-patterns/SKILL.md +72 -0
  172. package/skills/database-patterns/code-templates.md +114 -0
  173. package/skills/database-table-creator/SKILL.md +141 -0
  174. package/skills/database-table-creator/examples.md +552 -0
  175. package/skills/database-table-creator/kotlin-templates.md +400 -0
  176. package/skills/database-table-creator/migration-template.sql +68 -0
  177. package/skills/database-table-creator/validation-checklist.md +337 -0
  178. package/skills/deep-research/SKILL.md +80 -0
  179. package/skills/design-intelligence/SKILL.md +268 -0
  180. package/skills/design-workflow/SKILL.md +127 -0
  181. package/skills/design-workflow/checklists.md +45 -0
  182. package/skills/idea-validation/SKILL.md +129 -0
  183. package/skills/idea-validation/example-report.md +50 -0
  184. package/skills/investor-materials/SKILL.md +122 -0
  185. package/skills/investor-materials/example-outline.md +70 -0
  186. package/skills/investor-outreach/SKILL.md +112 -0
  187. package/skills/investor-outreach/examples.md +76 -0
  188. package/skills/kotlin-best-practices/SKILL.md +58 -0
  189. package/skills/kotlin-best-practices/code-patterns.md +132 -0
  190. package/skills/market-research/SKILL.md +99 -0
  191. package/skills/security-checklist/SKILL.md +65 -0
  192. package/skills/security-checklist/audit-reference.md +95 -0
  193. package/skills/service-debugging/SKILL.md +116 -0
  194. package/skills/service-debugging/common-issues.md +65 -0
  195. package/skills/startup-pipeline/SKILL.md +152 -0
  196. package/skills/terraform-best-practices/SKILL.md +244 -0
  197. package/skills/terraform-module-creator/SKILL.md +284 -0
  198. package/skills/terraform-review/SKILL.md +222 -0
  199. package/skills/terraform-security-audit/SKILL.md +280 -0
  200. package/skills/terraform-service-scaffold/SKILL.md +574 -0
  201. package/skills/testing-strategies/SKILL.md +116 -0
  202. package/skills/testing-strategies/examples.md +103 -0
  203. package/skills/testing-strategies/integration-test-setup.md +71 -0
  204. package/skills/ui-ux-pro-max/SKILL.md +238 -0
  205. package/skills/ui-ux-pro-max/data/charts.csv +26 -0
  206. package/skills/ui-ux-pro-max/data/colors.csv +97 -0
  207. package/skills/ui-ux-pro-max/data/icons.csv +101 -0
  208. package/skills/ui-ux-pro-max/data/landing.csv +31 -0
  209. package/skills/ui-ux-pro-max/data/products.csv +97 -0
  210. package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  211. package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  212. package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  213. package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  214. package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  215. package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  216. package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  217. package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  218. package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  219. package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  220. package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  221. package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  222. package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  223. package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  224. package/skills/ui-ux-pro-max/data/styles.csv +68 -0
  225. package/skills/ui-ux-pro-max/data/typography.csv +58 -0
  226. package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  227. package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  228. package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  229. package/skills/ui-ux-pro-max/python-setup.md +146 -0
  230. package/skills/ui-ux-pro-max/scripts/core.py +253 -0
  231. package/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  232. package/skills/ui-ux-pro-max/scripts/search.py +114 -0
  233. package/skills/web-to-prd/SKILL.md +478 -0
  234. package/templates/build-config.yaml +44 -0
  235. package/templates/commands-config.yaml +55 -0
  236. package/templates/competitor-analysis.md +60 -0
  237. package/templates/content/AGENT_TEMPLATE.md +47 -0
  238. package/templates/content/COMMAND_TEMPLATE.md +27 -0
  239. package/templates/content/RULE_TEMPLATE.md +40 -0
  240. package/templates/content/SKILL_TEMPLATE.md +41 -0
  241. package/templates/design-config.md +105 -0
  242. package/templates/design-doc.md +207 -0
  243. package/templates/epic.md +100 -0
  244. package/templates/feature-spec.md +181 -0
  245. package/templates/idea-canvas.md +47 -0
  246. package/templates/implementation-plan.md +159 -0
  247. package/templates/prd-template.md +86 -0
  248. package/templates/preamble.md +89 -0
  249. package/templates/project-readme.md +35 -0
  250. package/templates/quality-gates.md +230 -0
  251. package/templates/spartan-config.yaml +164 -0
  252. package/templates/user-interview.md +69 -0
  253. package/templates/validation-checklist.md +108 -0
  254. package/templates/workflow-backend-micronaut.md +409 -0
  255. package/templates/workflow-frontend-react.md +233 -0
@@ -0,0 +1,134 @@
1
+ ---
2
+ name: spartan:brainstorm
3
+ description: Structured brainstorming — generate ideas, filter fast, rank the top 3
4
+ argument-hint: "[theme or problem space]"
5
+ ---
6
+
7
+ # Brainstorm: {{ args[0] | default: "new ideas" }}
8
+
9
+ You are running a structured brainstorming session in 3 steps: Generate, Filter, Rank.
10
+
11
+ The goal: go from a theme to 3 strong ideas in about 15 minutes.
12
+
13
+ ---
14
+
15
+ ## Step 1: GENERATE (~5 min)
16
+
17
+ Brain dump time. Quantity over quality. No filtering yet.
18
+
19
+ Generate **8-15 ideas** around the theme: {{ args[0] }}
20
+
21
+ Use different lenses to get variety:
22
+ - **Technology lens:** What can new tech (AI, APIs, automation) make possible now that wasn't before?
23
+ - **Market gap lens:** What's missing in this space? What do people complain about?
24
+ - **Pain point lens:** What painful manual process could be fixed?
25
+ - **Trend lens:** What's changing in this space? Where is it heading?
26
+ - **Remix lens:** Take an existing product in another market — what if it existed for THIS market?
27
+
28
+ For each idea, write exactly 3 things:
29
+
30
+ | # | Name | One-Sentence Pitch | Who It's For |
31
+ |---|---|---|---|
32
+ | 1 | [catchy name] | [what it does in one sentence] | [specific person/role] |
33
+ | 2 | | | |
34
+ | ... | | | |
35
+
36
+ **Rules during generation:**
37
+ - No judging yet. Bad ideas are fine. They can spark good ones.
38
+ - Each idea must be different enough from the others — no slight variations
39
+ - "Who it's for" must be a specific person, not "everyone"
40
+
41
+ Show the full list, then ask: **"Want to add any ideas before we filter? Last chance — once we filter, we kill fast."**
42
+
43
+ ---
44
+
45
+ ## Step 2: FILTER (~5 min)
46
+
47
+ Quick kill round. For each idea, answer 3 questions:
48
+
49
+ | # | Name | Build MVP in 2-4 weeks? | Know someone with this problem? | Would someone pay TODAY? | Grade |
50
+ |---|---|---|---|---|---|
51
+ | 1 | [name] | Yes/No | Yes/No | Yes/No | HOT/WARM/COLD |
52
+ | 2 | | | | | |
53
+ | ... | | | | | |
54
+
55
+ **Grading:**
56
+ - **HOT** = All 3 yes — strong candidate
57
+ - **WARM** = 2 yes — worth a closer look
58
+ - **COLD** = 0-1 yes — kill it (for now)
59
+
60
+ **Kill question details:**
61
+
62
+ **"Can I build an MVP in 2-4 weeks?"**
63
+ If no → park it. Good ideas you can't build fast become idea graveyards. Come back when you can.
64
+
65
+ **"Do I know someone who has this problem?"**
66
+ If no → risky. You can't do user interviews if you don't know the users. You'd be guessing.
67
+
68
+ **"Would someone pay for this TODAY?"**
69
+ If no → might still work as a free/community play, but the path to money is harder. Note it.
70
+
71
+ Show the filtered list. Cross out COLD ideas. Ask: **"Agree with the filtering? Any saves before we rank?"**
72
+
73
+ ---
74
+
75
+ ## Step 3: RANK (pick top 3, ~5 min)
76
+
77
+ Take all HOT and WARM ideas. If there are more than 5, narrow down.
78
+
79
+ Rank by these 3 factors:
80
+
81
+ | # | Name | Founder-Market Fit | Market Size (gut) | Excitement | Total |
82
+ |---|---|---|---|---|---|
83
+ | | | 1-5 | 1-5 | 1-5 | /15 |
84
+
85
+ **Founder-Market Fit:** Do you understand these users? Have you been one of them? Do you have connections in this space?
86
+
87
+ **Market Size (gut feel):** How many people have this problem? Don't need exact numbers — just S/M/L/XL gut check, mapped to 1-5.
88
+
89
+ **Excitement:** How pumped are you about this idea? Be honest. You'll be working on it for months. Low excitement = you'll quit.
90
+
91
+ ---
92
+
93
+ ## Output: Top 3 Ideas
94
+
95
+ For each of the top 3, write one paragraph:
96
+
97
+ ```
98
+ ## Top 3 Ideas
99
+
100
+ ### #1: [Name] (Score: X/15)
101
+ [One paragraph: what it is, who it's for, why it scored high,
102
+ what makes it worth pursuing. Include the biggest risk.]
103
+
104
+ ### #2: [Name] (Score: X/15)
105
+ [Same format]
106
+
107
+ ### #3: [Name] (Score: X/15)
108
+ [Same format]
109
+ ```
110
+
111
+ ---
112
+
113
+ ## Also Considered (WARM ideas for later)
114
+
115
+ List the WARM ideas that didn't make top 3 but could be worth revisiting:
116
+ - [Name] — [one line on why it's parked]
117
+
118
+ ---
119
+
120
+ ## Next Step
121
+
122
+ > Run `/spartan:validate` on your #1 pick.
123
+
124
+ Validation will score the idea on 7 areas and give you a GO / TEST MORE / KILL decision.
125
+
126
+ If your #1 doesn't pass validation, come back and try #2.
127
+
128
+ ---
129
+
130
+ **Other useful follow-ups:**
131
+ - `/spartan:teardown [competitor]` — Analyze competitors in the space
132
+ - `/spartan:interview [idea]` — Generate user interview questions
133
+ - `/spartan:lean-canvas [idea]` — Map out the full business model
134
+ - `/spartan:think [idea]` — Deep structured thinking before building
@@ -0,0 +1,157 @@
1
+ ---
2
+ name: spartan:brownfield
3
+ description: Analyze an existing codebase and generate a structured context map + onboarding spec before making any changes. Use when joining a legacy project or unfamiliar service.
4
+ argument-hint: "[service name or directory] [optional: area of focus]"
5
+ ---
6
+
7
+ # Brownfield Onboarding: {{ args[0] }}
8
+ Focus area: {{ args[1] | default: "full codebase" }}
9
+
10
+ You are performing a **brownfield analysis** — mapping an existing codebase before touching it.
11
+ This prevents the most common AI coding mistake: making changes without understanding the terrain.
12
+
13
+ Inspired by OpenSpec's change-isolation philosophy: understand first, change second.
14
+
15
+ ---
16
+
17
+ ## Phase 1: Structure Mapping (automated)
18
+
19
+ Run these commands to get a high-level picture:
20
+
21
+ ```bash
22
+ # Project structure
23
+ find . -type f -name "*.kt" | head -60
24
+ find . -type f -name "*.gradle.kts" | head -10
25
+
26
+ # Dependencies
27
+ cat build.gradle.kts 2>/dev/null || cat pom.xml 2>/dev/null
28
+
29
+ # Database migrations (Flyway)
30
+ ls src/main/resources/db/migration/ 2>/dev/null | sort
31
+
32
+ # Test coverage picture
33
+ find . -path "*/test/*" -name "*.kt" | wc -l
34
+ find . -path "*/main/*" -name "*.kt" | wc -l
35
+
36
+ # Recent git activity
37
+ git log --oneline -20
38
+ git log --oneline --since="30 days ago" | wc -l
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Phase 2: Architecture Analysis
44
+
45
+ Read and analyze these files (if they exist):
46
+ - `README.md` / `docs/`
47
+ - `CLAUDE.md` / `AGENTS.md`
48
+ - `src/main/resources/application.yml`
49
+ - Main `@MicronautApplication or Application.kt` class
50
+ - Domain model files in `domain/model/`
51
+
52
+ Then answer:
53
+ 1. **What does this service do?** (1-2 sentences)
54
+ 2. **What are the main domain entities?**
55
+ 3. **What external systems does it talk to?** (DB, Kafka, Redis, HTTP)
56
+ 4. **What are the main entry points?** (controllers, consumers)
57
+ 5. **What tech debt is visible?** (TODO comments, deprecated APIs, inconsistent patterns)
58
+
59
+ ---
60
+
61
+ ## Phase 3: Hotspot Detection
62
+
63
+ ```bash
64
+ # Most-changed files (potential complexity hotspots)
65
+ git log --format=format: --name-only | grep "\.kt$" | sort | uniq -c | sort -rn | head -15
66
+
67
+ # Largest files (potential god classes)
68
+ find . -name "*.kt" -exec wc -l {} \; | sort -rn | head -10
69
+
70
+ # TODO/FIXME density
71
+ grep -r "TODO\|FIXME\|HACK\|XXX" --include="*.kt" | wc -l
72
+ grep -r "TODO\|FIXME\|HACK\|XXX" --include="*.kt" | head -10
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Phase 4: Test Health Check
78
+
79
+ ```bash
80
+ # Test types present
81
+ find . -name "*Test*.kt" -o -name "*Spec*.kt" | head -20
82
+
83
+ # Integration tests (Testcontainers)
84
+ grep -r "Testcontainers\|@Container" --include="*.kt" -l
85
+
86
+ # Test coverage (if JaCoCo configured)
87
+ cat build.gradle.kts | grep -A5 "jacoco"
88
+ ```
89
+
90
+ Assess:
91
+ - Unit test coverage (estimate from file count ratio)
92
+ - Integration test presence
93
+ - Any tests using mocks where Testcontainers would be better
94
+
95
+ ---
96
+
97
+ ## Phase 5: Generate Context Map
98
+
99
+ Save output as `docs/CONTEXT-MAP.md`:
100
+
101
+ ```markdown
102
+ # Context Map: [service name]
103
+ Generated: [date]
104
+
105
+ ## Service Purpose
106
+ [1-2 sentences]
107
+
108
+ ## Architecture
109
+ - Pattern: [layered / hexagonal / other]
110
+ - Main layers: [list]
111
+ - External dependencies: [list with protocols]
112
+
113
+ ## Domain Model
114
+ [key entities and their relationships]
115
+
116
+ ## Entry Points
117
+ [controllers + endpoints, consumers + topics]
118
+
119
+ ## Known Tech Debt
120
+ [ordered by severity]
121
+
122
+ ## Test Health
123
+ - Unit tests: [count / assessment]
124
+ - Integration tests: [count / assessment]
125
+ - Coverage gaps: [where tests are missing]
126
+
127
+ ## Safe Change Zones
128
+ [areas that are well-tested and safe to modify]
129
+
130
+ ## Danger Zones
131
+ [areas that are fragile, under-tested, or have unclear behavior]
132
+
133
+ ## Recommended First Steps
134
+ 1. [what to do before making any changes]
135
+ 2. [what tests to add first]
136
+ 3. [what to refactor before building new features]
137
+ ```
138
+
139
+ ---
140
+
141
+ ## Phase 6: Change Isolation Setup
142
+
143
+ For each planned change to this codebase, create a folder:
144
+ ```
145
+ .changes/
146
+ [YYYY-MM-DD]-[change-name]/
147
+ PROPOSAL.md ← what you want to change and why
148
+ DESIGN.md ← how you'll change it
149
+ TASKS.md ← atomic steps (max 4)
150
+ RISKS.md ← what could break
151
+ ```
152
+
153
+ This prevents scope creep and keeps each change independently reviewable.
154
+
155
+ After analysis, present the Context Map summary and ask:
156
+ "Analysis complete. What change would you like to make first?
157
+ I'll create a change folder and use `/spartan:spec` → `/spartan:build` for it."