@esthernandez/vibe-cartographer 1.0.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 +21 -0
- package/CHANGELOG.md +122 -0
- package/INSTALL.md +132 -0
- package/README.md +148 -0
- package/docs/self-evolving-plugins-framework.md +347 -0
- package/package.json +30 -0
- package/plugins/vibe-cartographer/.claude-plugin/plugin.json +6 -0
- package/plugins/vibe-cartographer/CLAUDE.md +24 -0
- package/plugins/vibe-cartographer/architecture/README.md +41 -0
- package/plugins/vibe-cartographer/architecture/default-patterns.md +87 -0
- package/plugins/vibe-cartographer/architecture/example-architecture.md +80 -0
- package/plugins/vibe-cartographer/skills/build/SKILL.md +198 -0
- package/plugins/vibe-cartographer/skills/checklist/SKILL.md +217 -0
- package/plugins/vibe-cartographer/skills/guide/SKILL.md +207 -0
- package/plugins/vibe-cartographer/skills/guide/references/eval-rubric.md +103 -0
- package/plugins/vibe-cartographer/skills/guide/references/prd-guide.md +100 -0
- package/plugins/vibe-cartographer/skills/guide/references/spec-patterns.md +133 -0
- package/plugins/vibe-cartographer/skills/guide/templates/builder-profile-template.md +36 -0
- package/plugins/vibe-cartographer/skills/guide/templates/checklist-template.md +37 -0
- package/plugins/vibe-cartographer/skills/guide/templates/prd-template.md +49 -0
- package/plugins/vibe-cartographer/skills/guide/templates/reflection-template.md +55 -0
- package/plugins/vibe-cartographer/skills/guide/templates/scope-template.md +29 -0
- package/plugins/vibe-cartographer/skills/guide/templates/spec-template.md +68 -0
- package/plugins/vibe-cartographer/skills/iterate/SKILL.md +97 -0
- package/plugins/vibe-cartographer/skills/onboard/SKILL.md +329 -0
- package/plugins/vibe-cartographer/skills/prd/SKILL.md +112 -0
- package/plugins/vibe-cartographer/skills/reflect/SKILL.md +196 -0
- package/plugins/vibe-cartographer/skills/scope/SKILL.md +122 -0
- package/plugins/vibe-cartographer/skills/session-logger/SKILL.md +109 -0
- package/plugins/vibe-cartographer/skills/spec/SKILL.md +127 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Review Dimensions — Agent Reference
|
|
2
|
+
|
|
3
|
+
This document is for the agent only. It defines how you reason about the builder's work in /reflect. Use these dimensions to structure your thinking, but your output is qualitative observations — what landed and what to tighten — not scores or grades.
|
|
4
|
+
|
|
5
|
+
## How to Use This
|
|
6
|
+
|
|
7
|
+
For each dimension:
|
|
8
|
+
1. **Read the relevant artifacts.** Know what you're looking at before forming opinions.
|
|
9
|
+
2. **Reason through the evidence.** What's there, what's missing, what it means.
|
|
10
|
+
3. **Cite specifics.** Quote or reference exact passages from the artifacts. No vague claims.
|
|
11
|
+
4. **Calibrate to the builder.** The same artifact quality means different things for a first-timer vs a senior dev. Read their technical background and adjust accordingly.
|
|
12
|
+
5. **Output one strength and one improvement area per dimension.** Keep each to 2-3 sentences with evidence.
|
|
13
|
+
|
|
14
|
+
## Guards
|
|
15
|
+
|
|
16
|
+
Apply these throughout every review:
|
|
17
|
+
|
|
18
|
+
- **Calibrate to project context.** Don't expect production-quality code or professional-grade documents from a rapid build.
|
|
19
|
+
- **Brevity that nails the idea beats length.** A concise scope doc that's sharp is better than a long one full of filler. Judge substance, not word count.
|
|
20
|
+
- **Evaluate against the PRD, not your own taste.** The PRD's acceptance criteria are the anchor. Did the app do what the builder said it should do?
|
|
21
|
+
- **If evidence is insufficient, say so.** Don't fill gaps with charitable assumptions or harsh ones. Note what's missing.
|
|
22
|
+
- **Ownership matters.** A polished app built by a passive builder is less notable than a rougher app built by someone who drove every decision.
|
|
23
|
+
|
|
24
|
+
## Dimensions
|
|
25
|
+
|
|
26
|
+
### 1. Scope & Idea Clarity
|
|
27
|
+
|
|
28
|
+
How well-defined is the idea? Does `scope.md` give a clear picture of what's being built and why?
|
|
29
|
+
|
|
30
|
+
**What to look at:**
|
|
31
|
+
- Is the idea stated clearly enough that someone could picture the app?
|
|
32
|
+
- Is a specific user and problem identified (not "everyone" or "people")?
|
|
33
|
+
- Does "What's Explicitly Cut" name real features with rationale?
|
|
34
|
+
- Is "What Done Looks Like" concrete enough to verify?
|
|
35
|
+
- Is the scope realistic given the builder's experience?
|
|
36
|
+
|
|
37
|
+
**Strong:** The idea is sharp — one sentence and you get it. The user, problem, and constraints are specific and grounded. Scope cuts show genuine prioritization.
|
|
38
|
+
|
|
39
|
+
**Needs tightening:** The idea is vague, no specific user, nothing explicitly cut, "done" is described in generalities.
|
|
40
|
+
|
|
41
|
+
### 2. Requirements Thinking
|
|
42
|
+
|
|
43
|
+
Does `prd.md` define complete, testable requirements? Were edge cases surfaced? Did the builder invest in specification depth?
|
|
44
|
+
|
|
45
|
+
**What to look at:**
|
|
46
|
+
- Do user stories cover the core user journey?
|
|
47
|
+
- Are acceptance criteria specific and testable (not vague like "works well")?
|
|
48
|
+
- Are edge cases and error states addressed (empty states, bad input, no results)?
|
|
49
|
+
- Does "What we're building" vs "What we'd add" show genuine prioritization?
|
|
50
|
+
- Is the PRD substantially more detailed than the scope doc?
|
|
51
|
+
- How many deepening rounds did the builder choose? (Check process notes.) Did extra rounds produce materially better requirements, or did the builder stop at the minimum?
|
|
52
|
+
|
|
53
|
+
**Strong:** Stories are comprehensive and grouped meaningfully. Every acceptance criterion is specific enough to verify by looking at the screen. Multiple edge cases addressed. Extra deepening rounds (if taken) produced tangible improvements.
|
|
54
|
+
|
|
55
|
+
**Needs tightening:** PRD is a reformatted copy of the scope doc. Acceptance criteria say "it should work." No edge cases mentioned. Skipped deepening rounds and the gaps show in the build.
|
|
56
|
+
|
|
57
|
+
### 3. Technical Decisions
|
|
58
|
+
|
|
59
|
+
Does `spec.md` show intentional architecture choices? Does the checklist sequence make sense? Did specification depth prevent build problems?
|
|
60
|
+
|
|
61
|
+
**What to look at:**
|
|
62
|
+
- Are stack choices explained with rationale tied to the builder's experience?
|
|
63
|
+
- Are file structure and data flow documented clearly enough for building?
|
|
64
|
+
- Do architecture decisions reference PRD epics — is there traceability?
|
|
65
|
+
- Is the checklist sequenced logically (dependencies respected)?
|
|
66
|
+
- Does the spec address how the submission will work?
|
|
67
|
+
- Did deepening rounds in /spec catch issues that would have caused problems during /build? Or did skipping them leave gaps?
|
|
68
|
+
|
|
69
|
+
**Strong:** Every decision has clear rationale. File structure is annotated. Data flow is diagrammed. PRD cross-references are thorough. The builder actively shaped the architecture. Deepening round investment shows in build smoothness.
|
|
70
|
+
|
|
71
|
+
**Needs tightening:** Stack listed without rationale. No file structure. No PRD connection. Checklist is a flat list with no dependency logic. Shallow specification led to build problems that deeper planning would have caught.
|
|
72
|
+
|
|
73
|
+
### 4. Plan vs. Reality
|
|
74
|
+
|
|
75
|
+
Does the finished app do what the PRD said it should do?
|
|
76
|
+
|
|
77
|
+
**What to look at:**
|
|
78
|
+
- Does the app run without crashing on the core flow?
|
|
79
|
+
- How many "What we're building" acceptance criteria are met?
|
|
80
|
+
- Is the core user journey functional end-to-end?
|
|
81
|
+
- Where did the build drift from the plan, and did the builder adapt?
|
|
82
|
+
|
|
83
|
+
**Strong:** The app does what the PRD said. Most acceptance criteria are met. The gap between plan and execution is small, or the builder noticed drift and adjusted.
|
|
84
|
+
|
|
85
|
+
**Needs tightening:** Major gap between plan and build. Core features missing or broken. The builder didn't notice or address the drift.
|
|
86
|
+
|
|
87
|
+
### 5. How You Worked
|
|
88
|
+
|
|
89
|
+
From `process-notes.md` and comprehension check answers: did the builder actively shape the project?
|
|
90
|
+
|
|
91
|
+
**What to look at:**
|
|
92
|
+
- Did the builder make real decisions (not just agree to everything)?
|
|
93
|
+
- Did they push back on or modify agent suggestions?
|
|
94
|
+
- Were comprehension check answers engaged and accurate (if they opted in)?
|
|
95
|
+
- Did the builder contribute ideas the agent hadn't suggested?
|
|
96
|
+
- Did the builder's decision-making sharpen across the phases?
|
|
97
|
+
- How did they approach deepening rounds? Strategic investment or rushing through?
|
|
98
|
+
|
|
99
|
+
**Strong:** Process notes show full engagement at every step. Multiple instances of pushing back, redirecting, adding ideas. Comprehension checks are concise and accurate. Deepening rounds were used strategically. The project distinctly reflects the builder's vision.
|
|
100
|
+
|
|
101
|
+
**Needs tightening:** The builder accepted most suggestions without pushback. Comprehension checks are vague or confused. Skipped all deepening rounds and the documents are thin. The project feels like the agent built what the agent wanted.
|
|
102
|
+
|
|
103
|
+
**If the builder was mostly passive,** say it directly: "On longer projects, passive acceptance means you end up with code you can't debug, extend, or explain. Own every decision — push back, redirect, make it yours."
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# PRD Guide — Agent Reference
|
|
2
|
+
|
|
3
|
+
This document is for the agent only. It informs how you conduct the /prd conversation and write the PRD. Do not surface PM jargon, framework names, or theory to the builder. Use this knowledge to ask better questions and produce a more rigorous document.
|
|
4
|
+
|
|
5
|
+
## What Makes a Good PRD
|
|
6
|
+
|
|
7
|
+
A good PRD is exhaustive about *what* the user wants without touching *how* to build it. It translates a brainstorm (scope.md) into precise behavior descriptions. Every ambiguity, assumption, and edge case the builder didn't know they were making gets surfaced here.
|
|
8
|
+
|
|
9
|
+
The PRD should be significantly more detailed than the scope doc. The scope doc is a big-picture sketch. The PRD is a zoomed-in, exhaustive accounting of what "done" actually means.
|
|
10
|
+
|
|
11
|
+
## User Stories
|
|
12
|
+
|
|
13
|
+
User stories are the backbone of requirements. The format is simple and accessible to anyone:
|
|
14
|
+
|
|
15
|
+
**"As a [specific person], I want [thing I can do] so that [why it matters to me]."**
|
|
16
|
+
|
|
17
|
+
What makes a good story:
|
|
18
|
+
- The person is specific enough to picture ("a first-time visitor" not "a user")
|
|
19
|
+
- The capability describes what they want to accomplish, not how the UI works ("find recipes that use what I have" not "click a dropdown menu")
|
|
20
|
+
- The benefit explains the real-world value ("so I don't waste food" not "so the feature works")
|
|
21
|
+
|
|
22
|
+
Common mistakes to watch for and gently redirect:
|
|
23
|
+
- Too vague: "I want the app to work well" — push for specifics
|
|
24
|
+
- Prescribing UI: "I want a sidebar with filters" — redirect to the need behind it
|
|
25
|
+
- Missing the "so that": stories without benefits are tasks, not stories
|
|
26
|
+
- Too big: "I want to manage my account" — help break it into specific capabilities
|
|
27
|
+
|
|
28
|
+
When the builder describes what they want, translate their casual language into stories naturally. Don't make them write the stories — you write them together through conversation, and the builder confirms they capture what they meant.
|
|
29
|
+
|
|
30
|
+
## Grouping Stories into Epics
|
|
31
|
+
|
|
32
|
+
An epic is just a group of related stories that belong together. Use epics to organize the PRD when a project has multiple areas of functionality.
|
|
33
|
+
|
|
34
|
+
For example, a recipe app might have:
|
|
35
|
+
- **Finding recipes**: stories about searching, filtering, browsing
|
|
36
|
+
- **Managing ingredients**: stories about adding what's in the fridge, tracking what's used
|
|
37
|
+
- **Cooking flow**: stories about following a recipe step by step
|
|
38
|
+
|
|
39
|
+
Name epics in plain language that describes the area of the app, not PM terminology. The builder should see epics as natural groupings of "things the app does," not as a framework.
|
|
40
|
+
|
|
41
|
+
**Important:** Give epics clear, stable heading names in the PRD. Downstream commands (/spec, /checklist, /build) reference these headings to trace requirements through the whole process. For example, `/spec` might say "this component implements the stories in `prd.md > Finding Recipes`" and `/checklist` might reference `prd.md > Finding Recipes > no-results story`. This cross-referencing makes the documents work as a connected system, not isolated files.
|
|
42
|
+
|
|
43
|
+
## Acceptance Criteria
|
|
44
|
+
|
|
45
|
+
For each story or requirement, write acceptance criteria as simple checklists. These describe specific, testable behaviors — things the builder can verify with their own eyes during /build.
|
|
46
|
+
|
|
47
|
+
Good acceptance criteria:
|
|
48
|
+
- [ ] When I search for "chicken", recipes with chicken appear
|
|
49
|
+
- [ ] If I have no ingredients saved, the app shows a helpful empty state
|
|
50
|
+
- [ ] Clicking a recipe shows the full ingredient list and steps
|
|
51
|
+
|
|
52
|
+
Avoid:
|
|
53
|
+
- Vague criteria: "the search works well"
|
|
54
|
+
- Implementation-specific criteria: "the SQL query returns results in < 100ms"
|
|
55
|
+
- Untestable criteria: "the UX is intuitive"
|
|
56
|
+
|
|
57
|
+
Cover the happy path first, then ask about what happens when things go wrong or are empty. Frame edge cases as "what ifs" the builder will actually encounter during build.
|
|
58
|
+
|
|
59
|
+
## Asking Sharpening Questions
|
|
60
|
+
|
|
61
|
+
The core technique is translating vague intentions into precise behaviors. Useful question patterns:
|
|
62
|
+
|
|
63
|
+
**Zooming in:** "You said users can browse recipes. What do they see first? A list? Cards? How are they sorted?"
|
|
64
|
+
|
|
65
|
+
**Surfacing assumptions:** "You're assuming people will add their ingredients. But what does the app look like before they've added anything? What's the very first thing a new user sees?"
|
|
66
|
+
|
|
67
|
+
**Finding contradictions:** "You want it to be simple, but you also want filtering by cuisine, diet, and cook time. Which matters most if you had to pick one?"
|
|
68
|
+
|
|
69
|
+
**Testing completeness:** "Walk me through this from start to finish. You open the app. Then what? What do you tap first? What happens next?"
|
|
70
|
+
|
|
71
|
+
**Probing the edges:** "What if someone searches for something and there are no results? What if they have only one ingredient? What if they have fifty?"
|
|
72
|
+
|
|
73
|
+
Calibrate depth to experience level:
|
|
74
|
+
- First-timers: 2-3 "what if" moments that open their eyes to planning value
|
|
75
|
+
- Junior devs: push on the interactions between features, state management implications (without using that phrase)
|
|
76
|
+
- Senior devs: they'll likely anticipate edge cases — focus on helping them be explicit about decisions they're making implicitly
|
|
77
|
+
|
|
78
|
+
## Scope Guarding
|
|
79
|
+
|
|
80
|
+
The PRD naturally wants to expand. Your job is to be exhaustive about what's IN without letting scope grow beyond what's realistic.
|
|
81
|
+
|
|
82
|
+
Watch for:
|
|
83
|
+
- Requirements that keep spawning sub-requirements
|
|
84
|
+
- "While we're at it" additions
|
|
85
|
+
- Features the builder is excited about but that would significantly extend the build
|
|
86
|
+
- Vague requirements that hide enormous complexity ("social features," "real-time sync," "recommendations")
|
|
87
|
+
|
|
88
|
+
When you spot creep, name it directly: "This is growing. Is this essential for your project, or would you add it with more time?" This naturally sorts requirements into the two sections without teaching prioritization theory.
|
|
89
|
+
|
|
90
|
+
## Non-Goals
|
|
91
|
+
|
|
92
|
+
Strong non-goals prevent scope creep during build. They should be specific and named — "we are NOT building user profiles, because the app works fine with anonymous/session-based use" is better than "no extra features."
|
|
93
|
+
|
|
94
|
+
Pull non-goals from two sources:
|
|
95
|
+
1. What was explicitly cut in scope.md
|
|
96
|
+
2. Adjacent features that will tempt the builder during build
|
|
97
|
+
|
|
98
|
+
## Open Questions
|
|
99
|
+
|
|
100
|
+
Some things won't resolve during the PRD conversation. That's fine — name them explicitly so they don't become surprise roadblocks during build. Flag whether each needs to be answered before /spec or can wait until build time.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Spec Patterns — Agent Reference
|
|
2
|
+
|
|
3
|
+
This document is for the agent only. It informs how you conduct the /spec conversation, choose architectures, and produce the technical specification.
|
|
4
|
+
|
|
5
|
+
**Important:** If the builder provided architecture docs during `/onboard`, those take precedence over the patterns in this file. Use this file as a fallback when no architecture docs are provided, or to supplement architecture docs that are incomplete.
|
|
6
|
+
|
|
7
|
+
For default stack patterns and recommendations, see `architecture/default-patterns.md`.
|
|
8
|
+
|
|
9
|
+
## Adapting to Architecture Docs
|
|
10
|
+
|
|
11
|
+
When architecture docs are provided:
|
|
12
|
+
- Use the specified stack, patterns, and conventions as your starting point
|
|
13
|
+
- Still validate choices against the builder's experience level
|
|
14
|
+
- Still discuss tradeoffs and alternatives, but frame them relative to the provided architecture
|
|
15
|
+
- Propose modifications only when the architecture docs conflict with the project requirements from the PRD
|
|
16
|
+
|
|
17
|
+
When no architecture docs are provided:
|
|
18
|
+
- Use the patterns in `architecture/default-patterns.md` to recommend a stack
|
|
19
|
+
- Propose whichever fits the builder's project and experience level
|
|
20
|
+
|
|
21
|
+
## Diagramming
|
|
22
|
+
|
|
23
|
+
Use whatever format communicates best. Options:
|
|
24
|
+
|
|
25
|
+
**ASCII box diagrams** — work everywhere, no rendering dependencies:
|
|
26
|
+
```
|
|
27
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
28
|
+
│ Frontend │────→│ API │────→│ Database │
|
|
29
|
+
└──────────┘ └──────────┘ └──────────┘
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Mermaid** — richer rendering in many tools:
|
|
33
|
+
```mermaid
|
|
34
|
+
graph LR
|
|
35
|
+
Frontend --> API --> Database
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Ask the builder if they have a preference. If they don't care, pick whichever is clearest for the specific diagram.
|
|
39
|
+
|
|
40
|
+
## File Structure Conventions
|
|
41
|
+
|
|
42
|
+
Always include a full file tree in the spec. Use ASCII tree format:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
project/
|
|
46
|
+
├── src/
|
|
47
|
+
│ ├── components/ # UI components
|
|
48
|
+
│ ├── pages/ # Route-level pages
|
|
49
|
+
│ ├── lib/ # Shared utilities
|
|
50
|
+
│ └── api/ # API routes or client
|
|
51
|
+
├── docs/ # Planning artifacts (scope, prd, spec, etc.)
|
|
52
|
+
├── process-notes.md # Process journal
|
|
53
|
+
├── package.json
|
|
54
|
+
└── README.md
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Annotate directories with brief comments explaining purpose. The builder should be able to look at this tree and understand where everything lives.
|
|
58
|
+
|
|
59
|
+
If architecture docs specify a file structure convention, use that instead.
|
|
60
|
+
|
|
61
|
+
## Data Flow Documentation
|
|
62
|
+
|
|
63
|
+
For any app with data, document how data moves through the system:
|
|
64
|
+
1. Where does data originate? (User input, external API, file, etc.)
|
|
65
|
+
2. Where is it stored? (Database, localStorage, in-memory, file)
|
|
66
|
+
3. How does it get from A to B? (API call, function call, event, etc.)
|
|
67
|
+
4. What transforms happen along the way?
|
|
68
|
+
|
|
69
|
+
For projects, keep this pragmatic. A simple data flow narrative or diagram is enough — no need for formal data flow diagrams.
|
|
70
|
+
|
|
71
|
+
## Stack Research
|
|
72
|
+
|
|
73
|
+
When proposing a stack, **always web search for current documentation** on the specific tools, libraries, and APIs being used. Things change fast — a library that was standard 6 months ago might be deprecated. Check:
|
|
74
|
+
- Is this library actively maintained?
|
|
75
|
+
- What's the current stable version?
|
|
76
|
+
- Are there known issues or migration paths?
|
|
77
|
+
- Is there a simpler alternative that does the same thing?
|
|
78
|
+
|
|
79
|
+
For external APIs (Supabase, Firebase, OpenAI, etc.), search for current pricing, rate limits, and quickstart guides. Link to relevant docs in the spec so the agent has them during /build.
|
|
80
|
+
|
|
81
|
+
## Granular Subsections
|
|
82
|
+
|
|
83
|
+
The spec MUST have granular subsections — every architectural component gets its own heading. These headings become addresses that /checklist references.
|
|
84
|
+
|
|
85
|
+
Bad: one big "Architecture" section with everything in it.
|
|
86
|
+
Good: `## Frontend > ### Search Component`, `## API > ### Endpoints > #### GET /recipes`, `## Data Model > ### Recipes Table`.
|
|
87
|
+
|
|
88
|
+
The depth of nesting should match the complexity. A simple CLI tool might only need two levels. A full-stack app might need three or four. The rule is: if /checklist needs to point to it, it needs its own heading.
|
|
89
|
+
|
|
90
|
+
## Cross-Referencing the PRD
|
|
91
|
+
|
|
92
|
+
When writing the spec, reference PRD epic headings to maintain traceability:
|
|
93
|
+
- "This component implements the stories in `prd.md > Finding Recipes`"
|
|
94
|
+
- "See `prd.md > Managing Ingredients` for the acceptance criteria this must satisfy"
|
|
95
|
+
|
|
96
|
+
This connects the architectural decisions back to the requirements. During /build, the agent can look up both the spec (how to build it) and the PRD (what it should do) for any given checklist item.
|
|
97
|
+
|
|
98
|
+
## Other Areas Worth Spending Time On
|
|
99
|
+
|
|
100
|
+
Beyond data flow and file structure, these areas deserve real conversation time in /spec:
|
|
101
|
+
|
|
102
|
+
### State Management
|
|
103
|
+
Where does state live? This is the #1 source of confusion during build. For every piece of data the app touches, the builder should be able to answer: "Where is this stored? How does it get updated? What happens when the user navigates away and comes back?" Don't use the phrase "state management" with beginners — just ask the questions in plain language.
|
|
104
|
+
|
|
105
|
+
### API Contract / Interface Design
|
|
106
|
+
If the app talks to any external service (Supabase, OpenAI, a third-party API), spell out the exact calls: what endpoint, what payload, what comes back. This prevents the build from stalling while the agent figures out an API it's never seen before. Include links to the relevant docs.
|
|
107
|
+
|
|
108
|
+
### Error Boundaries and Fallbacks
|
|
109
|
+
Not exhaustive error handling — just the 2-3 places where things will actually break during a demo. What if the API is slow? What if the database is empty? What if the user's input is weird? Decide on a simple strategy: show a loading spinner, show a helpful error message, fall back to sample data. Keep it proportional to the project scope.
|
|
110
|
+
|
|
111
|
+
### Documentation & Security Review
|
|
112
|
+
What does the project need to be ready to share? Walk through the README requirements, docs artifacts, and security posture now — make sure the architecture supports clean documentation and doesn't have baked-in security issues. If the app handles user data, authentication, or external APIs, those patterns need to be secure by design, not patched after the fact.
|
|
113
|
+
|
|
114
|
+
If the builder wants to deploy the app for a live link, discuss options appropriate to their stack (Vercel, Netlify, GitHub Pages, Railway, Fly.io, etc.) and make sure the architecture supports easy deployment. Verify that deployment config uses environment variables for secrets, enforces HTTPS, and has intentional CORS settings. A deployed link strengthens the project but isn't required.
|
|
115
|
+
|
|
116
|
+
## Deployment Considerations
|
|
117
|
+
|
|
118
|
+
Ask once where the builder plans to run their app:
|
|
119
|
+
- **Local only:** Simplest. Just needs to run on localhost. Screenshots and description carry the submission.
|
|
120
|
+
- **Deployed URL:** Note target platform (Vercel, Netlify, GitHub Pages, Railway, Fly.io, etc.). Include deployment steps in spec. If the builder wants to deploy but doesn't know how, help them pick an option that fits their stack.
|
|
121
|
+
- **Optional demo video:** The builder can record a short video and upload to YouTube or Vimeo. Not required, but it can strengthen the project.
|
|
122
|
+
|
|
123
|
+
Most builders will run locally and submit with screenshots — that's fine. Don't over-invest in deployment unless the builder specifically wants a live URL.
|
|
124
|
+
|
|
125
|
+
## Architecture Self-Review
|
|
126
|
+
|
|
127
|
+
After drafting the spec, the agent should review its own work for:
|
|
128
|
+
- Ambiguities that would confuse /build ("what exactly does 'handle auth' mean here?")
|
|
129
|
+
- Failure points ("if this API is down, the whole app breaks — is there a fallback?")
|
|
130
|
+
- Complexity that doesn't match the time constraint ("this data model has 6 tables for a 3-hour build")
|
|
131
|
+
- Mismatches between the spec and the PRD ("the PRD says users can delete items but the spec has no delete endpoint")
|
|
132
|
+
|
|
133
|
+
Surface 2-3 of the most important issues for the builder to weigh in on. Specs are living documents that benefit from review — not perfect blueprints handed down from above.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<!-- This template captures who the builder is. Every downstream command reads this
|
|
2
|
+
document to calibrate its depth, tone, and recommendations. Keep it scannable. -->
|
|
3
|
+
|
|
4
|
+
# Builder Profile
|
|
5
|
+
|
|
6
|
+
## Who They Are
|
|
7
|
+
Name (if shared), background, what brings them to this project.
|
|
8
|
+
|
|
9
|
+
## Technical Experience
|
|
10
|
+
Experience level (first-time coder / beginner / intermediate / experienced).
|
|
11
|
+
Languages, frameworks, and tools they know.
|
|
12
|
+
What they don't know but want to explore.
|
|
13
|
+
AI coding agent experience (which tools, how they've used them).
|
|
14
|
+
|
|
15
|
+
## Mode
|
|
16
|
+
<!-- Learner | Builder -->
|
|
17
|
+
<!-- Learner: guided walkthrough with explanations and encouragement -->
|
|
18
|
+
<!-- Builder: streamlined flow for people ready to move -->
|
|
19
|
+
|
|
20
|
+
## Project Goals
|
|
21
|
+
What they want to accomplish with this project — the outcome they're building toward.
|
|
22
|
+
|
|
23
|
+
## Design Direction
|
|
24
|
+
The app's intended look and feel — design references, aesthetic direction, mood.
|
|
25
|
+
If design docs exist, pull from those. If they referenced specific apps, games,
|
|
26
|
+
or visual styles, note those as design signals.
|
|
27
|
+
(If nothing surfaced, note "No strong signals — default to clean and functional.")
|
|
28
|
+
|
|
29
|
+
## Prior SDD Experience
|
|
30
|
+
Whether they've done structured planning before building — formal or informal.
|
|
31
|
+
How this should calibrate the /reflect quiz and process explanations.
|
|
32
|
+
|
|
33
|
+
## Architecture Docs
|
|
34
|
+
Whether the builder provided architecture docs. If yes, note where they live
|
|
35
|
+
and a brief summary of what they specify (stack, patterns, conventions).
|
|
36
|
+
If no, note "No architecture docs provided — will use defaults in /spec."
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!-- Every item MUST use the five-field format below. /build reads each item
|
|
2
|
+
and relies on all five fields being present and consistently formatted.
|
|
3
|
+
The header encodes methodology choices so /build doesn't re-ask. -->
|
|
4
|
+
|
|
5
|
+
# Build Checklist
|
|
6
|
+
|
|
7
|
+
## Build Preferences
|
|
8
|
+
|
|
9
|
+
- **Build mode:** [Autonomous / Step-by-step]
|
|
10
|
+
- **Comprehension checks:** [Yes / No / N/A (autonomous mode)]
|
|
11
|
+
- **Git:** [Commit cadence and style — e.g., "Commit after each item with message: 'Complete step N: [title]'"]
|
|
12
|
+
- **Verification:** [Yes / No. Step-by-step: per-item verification. Autonomous: checkpoints every 3-4 items. If No, verification is skipped.]
|
|
13
|
+
- **Check-in cadence:** [Step-by-step only: Learning-driven / balanced / speed-run — how much discussion during build. N/A for autonomous.]
|
|
14
|
+
|
|
15
|
+
## Checklist
|
|
16
|
+
|
|
17
|
+
- [ ] **1. [Clear title — what's done when this step is complete]**
|
|
18
|
+
Spec ref: `spec.md > [Section] > [Subsection]`
|
|
19
|
+
What to build: Concrete description of the work. Specific enough that /build can execute without guessing.
|
|
20
|
+
Acceptance: Testable criteria from prd.md. What the builder verifies with their own eyes.
|
|
21
|
+
Verify: Specific action — "Run dev server and confirm [what you should see]."
|
|
22
|
+
|
|
23
|
+
- [ ] **2. [Title]**
|
|
24
|
+
Spec ref: `spec.md > [Section] > [Subsection]`
|
|
25
|
+
What to build: [...]
|
|
26
|
+
Acceptance: [...]
|
|
27
|
+
Verify: [...]
|
|
28
|
+
|
|
29
|
+
<!-- Continue for all items. Typical project: 8-12 items.
|
|
30
|
+
Sequence respects dependencies — earlier items unblock later ones.
|
|
31
|
+
Last item is always documentation & security verification. -->
|
|
32
|
+
|
|
33
|
+
- [ ] **N. Documentation & security verification**
|
|
34
|
+
Spec ref: `prd.md > What We're Building` + `spec.md > [all sections]`
|
|
35
|
+
What to build: Write a README.md covering what the app does, how to install/run locally, required environment variables (without real values), and tech stack. Confirm all docs/ artifacts (scope, PRD, spec, checklist) are up to date. Create a `.env.example` with placeholder values. Run a secrets scan — verify no API keys, tokens, or credentials are hardcoded and that `.gitignore` covers `.env` and sensitive paths. Run a dependency audit (`npm audit` / `pip audit` / equivalent) and address critical findings. Spot-check input validation for OWASP Top 10 basics (injection, XSS). If the app has auth, verify protected routes require it server-side. If deploying, confirm env vars use the platform’s secrets manager, HTTPS is enforced, CORS is intentional, and debug mode is off. Push code to GitHub.
|
|
36
|
+
Acceptance: README exists and is clear. `.env.example` exists. No secrets in committed code. Dependency audit shows no unaddressed critical vulnerabilities. Security spot-check documented. Code is pushed to GitHub.
|
|
37
|
+
Verify: Clone the repo fresh, follow the README to set up — can someone who’s never seen the project get it running? Run `git log --all -p | grep -i "password\|secret\|api_key"` and confirm nothing sensitive appears.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<!-- This template is a starting point. Add sections if the conversation surfaces
|
|
2
|
+
things worth capturing. The PRD should be significantly more detailed than
|
|
3
|
+
the scope doc — that expansion is the whole point of this step. -->
|
|
4
|
+
|
|
5
|
+
# [Project Name] — Product Requirements
|
|
6
|
+
|
|
7
|
+
## Problem Statement
|
|
8
|
+
2-3 sentences. Who experiences this problem, how often, and what it costs them.
|
|
9
|
+
Grounded in the scope doc but sharper and more specific.
|
|
10
|
+
|
|
11
|
+
## User Stories
|
|
12
|
+
|
|
13
|
+
<!-- Group stories into epics (natural groupings of related functionality).
|
|
14
|
+
Name each epic in plain language that describes the area of the app.
|
|
15
|
+
Order stories within each epic by importance. -->
|
|
16
|
+
|
|
17
|
+
### [Epic: area of functionality]
|
|
18
|
+
|
|
19
|
+
- As a [specific person], I want [capability] so that [benefit].
|
|
20
|
+
- [ ] Acceptance criterion
|
|
21
|
+
- [ ] Acceptance criterion
|
|
22
|
+
- [ ] Edge case or error state
|
|
23
|
+
|
|
24
|
+
- As a [specific person], I want [capability] so that [benefit].
|
|
25
|
+
- [ ] Acceptance criterion
|
|
26
|
+
- [ ] Acceptance criterion
|
|
27
|
+
|
|
28
|
+
### [Epic: another area]
|
|
29
|
+
|
|
30
|
+
- ...
|
|
31
|
+
|
|
32
|
+
## What We're Building
|
|
33
|
+
Everything the app must do to be complete.
|
|
34
|
+
Each item has acceptance criteria — specific, testable behaviors the builder
|
|
35
|
+
can verify with their own eyes. These become the basis for the build checklist.
|
|
36
|
+
|
|
37
|
+
## What We'd Add With More Time
|
|
38
|
+
Features or polish that would make the app better but aren't essential.
|
|
39
|
+
Keep these lighter — a sentence or two each, no full acceptance criteria.
|
|
40
|
+
These are available as starting points if the builder runs /iterate after build.
|
|
41
|
+
|
|
42
|
+
## Non-Goals
|
|
43
|
+
3-5 things this project explicitly will NOT do.
|
|
44
|
+
Each with a brief rationale. Pull from scope.md cuts and any new ones
|
|
45
|
+
surfaced during the PRD conversation.
|
|
46
|
+
|
|
47
|
+
## Open Questions
|
|
48
|
+
Unresolved items that might surface during spec or build.
|
|
49
|
+
Flag whether each needs answering before /spec or can wait.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!-- This reflection is generated by an AI. It ships with the project
|
|
2
|
+
as part of the documentation. The note at the top is intentional
|
|
3
|
+
and should not be removed. -->
|
|
4
|
+
|
|
5
|
+
# Reflection — [Project Name]
|
|
6
|
+
|
|
7
|
+
> **Note:** This feedback is AI-generated. It's observational, not authoritative. Use what's useful.
|
|
8
|
+
|
|
9
|
+
## Scope & Idea Clarity
|
|
10
|
+
|
|
11
|
+
**What landed:** [One specific strength, with evidence from scope.md]
|
|
12
|
+
|
|
13
|
+
**What to tighten:** [One specific, actionable improvement]
|
|
14
|
+
|
|
15
|
+
## Requirements Thinking
|
|
16
|
+
|
|
17
|
+
**What landed:** [One specific strength, with evidence from prd.md]
|
|
18
|
+
|
|
19
|
+
**What to tighten:** [One specific, actionable improvement]
|
|
20
|
+
|
|
21
|
+
## Technical Decisions
|
|
22
|
+
|
|
23
|
+
**What landed:** [One specific strength, with evidence from spec.md and checklist.md]
|
|
24
|
+
|
|
25
|
+
**What to tighten:** [One specific, actionable improvement]
|
|
26
|
+
|
|
27
|
+
## Plan vs. Reality
|
|
28
|
+
|
|
29
|
+
**What landed:** [One specific strength — where the build matched the plan, or where the builder adapted well to drift]
|
|
30
|
+
|
|
31
|
+
**What to tighten:** [One specific, actionable improvement]
|
|
32
|
+
|
|
33
|
+
## How You Worked
|
|
34
|
+
|
|
35
|
+
**What landed:** [One specific strength from process-notes.md — a moment of active engagement, pushback, or original thinking]
|
|
36
|
+
|
|
37
|
+
**What to tighten:** [One specific, actionable improvement]
|
|
38
|
+
|
|
39
|
+
## Your Goals
|
|
40
|
+
|
|
41
|
+
[Loop back to the builder's stated project goals. Connect the feedback to what they said they wanted to accomplish.]
|
|
42
|
+
|
|
43
|
+
## Reflection
|
|
44
|
+
|
|
45
|
+
[The builder's answer to the reflection question, and the agent's response.]
|
|
46
|
+
|
|
47
|
+
## Milestone Completion
|
|
48
|
+
|
|
49
|
+
- /scope: [complete/incomplete]
|
|
50
|
+
- /prd: [complete/incomplete]
|
|
51
|
+
- /spec: [complete/incomplete]
|
|
52
|
+
- /checklist: [complete/incomplete]
|
|
53
|
+
- /build: [N/M checklist items completed]
|
|
54
|
+
- /iterate: [N iteration cycles, or "skipped"]
|
|
55
|
+
- /reflect: complete
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!-- This template is a starting point. Add more sections if the conversation
|
|
2
|
+
surfaces things worth capturing that don't fit neatly below. The scope doc
|
|
3
|
+
should reflect the full richness of the conversation. -->
|
|
4
|
+
|
|
5
|
+
# [Project Name]
|
|
6
|
+
|
|
7
|
+
## Idea
|
|
8
|
+
One-line description, refined through conversation.
|
|
9
|
+
|
|
10
|
+
## Who It's For
|
|
11
|
+
Specific user, specific problem, specific unmet need.
|
|
12
|
+
|
|
13
|
+
## Inspiration & References
|
|
14
|
+
Links, examples, visual references, mood/aesthetic notes.
|
|
15
|
+
Design energy: fonts, colors, style direction (if applicable).
|
|
16
|
+
Include URLs to everything referenced — these become a research map
|
|
17
|
+
that /spec and other downstream commands can use to gather more context.
|
|
18
|
+
|
|
19
|
+
## Goals
|
|
20
|
+
What the builder wants this project to accomplish. What would make them proud.
|
|
21
|
+
|
|
22
|
+
## What "Done" Looks Like
|
|
23
|
+
Concrete description of the finished product.
|
|
24
|
+
|
|
25
|
+
## What's Explicitly Cut
|
|
26
|
+
Named features, use cases, or scope that is OUT. With brief rationale.
|
|
27
|
+
|
|
28
|
+
## Loose Implementation Notes
|
|
29
|
+
Early thinking on approach. Non-binding. Gets refined in /spec.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<!-- This template is fully adaptive — section names and depth should match
|
|
2
|
+
whatever the project actually is. The only hard rule: every architectural
|
|
3
|
+
component gets its own heading so /checklist can reference it.
|
|
4
|
+
Add or remove sections freely.
|
|
5
|
+
If architecture docs were provided during /onboard, use them as the
|
|
6
|
+
foundation for stack choices, patterns, and file structure. -->
|
|
7
|
+
|
|
8
|
+
# [Project Name] — Technical Spec
|
|
9
|
+
|
|
10
|
+
## Stack
|
|
11
|
+
Language, framework, key libraries. Brief rationale tied to builder's
|
|
12
|
+
preferences and experience level.
|
|
13
|
+
Link to current documentation for each major dependency.
|
|
14
|
+
|
|
15
|
+
## Runtime & Deployment
|
|
16
|
+
Where the app runs (web, desktop, CLI, mobile).
|
|
17
|
+
Deployment target: local demo, deployed URL, screen recording only.
|
|
18
|
+
Any environment requirements (Node version, Python version, API keys needed).
|
|
19
|
+
|
|
20
|
+
## Architecture Overview
|
|
21
|
+
Diagram showing major components and how they connect.
|
|
22
|
+
Data flow between frontend, backend, database, external services.
|
|
23
|
+
Use ASCII or Mermaid — whatever communicates best.
|
|
24
|
+
|
|
25
|
+
<!-- Each section below is an example. Replace with whatever sections
|
|
26
|
+
match this project's actual architecture. The key rule: granular
|
|
27
|
+
enough that /checklist can point to specific subsections. -->
|
|
28
|
+
|
|
29
|
+
## [Component Area 1]
|
|
30
|
+
### [Subcomponent]
|
|
31
|
+
What it does. How it connects to other components.
|
|
32
|
+
PRD ref: `prd.md > [Epic]` — the stories this implements.
|
|
33
|
+
|
|
34
|
+
### [Subcomponent]
|
|
35
|
+
...
|
|
36
|
+
|
|
37
|
+
## [Component Area 2]
|
|
38
|
+
### [Subcomponent]
|
|
39
|
+
...
|
|
40
|
+
|
|
41
|
+
## Data Model
|
|
42
|
+
Schema, relationships, state shape — whatever fits the stack.
|
|
43
|
+
### [Entity/Table/Collection]
|
|
44
|
+
Fields, types, relationships.
|
|
45
|
+
|
|
46
|
+
## File Structure
|
|
47
|
+
Full ASCII tree of every file and folder, annotated with purpose.
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
project/
|
|
51
|
+
├── src/
|
|
52
|
+
│ └── ...
|
|
53
|
+
├── docs/ # planning artifacts
|
|
54
|
+
├── process-notes.md
|
|
55
|
+
└── ...
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Key Technical Decisions
|
|
59
|
+
2-3 decisions made during the conversation.
|
|
60
|
+
Each with: what was decided, why, and what tradeoff was accepted.
|
|
61
|
+
|
|
62
|
+
## Dependencies & External Services
|
|
63
|
+
APIs, databases, hosting, anything outside the codebase.
|
|
64
|
+
Link to documentation. Note any rate limits, pricing, or API keys needed.
|
|
65
|
+
|
|
66
|
+
## Open Issues
|
|
67
|
+
Ambiguities or risks surfaced during architecture self-review.
|
|
68
|
+
Any unresolved questions from the PRD's open questions section.
|