@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.
- package/.claude-plugin/marketplace.json +16 -0
- package/.claude-plugin/plugin.json +12 -0
- package/README.md +439 -0
- package/VERSION +1 -0
- package/agents/design-critic.md +127 -0
- package/agents/idea-killer.md +72 -0
- package/agents/infrastructure-expert.md +49 -0
- package/agents/micronaut-backend-expert.md +45 -0
- package/agents/phase-reviewer.md +150 -0
- package/agents/research-planner.md +70 -0
- package/agents/solution-architect-cto.md +49 -0
- package/agents/sre-architect.md +49 -0
- package/agents/team-coordinator.md +111 -0
- package/bin/cli.js +780 -0
- package/claude-md/00-header.md +39 -0
- package/claude-md/01-core.md +105 -0
- package/claude-md/05-database.md +20 -0
- package/claude-md/11-backend-micronaut.md +19 -0
- package/claude-md/20-frontend-react.md +44 -0
- package/claude-md/25-ux-design.md +56 -0
- package/claude-md/30-infrastructure.md +24 -0
- package/claude-md/30-project-mgmt.md +119 -0
- package/claude-md/40-product.md +39 -0
- package/claude-md/50-ops.md +34 -0
- package/claude-md/60-research.md +27 -0
- package/claude-md/90-footer.md +21 -0
- package/commands/spartan/brainstorm.md +134 -0
- package/commands/spartan/brownfield.md +157 -0
- package/commands/spartan/build.md +435 -0
- package/commands/spartan/careful.md +94 -0
- package/commands/spartan/commit-message.md +112 -0
- package/commands/spartan/content.md +17 -0
- package/commands/spartan/context-save.md +161 -0
- package/commands/spartan/contribute.md +140 -0
- package/commands/spartan/daily.md +42 -0
- package/commands/spartan/debug.md +308 -0
- package/commands/spartan/deep-dive.md +55 -0
- package/commands/spartan/deploy.md +207 -0
- package/commands/spartan/e2e.md +264 -0
- package/commands/spartan/env-setup.md +166 -0
- package/commands/spartan/epic.md +199 -0
- package/commands/spartan/fe-review.md +181 -0
- package/commands/spartan/figma-to-code.md +260 -0
- package/commands/spartan/forensics.md +46 -0
- package/commands/spartan/freeze.md +84 -0
- package/commands/spartan/fundraise.md +53 -0
- package/commands/spartan/gate-review.md +229 -0
- package/commands/spartan/gsd-upgrade.md +376 -0
- package/commands/spartan/guard.md +42 -0
- package/commands/spartan/init-project.md +178 -0
- package/commands/spartan/init-rules.md +298 -0
- package/commands/spartan/interview.md +154 -0
- package/commands/spartan/kickoff.md +73 -0
- package/commands/spartan/kotlin-service.md +109 -0
- package/commands/spartan/lean-canvas.md +222 -0
- package/commands/spartan/lint-rules.md +122 -0
- package/commands/spartan/map-codebase.md +124 -0
- package/commands/spartan/migration.md +82 -0
- package/commands/spartan/next-app.md +317 -0
- package/commands/spartan/next-feature.md +212 -0
- package/commands/spartan/onboard.md +326 -0
- package/commands/spartan/outreach.md +16 -0
- package/commands/spartan/phase.md +142 -0
- package/commands/spartan/pitch.md +18 -0
- package/commands/spartan/plan.md +210 -0
- package/commands/spartan/pr-ready.md +202 -0
- package/commands/spartan/project.md +106 -0
- package/commands/spartan/qa.md +222 -0
- package/commands/spartan/research.md +254 -0
- package/commands/spartan/review.md +132 -0
- package/commands/spartan/scan-rules.md +173 -0
- package/commands/spartan/sessions.md +143 -0
- package/commands/spartan/spec.md +131 -0
- package/commands/spartan/startup.md +257 -0
- package/commands/spartan/team.md +570 -0
- package/commands/spartan/teardown.md +161 -0
- package/commands/spartan/testcontainer.md +97 -0
- package/commands/spartan/tf-cost.md +123 -0
- package/commands/spartan/tf-deploy.md +116 -0
- package/commands/spartan/tf-drift.md +100 -0
- package/commands/spartan/tf-import.md +107 -0
- package/commands/spartan/tf-module.md +121 -0
- package/commands/spartan/tf-plan.md +100 -0
- package/commands/spartan/tf-review.md +106 -0
- package/commands/spartan/tf-scaffold.md +109 -0
- package/commands/spartan/tf-security.md +147 -0
- package/commands/spartan/think.md +221 -0
- package/commands/spartan/unfreeze.md +13 -0
- package/commands/spartan/update.md +134 -0
- package/commands/spartan/ux.md +1233 -0
- package/commands/spartan/validate.md +193 -0
- package/commands/spartan/web-to-prd.md +706 -0
- package/commands/spartan/workstreams.md +109 -0
- package/commands/spartan/write.md +16 -0
- package/commands/spartan.md +386 -0
- package/frameworks/00-framework-comparison-guide.md +317 -0
- package/frameworks/01-lean-canvas.md +196 -0
- package/frameworks/02-design-sprint.md +304 -0
- package/frameworks/03-foundation-sprint.md +337 -0
- package/frameworks/04-business-model-canvas.md +391 -0
- package/frameworks/05-customer-development.md +426 -0
- package/frameworks/06-jobs-to-be-done.md +358 -0
- package/frameworks/07-mom-test.md +392 -0
- package/frameworks/08-value-proposition-canvas.md +488 -0
- package/frameworks/09-javelin-board.md +428 -0
- package/frameworks/10-build-measure-learn.md +467 -0
- package/frameworks/11-mvp-approaches.md +533 -0
- package/frameworks/think-before-build.md +593 -0
- package/lib/assembler.js +197 -0
- package/lib/assembler.test.js +159 -0
- package/lib/detector.js +166 -0
- package/lib/detector.test.js +221 -0
- package/lib/packs.js +16 -0
- package/lib/resolver.js +272 -0
- package/lib/resolver.test.js +298 -0
- package/lib/worktree.sh +104 -0
- package/package.json +50 -0
- package/packs/backend-micronaut.yaml +35 -0
- package/packs/backend-nodejs.yaml +15 -0
- package/packs/backend-python.yaml +15 -0
- package/packs/core.yaml +37 -0
- package/packs/database.yaml +21 -0
- package/packs/frontend-react.yaml +24 -0
- package/packs/infrastructure.yaml +40 -0
- package/packs/ops.yaml +16 -0
- package/packs/packs.compiled.json +371 -0
- package/packs/product.yaml +22 -0
- package/packs/project-mgmt.yaml +24 -0
- package/packs/research.yaml +39 -0
- package/packs/shared-backend.yaml +14 -0
- package/packs/ux-design.yaml +21 -0
- package/rules/backend-micronaut/API_DESIGN.md +313 -0
- package/rules/backend-micronaut/BATCH_PROCESSING.md +92 -0
- package/rules/backend-micronaut/CONTROLLERS.md +388 -0
- package/rules/backend-micronaut/KOTLIN.md +414 -0
- package/rules/backend-micronaut/RETROFIT_PLACEMENT.md +290 -0
- package/rules/backend-micronaut/SERVICES_AND_BEANS.md +325 -0
- package/rules/core/NAMING_CONVENTIONS.md +208 -0
- package/rules/core/SKILL_AUTHORING.md +174 -0
- package/rules/core/TIMEZONE.md +316 -0
- package/rules/database/ORM_AND_REPO.md +289 -0
- package/rules/database/SCHEMA.md +146 -0
- package/rules/database/TRANSACTIONS.md +311 -0
- package/rules/frontend-react/FRONTEND.md +344 -0
- package/rules/infrastructure/MODULES.md +260 -0
- package/rules/infrastructure/NAMING.md +196 -0
- package/rules/infrastructure/PROVIDERS.md +309 -0
- package/rules/infrastructure/SECURITY.md +310 -0
- package/rules/infrastructure/STATE_AND_BACKEND.md +237 -0
- package/rules/infrastructure/STRUCTURE.md +234 -0
- package/rules/infrastructure/VARIABLES.md +285 -0
- package/rules/shared-backend/ARCHITECTURE.md +46 -0
- package/rules/ux-design/DESIGN_PROCESS.md +176 -0
- package/skills/api-endpoint-creator/SKILL.md +455 -0
- package/skills/api-endpoint-creator/error-handling-guide.md +244 -0
- package/skills/api-endpoint-creator/examples.md +522 -0
- package/skills/api-endpoint-creator/testing-patterns.md +302 -0
- package/skills/article-writing/SKILL.md +109 -0
- package/skills/article-writing/examples.md +59 -0
- package/skills/backend-api-design/SKILL.md +84 -0
- package/skills/backend-api-design/code-patterns.md +138 -0
- package/skills/brainstorm/SKILL.md +95 -0
- package/skills/browser-qa/SKILL.md +87 -0
- package/skills/browser-qa/playwright-snippets.md +110 -0
- package/skills/ci-cd-patterns/SKILL.md +108 -0
- package/skills/ci-cd-patterns/workflows.md +149 -0
- package/skills/competitive-teardown/SKILL.md +93 -0
- package/skills/competitive-teardown/example-analysis.md +50 -0
- package/skills/content-engine/SKILL.md +131 -0
- package/skills/content-engine/examples.md +72 -0
- package/skills/database-patterns/SKILL.md +72 -0
- package/skills/database-patterns/code-templates.md +114 -0
- package/skills/database-table-creator/SKILL.md +141 -0
- package/skills/database-table-creator/examples.md +552 -0
- package/skills/database-table-creator/kotlin-templates.md +400 -0
- package/skills/database-table-creator/migration-template.sql +68 -0
- package/skills/database-table-creator/validation-checklist.md +337 -0
- package/skills/deep-research/SKILL.md +80 -0
- package/skills/design-intelligence/SKILL.md +268 -0
- package/skills/design-workflow/SKILL.md +127 -0
- package/skills/design-workflow/checklists.md +45 -0
- package/skills/idea-validation/SKILL.md +129 -0
- package/skills/idea-validation/example-report.md +50 -0
- package/skills/investor-materials/SKILL.md +122 -0
- package/skills/investor-materials/example-outline.md +70 -0
- package/skills/investor-outreach/SKILL.md +112 -0
- package/skills/investor-outreach/examples.md +76 -0
- package/skills/kotlin-best-practices/SKILL.md +58 -0
- package/skills/kotlin-best-practices/code-patterns.md +132 -0
- package/skills/market-research/SKILL.md +99 -0
- package/skills/security-checklist/SKILL.md +65 -0
- package/skills/security-checklist/audit-reference.md +95 -0
- package/skills/service-debugging/SKILL.md +116 -0
- package/skills/service-debugging/common-issues.md +65 -0
- package/skills/startup-pipeline/SKILL.md +152 -0
- package/skills/terraform-best-practices/SKILL.md +244 -0
- package/skills/terraform-module-creator/SKILL.md +284 -0
- package/skills/terraform-review/SKILL.md +222 -0
- package/skills/terraform-security-audit/SKILL.md +280 -0
- package/skills/terraform-service-scaffold/SKILL.md +574 -0
- package/skills/testing-strategies/SKILL.md +116 -0
- package/skills/testing-strategies/examples.md +103 -0
- package/skills/testing-strategies/integration-test-setup.md +71 -0
- package/skills/ui-ux-pro-max/SKILL.md +238 -0
- package/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/skills/ui-ux-pro-max/python-setup.md +146 -0
- package/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/skills/web-to-prd/SKILL.md +478 -0
- package/templates/build-config.yaml +44 -0
- package/templates/commands-config.yaml +55 -0
- package/templates/competitor-analysis.md +60 -0
- package/templates/content/AGENT_TEMPLATE.md +47 -0
- package/templates/content/COMMAND_TEMPLATE.md +27 -0
- package/templates/content/RULE_TEMPLATE.md +40 -0
- package/templates/content/SKILL_TEMPLATE.md +41 -0
- package/templates/design-config.md +105 -0
- package/templates/design-doc.md +207 -0
- package/templates/epic.md +100 -0
- package/templates/feature-spec.md +181 -0
- package/templates/idea-canvas.md +47 -0
- package/templates/implementation-plan.md +159 -0
- package/templates/prd-template.md +86 -0
- package/templates/preamble.md +89 -0
- package/templates/project-readme.md +35 -0
- package/templates/quality-gates.md +230 -0
- package/templates/spartan-config.yaml +164 -0
- package/templates/user-interview.md +69 -0
- package/templates/validation-checklist.md +108 -0
- package/templates/workflow-backend-micronaut.md +409 -0
- package/templates/workflow-frontend-react.md +233 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# Quality Gates
|
|
2
|
+
|
|
3
|
+
Each phase of the feature development workflow has a quality gate. The gate must pass before moving to the next phase.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## The Workflow
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Epic → Spec → [Design] → Plan → Build → Review
|
|
11
|
+
↑ ↑ ↑ ↑ ↑
|
|
12
|
+
Gate 1 Design Gate 2 Gate 3 Gate 4
|
|
13
|
+
Gate Gate 3.5
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Design is optional — use it for features with UI work. See `design-doc.md`.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Gate 1: Spec Review
|
|
21
|
+
|
|
22
|
+
Run after writing a spec (`feature-spec.md`). Ask: "Is the WHAT clear enough to plan?"
|
|
23
|
+
|
|
24
|
+
**Completeness:**
|
|
25
|
+
- [ ] Problem is clearly stated (not vague)
|
|
26
|
+
- [ ] Goal is specific and measurable
|
|
27
|
+
- [ ] At least one user story exists
|
|
28
|
+
- [ ] Requirements split into must-have, nice-to-have, out of scope
|
|
29
|
+
- [ ] Out of scope section exists (prevents scope creep)
|
|
30
|
+
|
|
31
|
+
**Data Model** (if applicable):
|
|
32
|
+
- [ ] New tables have standard columns (id, timestamps)
|
|
33
|
+
- [ ] Column types are correct
|
|
34
|
+
- [ ] Soft delete strategy is defined (if needed)
|
|
35
|
+
|
|
36
|
+
**API Design** (if applicable):
|
|
37
|
+
- [ ] Endpoints follow the project's naming convention
|
|
38
|
+
- [ ] Request/response examples included
|
|
39
|
+
- [ ] JSON field naming matches project convention
|
|
40
|
+
|
|
41
|
+
**UI Changes** (if applicable):
|
|
42
|
+
- [ ] Affected screens/components listed
|
|
43
|
+
- [ ] Design doc created for non-trivial UI work
|
|
44
|
+
|
|
45
|
+
**Quality:**
|
|
46
|
+
- [ ] Edge cases listed (at least 3)
|
|
47
|
+
- [ ] Testing criteria defined for happy path
|
|
48
|
+
- [ ] Testing criteria defined for edge cases
|
|
49
|
+
- [ ] Dependencies listed
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Gate 2: Plan Review
|
|
54
|
+
|
|
55
|
+
Run after writing a plan (`implementation-plan.md`). Ask: "Is the HOW clear enough to build?"
|
|
56
|
+
|
|
57
|
+
**Architecture:**
|
|
58
|
+
- [ ] Follows the project's existing architecture patterns
|
|
59
|
+
- [ ] Each layer only calls the layer below it
|
|
60
|
+
- [ ] Components are in the right directories
|
|
61
|
+
|
|
62
|
+
**Task Breakdown:**
|
|
63
|
+
- [ ] All files to change are listed
|
|
64
|
+
- [ ] All new files are listed with their locations
|
|
65
|
+
- [ ] Each task is small (one file or one function)
|
|
66
|
+
- [ ] Dependencies between tasks are clear
|
|
67
|
+
- [ ] Parallel vs sequential tasks are marked
|
|
68
|
+
|
|
69
|
+
**Testing:**
|
|
70
|
+
- [ ] Data layer tests planned
|
|
71
|
+
- [ ] Business logic tests planned
|
|
72
|
+
- [ ] API/integration tests planned
|
|
73
|
+
- [ ] UI tests planned (if applicable)
|
|
74
|
+
- [ ] Edge cases from spec are covered in test plan
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Gate 3: Implementation Review (Per Task)
|
|
79
|
+
|
|
80
|
+
Run after each task is done during the build phase.
|
|
81
|
+
|
|
82
|
+
**Code Quality:**
|
|
83
|
+
- [ ] No unsafe operations or workarounds
|
|
84
|
+
- [ ] Error handling follows project patterns
|
|
85
|
+
- [ ] No temporary hacks or TODOs left behind
|
|
86
|
+
- [ ] Config values come from config, not hardcoded
|
|
87
|
+
- [ ] No dead code or unused imports
|
|
88
|
+
|
|
89
|
+
**Architecture:**
|
|
90
|
+
- [ ] Each component stays in its lane (no layer violations)
|
|
91
|
+
- [ ] Handlers/controllers are thin (just delegate)
|
|
92
|
+
- [ ] Business logic is in the service/manager layer
|
|
93
|
+
- [ ] Data access is in the repository/data layer
|
|
94
|
+
|
|
95
|
+
**Tests:**
|
|
96
|
+
- [ ] Tests written for this task
|
|
97
|
+
- [ ] Tests pass
|
|
98
|
+
- [ ] Tests cover both happy path and error cases
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Gate 3.5: Phase Review (Dual-Agent)
|
|
103
|
+
|
|
104
|
+
Run after all tasks in a phase are done. This is a **dual-agent review** — the builder and the `phase-reviewer` agent both evaluate the work. Both must accept.
|
|
105
|
+
|
|
106
|
+
**Trigger:** `/spartan:gate-review [phase number]`
|
|
107
|
+
|
|
108
|
+
### Agent Agreement (must pass first)
|
|
109
|
+
- [ ] Reviewer agent spawned and given all changed files
|
|
110
|
+
- [ ] Builder did self-assessment before calling reviewer
|
|
111
|
+
- [ ] Both agents (builder + reviewer) confirmed they accept the result
|
|
112
|
+
- [ ] All discussion points are resolved (no open disagreements)
|
|
113
|
+
- [ ] If disagreement after 3 rounds → escalated to user
|
|
114
|
+
|
|
115
|
+
### Code Design
|
|
116
|
+
- [ ] Single responsibility (each class/module does one thing)
|
|
117
|
+
- [ ] No god classes or methods doing too much
|
|
118
|
+
- [ ] Proper separation of concerns between layers
|
|
119
|
+
- [ ] Naming is clear and consistent
|
|
120
|
+
- [ ] Method/function signatures are clean (not too many parameters)
|
|
121
|
+
|
|
122
|
+
### Best Practices
|
|
123
|
+
- [ ] No unnecessary complexity or over-engineering
|
|
124
|
+
- [ ] No dead code or unused imports
|
|
125
|
+
- [ ] Error messages are helpful (what went wrong + what to do)
|
|
126
|
+
- [ ] Logging is right — enough to debug, not noisy
|
|
127
|
+
- [ ] No magic numbers or strings (use config or constants)
|
|
128
|
+
|
|
129
|
+
### Clean Code
|
|
130
|
+
- [ ] Functions are short and focused
|
|
131
|
+
- [ ] No deeply nested conditionals (max 2-3 levels)
|
|
132
|
+
- [ ] No copy-paste duplication
|
|
133
|
+
- [ ] Code reads top to bottom
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Gate 4: Final Review
|
|
138
|
+
|
|
139
|
+
Run when all tasks are done. This is the "ship it?" check.
|
|
140
|
+
|
|
141
|
+
**Completeness:**
|
|
142
|
+
- [ ] All tasks from the plan are done
|
|
143
|
+
- [ ] All planned files exist
|
|
144
|
+
- [ ] No TODOs left in code
|
|
145
|
+
- [ ] No placeholder implementations
|
|
146
|
+
|
|
147
|
+
**Quality:**
|
|
148
|
+
- [ ] All tests pass
|
|
149
|
+
- [ ] Linter passes
|
|
150
|
+
- [ ] Build passes
|
|
151
|
+
- [ ] No regressions in existing tests
|
|
152
|
+
|
|
153
|
+
**Documentation:**
|
|
154
|
+
- [ ] API endpoints are documented or self-evident
|
|
155
|
+
- [ ] Implementation notes captured
|
|
156
|
+
- [ ] README updated if new components added
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Design Gate (Dual-Agent)
|
|
161
|
+
|
|
162
|
+
Run after the designer and `design-critic` agent both review the design doc. Both must accept.
|
|
163
|
+
|
|
164
|
+
**Trigger:** `/spartan:ux prototype [feature-name]`
|
|
165
|
+
|
|
166
|
+
### Agent Agreement
|
|
167
|
+
- [ ] Design-critic agent spawned and given the design doc
|
|
168
|
+
- [ ] Designer did self-check before calling critic
|
|
169
|
+
- [ ] Both agents (designer + critic) confirmed they accept
|
|
170
|
+
- [ ] All discussion points resolved
|
|
171
|
+
|
|
172
|
+
### AI Generic Detection
|
|
173
|
+
- [ ] No colors outside the project palette (check design-config.md)
|
|
174
|
+
- [ ] No generic gradient blobs or decorative noise
|
|
175
|
+
- [ ] Layout has visual variety (not everything centered, same size)
|
|
176
|
+
- [ ] Typography has clear hierarchy (3+ distinct sizes/weights)
|
|
177
|
+
- [ ] Copy is specific to the project domain (not generic marketing)
|
|
178
|
+
- [ ] Design personality matches design-config.md
|
|
179
|
+
- [ ] Accent color used sparingly — max 10-15% of screen
|
|
180
|
+
- [ ] Would you remember this design? (If no, it's too generic)
|
|
181
|
+
|
|
182
|
+
### Design System Compliance (if design-config exists)
|
|
183
|
+
- [ ] Colors match the design-config palette exactly
|
|
184
|
+
- [ ] Font matches design-config
|
|
185
|
+
- [ ] Shadows/radius match design-config values
|
|
186
|
+
- [ ] No Tailwind default colors used
|
|
187
|
+
|
|
188
|
+
### User Flows
|
|
189
|
+
- [ ] Every user story from spec has a mapped flow
|
|
190
|
+
- [ ] Each flow has clear steps: trigger, actions, end state
|
|
191
|
+
- [ ] Edge case flows listed (empty data, error, loading, timeout)
|
|
192
|
+
|
|
193
|
+
### Accessibility (WCAG AA)
|
|
194
|
+
- [ ] Text contrast ratio meets 4.5:1
|
|
195
|
+
- [ ] Interactive elements have focus states
|
|
196
|
+
- [ ] Touch targets at least 44x44px on mobile
|
|
197
|
+
- [ ] No information conveyed by color alone
|
|
198
|
+
|
|
199
|
+
### Responsiveness
|
|
200
|
+
- [ ] Layout works at mobile, tablet, desktop
|
|
201
|
+
- [ ] No horizontal scroll on mobile
|
|
202
|
+
- [ ] Content reflows properly
|
|
203
|
+
|
|
204
|
+
### Completeness
|
|
205
|
+
- [ ] All states shown (loading, empty, error, success)
|
|
206
|
+
- [ ] Component specs have: name, props, states
|
|
207
|
+
- [ ] Wireframes exist for key screens
|
|
208
|
+
- [ ] A developer could build from just the design doc
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## What to Do When a Gate Fails
|
|
213
|
+
|
|
214
|
+
1. **Find the failing items** — which checkboxes are unchecked?
|
|
215
|
+
2. **Fix them** — don't move on until ALL items pass
|
|
216
|
+
3. **Re-run the gate** — make sure the fix works
|
|
217
|
+
4. **If stuck** — ask for guidance, don't use workarounds
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Gate Summary
|
|
222
|
+
|
|
223
|
+
| Gate | When | Ask Yourself |
|
|
224
|
+
|------|------|--------------|
|
|
225
|
+
| Gate 1 | After spec | Is the WHAT clear enough to plan? |
|
|
226
|
+
| Gate 2 | After plan | Is the HOW clear enough to build? |
|
|
227
|
+
| Gate 3 | After each task | Does this code follow the rules? |
|
|
228
|
+
| Gate 3.5 | After each phase | Dual-agent review — builder + reviewer both accept? |
|
|
229
|
+
| Gate 4 | After all tasks | Is this ready to ship? |
|
|
230
|
+
| Design Gate | After design doc | Dual-agent — designer + critic both accept? Not AI-generic? |
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# .spartan/config.yaml — Configurable Rules for Spartan AI Toolkit
|
|
2
|
+
#
|
|
3
|
+
# This file tells the toolkit which rules to check during build, review,
|
|
4
|
+
# and other workflows. Without this file, the toolkit auto-detects your
|
|
5
|
+
# stack and uses default rules.
|
|
6
|
+
#
|
|
7
|
+
# Generate this file: /spartan:init-rules
|
|
8
|
+
# Validate this file: /spartan:lint-rules
|
|
9
|
+
# Auto-detect rules from code: /spartan:scan-rules
|
|
10
|
+
|
|
11
|
+
# ─── Stack & Architecture ───────────────────────────────────────────
|
|
12
|
+
|
|
13
|
+
# Your tech stack. Used for auto-routing skills and review stages.
|
|
14
|
+
# Built-in: kotlin-micronaut, react-nextjs, go-standard, python-django,
|
|
15
|
+
# python-fastapi, java-spring, typescript-node
|
|
16
|
+
# Or set to "custom" and define everything yourself.
|
|
17
|
+
stack: custom
|
|
18
|
+
|
|
19
|
+
# Architecture pattern. Guides how build plans tasks and review checks layers.
|
|
20
|
+
# Built-in: layered, hexagonal, clean, mvc, custom
|
|
21
|
+
architecture: layered
|
|
22
|
+
|
|
23
|
+
# ─── Inherit from a Profile (optional) ──────────────────────────────
|
|
24
|
+
|
|
25
|
+
# Start from a built-in profile and customize on top.
|
|
26
|
+
# Profiles live in toolkit/profiles/ — each has sensible defaults.
|
|
27
|
+
# extends: kotlin-micronaut
|
|
28
|
+
|
|
29
|
+
# ─── Rules ──────��───────────────────────────────────────────────────
|
|
30
|
+
|
|
31
|
+
# Rules are markdown files that the reviewer reads before checking code.
|
|
32
|
+
# Paths are relative to the project root (or ~/.claude/ for global rules).
|
|
33
|
+
#
|
|
34
|
+
# Group rules by mode. During review:
|
|
35
|
+
# backend mode → backend + shared rules
|
|
36
|
+
# frontend mode → frontend + shared rules
|
|
37
|
+
# full-stack → all rules
|
|
38
|
+
|
|
39
|
+
rules:
|
|
40
|
+
shared: []
|
|
41
|
+
# - rules/core/NAMING_CONVENTIONS.md
|
|
42
|
+
|
|
43
|
+
backend: []
|
|
44
|
+
# - rules/backend/CONTROLLERS.md
|
|
45
|
+
# - rules/backend/ERROR_HANDLING.md
|
|
46
|
+
# - rules/database/SCHEMA.md
|
|
47
|
+
|
|
48
|
+
frontend: []
|
|
49
|
+
# - rules/frontend/COMPONENTS.md
|
|
50
|
+
# - rules/frontend/STATE_MANAGEMENT.md
|
|
51
|
+
|
|
52
|
+
# ─── Override Rules (when extending a profile) ──────────────────────
|
|
53
|
+
|
|
54
|
+
# Use these to customize an inherited profile without rewriting everything.
|
|
55
|
+
# Only works when "extends" is set above.
|
|
56
|
+
|
|
57
|
+
# rules-add:
|
|
58
|
+
# backend:
|
|
59
|
+
# - rules/custom/OUR_AUTH_RULES.md
|
|
60
|
+
|
|
61
|
+
# rules-remove:
|
|
62
|
+
# backend:
|
|
63
|
+
# - rules/backend-micronaut/RETROFIT_PLACEMENT.md
|
|
64
|
+
|
|
65
|
+
# rules-override:
|
|
66
|
+
# backend:
|
|
67
|
+
# rules/database/SCHEMA.md: rules/custom/OUR_SCHEMA.md
|
|
68
|
+
|
|
69
|
+
# ─── Conditional Rules (advanced) ───────���───────────────────────────
|
|
70
|
+
|
|
71
|
+
# Rules that only apply to files matching a glob pattern.
|
|
72
|
+
# Useful for monorepos or projects with mixed concerns.
|
|
73
|
+
|
|
74
|
+
# conditional-rules:
|
|
75
|
+
# - rule: rules/backend/BATCH_RULES.md
|
|
76
|
+
# applies-to: "src/**/batch/**"
|
|
77
|
+
# - rule: rules/database/SCHEMA.md
|
|
78
|
+
# applies-to: "*.sql"
|
|
79
|
+
# - rule: rules/custom/API_V2_RULES.md
|
|
80
|
+
# applies-to: "src/api/v2/**"
|
|
81
|
+
|
|
82
|
+
# ─── File Type Mapping ──────────────────────────────────────────────
|
|
83
|
+
|
|
84
|
+
# Maps file extensions to modes. Used for auto-detecting which rules
|
|
85
|
+
# to apply when reviewing a specific file.
|
|
86
|
+
|
|
87
|
+
file-types:
|
|
88
|
+
backend: [".kt", ".java", ".go", ".py", ".rb", ".rs", ".cs"]
|
|
89
|
+
frontend: [".tsx", ".ts", ".jsx", ".js", ".vue", ".svelte"]
|
|
90
|
+
migration: [".sql"]
|
|
91
|
+
config: [".yaml", ".yml", ".json", ".toml"]
|
|
92
|
+
|
|
93
|
+
# ─── Review Stages ──────────────────────────────────────────────────
|
|
94
|
+
|
|
95
|
+
# Which stages to run during build review and /spartan:review.
|
|
96
|
+
# Remove stages you don't need. Add custom stages at the end.
|
|
97
|
+
# Order matters — stages run top to bottom.
|
|
98
|
+
|
|
99
|
+
review-stages:
|
|
100
|
+
- name: correctness
|
|
101
|
+
description: "Does the code match the spec? Edge cases handled?"
|
|
102
|
+
enabled: true
|
|
103
|
+
|
|
104
|
+
- name: stack-conventions
|
|
105
|
+
description: "Follows stack-specific patterns and idioms"
|
|
106
|
+
enabled: true
|
|
107
|
+
|
|
108
|
+
- name: test-coverage
|
|
109
|
+
description: "Tests exist, are independent, cover edge cases"
|
|
110
|
+
enabled: true
|
|
111
|
+
|
|
112
|
+
- name: architecture
|
|
113
|
+
description: "Proper layer separation, no logic in wrong layers"
|
|
114
|
+
enabled: true
|
|
115
|
+
|
|
116
|
+
- name: database-api
|
|
117
|
+
description: "Schema rules, API design, input validation"
|
|
118
|
+
enabled: true
|
|
119
|
+
|
|
120
|
+
- name: security
|
|
121
|
+
description: "Auth, injection, data exposure, OWASP top 10"
|
|
122
|
+
enabled: true
|
|
123
|
+
|
|
124
|
+
- name: documentation-gaps
|
|
125
|
+
description: "New patterns that should be documented"
|
|
126
|
+
enabled: true
|
|
127
|
+
|
|
128
|
+
# Add your own stages:
|
|
129
|
+
# - name: performance
|
|
130
|
+
# description: "Check for N+1 queries, unnecessary allocations"
|
|
131
|
+
# enabled: true
|
|
132
|
+
# - name: observability
|
|
133
|
+
# description: "Logging, metrics, tracing present for new endpoints"
|
|
134
|
+
# enabled: true
|
|
135
|
+
|
|
136
|
+
# ─── Build Commands ─────────────────────────────────────────────────
|
|
137
|
+
|
|
138
|
+
# Override the test and build commands for your stack.
|
|
139
|
+
# These are used in /spartan:build Stage 3 verification.
|
|
140
|
+
|
|
141
|
+
commands:
|
|
142
|
+
test:
|
|
143
|
+
backend: "" # e.g., "./gradlew test", "go test ./...", "pytest"
|
|
144
|
+
frontend: "" # e.g., "npm test", "yarn vitest"
|
|
145
|
+
build:
|
|
146
|
+
backend: "" # e.g., "./gradlew build", "go build ./..."
|
|
147
|
+
frontend: "" # e.g., "npm run build", "yarn build"
|
|
148
|
+
lint:
|
|
149
|
+
backend: "" # e.g., "./gradlew ktlintCheck", "golangci-lint run"
|
|
150
|
+
frontend: "" # e.g., "npm run lint", "eslint ."
|
|
151
|
+
|
|
152
|
+
# ─── Skill Routing ─────────��────────────────────────────────────────
|
|
153
|
+
|
|
154
|
+
# Map work types to skills. During build, the toolkit calls the right
|
|
155
|
+
# skill based on what task it's working on.
|
|
156
|
+
# Comment out skills you don't have installed.
|
|
157
|
+
|
|
158
|
+
# skill-routing:
|
|
159
|
+
# database-migration: database-patterns
|
|
160
|
+
# new-endpoint: api-endpoint-creator
|
|
161
|
+
# backend-code: kotlin-best-practices
|
|
162
|
+
# writing-tests: testing-strategies
|
|
163
|
+
# ui-components: ui-ux-pro-max
|
|
164
|
+
# security: security-checklist
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# User Interview
|
|
2
|
+
|
|
3
|
+
**Person:**
|
|
4
|
+
**Date:**
|
|
5
|
+
**Context:** How do you know them? What do they do?
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Rules (Mom Test)
|
|
10
|
+
1. Talk about their life, not your idea
|
|
11
|
+
2. Ask about the past, not the future
|
|
12
|
+
3. Talk less, listen more
|
|
13
|
+
4. Bad news is good news
|
|
14
|
+
5. Never pitch during the interview
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Opening
|
|
19
|
+
> "Tell me about the last time you [did the thing you're solving for]"
|
|
20
|
+
|
|
21
|
+
## Questions
|
|
22
|
+
|
|
23
|
+
### Understanding the Problem
|
|
24
|
+
1. Walk me through how you currently handle [problem]?
|
|
25
|
+
2. What's the hardest part about [problem]?
|
|
26
|
+
3. Why is that hard?
|
|
27
|
+
4. How often does this happen?
|
|
28
|
+
5. What have you tried to fix it?
|
|
29
|
+
6. What happened?
|
|
30
|
+
|
|
31
|
+
### Finding Pain
|
|
32
|
+
7. What does it cost you? (time, money, stress)
|
|
33
|
+
8. How do you work around it now?
|
|
34
|
+
9. If you could wave a magic wand, what would change?
|
|
35
|
+
|
|
36
|
+
### Validating Importance
|
|
37
|
+
10. When was the last time this happened?
|
|
38
|
+
11. What did you do?
|
|
39
|
+
12. Have you looked for solutions?
|
|
40
|
+
13. What did you find?
|
|
41
|
+
14. Why didn't you use them?
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Notes
|
|
46
|
+
> Write their actual words, not your interpretation
|
|
47
|
+
|
|
48
|
+
## Key Quotes
|
|
49
|
+
> Exact quotes that prove pain
|
|
50
|
+
|
|
51
|
+
## Insights
|
|
52
|
+
> What did you learn?
|
|
53
|
+
|
|
54
|
+
## Red Flags
|
|
55
|
+
> Anything that suggests they don't really care?
|
|
56
|
+
|
|
57
|
+
## Follow-ups
|
|
58
|
+
> What should you ask next time?
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Score
|
|
63
|
+
| Question | Answer |
|
|
64
|
+
|----------|--------|
|
|
65
|
+
| Real problem? | Yes / Maybe / No |
|
|
66
|
+
| Happens often? | Daily / Weekly / Monthly / Rarely |
|
|
67
|
+
| Currently pays to solve? | Yes ($___) / No |
|
|
68
|
+
| Would pay for solution? | Yes ($___) / Maybe / No |
|
|
69
|
+
| Warm intro potential? | Yes / No |
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Validation Checklist
|
|
2
|
+
|
|
3
|
+
**Project:**
|
|
4
|
+
**Date:**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Problem Validation
|
|
9
|
+
|
|
10
|
+
### Do people have this problem?
|
|
11
|
+
- [ ] Talked to 5+ potential users
|
|
12
|
+
- [ ] Found 3+ people actively trying to solve it
|
|
13
|
+
- [ ] Problem happens at least weekly
|
|
14
|
+
- [ ] Problem costs them real time/money/stress
|
|
15
|
+
|
|
16
|
+
**Evidence:**
|
|
17
|
+
|
|
18
|
+
### Is the problem big enough?
|
|
19
|
+
- [ ] Market has 10,000+ potential users
|
|
20
|
+
- [ ] They currently spend money on solutions
|
|
21
|
+
- [ ] Problem is getting worse, not better
|
|
22
|
+
|
|
23
|
+
**Evidence:**
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Solution Validation
|
|
28
|
+
|
|
29
|
+
### Does your solution make sense?
|
|
30
|
+
- [ ] Explained it to 5 people and they got it in 30 seconds
|
|
31
|
+
- [ ] At least 3 said "I'd use that"
|
|
32
|
+
- [ ] No one said "that already exists" (or you know why yours is different)
|
|
33
|
+
|
|
34
|
+
**Evidence:**
|
|
35
|
+
|
|
36
|
+
### Would they pay?
|
|
37
|
+
- [ ] Asked about willingness to pay
|
|
38
|
+
- [ ] Got specific price points
|
|
39
|
+
- [ ] At least 1 person offered to pre-pay or sign up for beta
|
|
40
|
+
|
|
41
|
+
**Evidence:**
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Competition Check
|
|
46
|
+
|
|
47
|
+
### Can you win?
|
|
48
|
+
- [ ] Analyzed 3+ competitors
|
|
49
|
+
- [ ] Found clear gaps in existing solutions
|
|
50
|
+
- [ ] Your approach is meaningfully different
|
|
51
|
+
- [ ] You have some unfair advantage
|
|
52
|
+
|
|
53
|
+
**Evidence:**
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Build Check
|
|
58
|
+
|
|
59
|
+
### Can you actually build this?
|
|
60
|
+
- [ ] Scoped MVP to 2-4 weeks of work
|
|
61
|
+
- [ ] Have the skills (or know who does)
|
|
62
|
+
- [ ] No major technical unknowns
|
|
63
|
+
- [ ] Don't need permission from anyone
|
|
64
|
+
|
|
65
|
+
**Evidence:**
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Founder Fit
|
|
70
|
+
|
|
71
|
+
### Should YOU build this?
|
|
72
|
+
- [ ] You understand the users personally
|
|
73
|
+
- [ ] You'd use this product yourself
|
|
74
|
+
- [ ] You can reach first 10 users without ads
|
|
75
|
+
- [ ] You're excited to work on this for 2+ years
|
|
76
|
+
|
|
77
|
+
**Evidence:**
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Scoring
|
|
82
|
+
|
|
83
|
+
| Category | Score (1-5) | Notes |
|
|
84
|
+
|----------|-------------|-------|
|
|
85
|
+
| Problem exists | | |
|
|
86
|
+
| Problem is painful | | |
|
|
87
|
+
| Solution makes sense | | |
|
|
88
|
+
| Would pay | | |
|
|
89
|
+
| Can beat competition | | |
|
|
90
|
+
| Can build it | | |
|
|
91
|
+
| Founder fit | | |
|
|
92
|
+
|
|
93
|
+
**Total:** /35
|
|
94
|
+
|
|
95
|
+
### Decision Guide
|
|
96
|
+
- 28-35: Strong signal. Build it.
|
|
97
|
+
- 21-27: Promising. Do more validation.
|
|
98
|
+
- 14-20: Weak. Rethink the idea or pivot.
|
|
99
|
+
- Below 14: Kill it. Move on.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Decision
|
|
104
|
+
|
|
105
|
+
- [ ] Build MVP
|
|
106
|
+
- [ ] More validation needed on: ___________
|
|
107
|
+
- [ ] Pivot to: ___________
|
|
108
|
+
- [ ] Kill and move on
|