devlyn-cli 1.5.4 → 1.6.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/README.md CHANGED
@@ -30,7 +30,7 @@ devlyn-cli solves this with two complementary engineering approaches:
30
30
 
31
31
  Structured prompts and role-based instructions that shape _what the AI knows and how it thinks_ for each task.
32
32
 
33
- - **16 slash commands** for debugging, code review, UI design, documentation, and more
33
+ - **17 slash commands** for ideation, debugging, code review, UI design, documentation, and more
34
34
  - **5 core skills** that activate automatically based on conversation context
35
35
  - **Agent team workflows** that spawn specialized AI teammates with role-specific expertise
36
36
  - **Product & feature spec templates** for structured planning
@@ -111,10 +111,11 @@ Slash commands are invoked directly in Claude Code conversations (e.g., type `/d
111
111
  | `/devlyn:design-system` | Extract design system tokens from a chosen style for exact reproduction |
112
112
  | `/devlyn:implement-ui` | Team-based UI build — component architect, UX engineer, accessibility engineer, responsive engineer, visual QA |
113
113
 
114
- ### Product & Planning
114
+ ### Ideation & Planning
115
115
 
116
116
  | Command | Description |
117
117
  |---|---|
118
+ | `/devlyn:ideate` | Transform unstructured ideas into auto-resolve-ready planning documents through structured brainstorming, research, and multi-perspective synthesis. Produces a three-layer document architecture (Vision → Roadmap → per-item specs) that feeds directly into `auto-resolve` |
118
119
  | `/devlyn:product-spec` | Generate or incrementally update product spec documents |
119
120
  | `/devlyn:feature-spec` | Transform product specs into implementable feature specifications |
120
121
  | `/devlyn:discover-product` | Scan codebase to generate feature-oriented product documentation |
@@ -182,6 +183,34 @@ Steps 5-6 are optional — run them periodically rather than on every PR.
182
183
 
183
184
  > **Scope matching matters.** For a simple one-file bug, `/devlyn:resolve` + `/devlyn:review` (solo) is fast. For a multi-module feature, `/devlyn:auto-resolve` handles everything. Don't over-tool simple changes.
184
185
 
186
+ ### Ideation → Implementation Pipeline
187
+
188
+ Go from raw ideas to shipped code with zero context loss:
189
+
190
+ ```bash
191
+ # 1. Brainstorm and plan — interactive back-and-forth
192
+ /devlyn:ideate "I want to build a habit tracking app with AI nudges..."
193
+
194
+ # 2. Review the generated docs
195
+ # docs/VISION.md — strategic north star
196
+ # docs/ROADMAP.md — indexed roadmap with links
197
+ # docs/roadmap/phase-1/ — auto-resolve-ready specs per item
198
+
199
+ # 3. Implement each item hands-free
200
+ /devlyn:auto-resolve "Implement per spec at docs/roadmap/phase-1/1.1-user-auth.md"
201
+ /devlyn:auto-resolve "Implement per spec at docs/roadmap/phase-1/1.2-dashboard.md"
202
+ ```
203
+
204
+ The ideation skill produces a **three-layer document architecture** designed to eliminate context pollution:
205
+
206
+ | Layer | File | Purpose | Who Reads It |
207
+ |---|---|---|---|
208
+ | Strategic | `VISION.md` | North star, principles, anti-goals | Humans, ideation skill |
209
+ | Tactical | `ROADMAP.md` | Indexed table linking to per-item specs | Humans, ideation skill |
210
+ | Operational | `roadmap/phase-N/item.md` | Self-contained spec with requirements, constraints, out-of-scope | `auto-resolve` |
211
+
212
+ Each item spec carries just enough context for `auto-resolve` to work autonomously — nothing more. Supports multiple modes: **Greenfield** (new project), **Expand** (add to existing), **Deep-dive** (explore one feature), **Research-first** (synthesize resources), and **Replan** (reprioritize).
213
+
185
214
  ### UI Design Pipeline
186
215
 
187
216
  A full explore → extract → build pipeline:
@@ -0,0 +1,344 @@
1
+ ---
2
+ name: devlyn:ideate
3
+ description: Transform unstructured ideas into implementation-ready planning documents through structured brainstorming, research, and multi-perspective synthesis. Produces a three-layer document architecture (Vision, Roadmap index, auto-resolve-ready specs) that eliminates context pollution in the implementation pipeline. Use when the user wants to brainstorm, plan a new project or feature set, explore possibilities, create a vision and roadmap, or structure scattered ideas into an actionable plan. Triggers on "let's brainstorm", "let's plan", "ideate", "I have an idea for", "help me think through", "let's explore", new project planning, feature discovery, roadmap creation, or when the user is throwing ideas that need structuring. Also triggers when the user shares links or resources for a new initiative and needs them synthesized into a plan, or wants to update an existing roadmap with new ideas.
4
+ ---
5
+
6
+ # Ideation to Implementation Bridge
7
+
8
+ Turn unstructured thinking into auto-resolve-ready documents. The output is a precision-engineered context pipeline — each document layer serves a specific role so that implementation agents receive exactly the context they need, nothing more.
9
+
10
+ <why_this_matters>
11
+ When ideas flow directly from conversation to `/devlyn:auto-resolve`, context degrades at each handoff:
12
+ - Abstract vision statements cause over-engineering (the agent optimizes for principles instead of deliverables)
13
+ - Full roadmaps create attention noise (49 irrelevant items dilute focus on item #3)
14
+ - Done criteria generated from vague prompts miss the user's actual intent
15
+
16
+ This skill solves the context engineering problem by producing **self-contained specs** — each carries just enough context for auto-resolve to work autonomously.
17
+ </why_this_matters>
18
+
19
+ ## Output Architecture
20
+
21
+ The skill produces a three-layer progressive disclosure structure:
22
+
23
+ ```
24
+ docs/
25
+ ├── VISION.md # Layer 1: Strategic WHY (~50-100 lines)
26
+ │ # Orientation only. auto-resolve never reads this.
27
+
28
+ ├── ROADMAP.md # Layer 2: Tactical index (what, in what order)
29
+ │ # Thin table linking to detail specs. auto-resolve never reads this.
30
+
31
+ └── roadmap/ # Layer 3: Auto-resolve-ready specs
32
+ ├── phase-1/
33
+ │ ├── _overview.md # Phase-level context and goals
34
+ │ ├── 1.1-xxx.md # Self-contained spec → direct auto-resolve input
35
+ │ └── 1.2-yyy.md
36
+ ├── phase-2/
37
+ │ └── ...
38
+ ├── decisions/ # Architecture decision records (why we chose X over Y)
39
+ │ └── 001-xxx.md
40
+ └── backlog/ # Ideas acknowledged but not yet phased
41
+ └── ...
42
+ ```
43
+
44
+ **Core principle**: auto-resolve reads ONE spec file. That file is self-contained. Vision and Roadmap exist for humans and for this ideation skill — not for the implementation pipeline.
45
+
46
+ Read `references/templates/` for the exact format of each document type when generating output.
47
+
48
+ ## Conversation Protocol
49
+
50
+ Ideation is a dialogue, not a monologue. The user will come in with scattered ideas, incomplete thoughts, and implicit assumptions. Your job is to draw out accurate, complete information through back-and-forth conversation — not to fill gaps with guesses.
51
+
52
+ <conversation_rhythm>
53
+ **Ask, don't assume.** When information is missing or ambiguous, ask targeted questions. Generating a spec with wrong assumptions is worse than asking one more question. The user wants accuracy (documents they can trust and hand to auto-resolve), not speed.
54
+
55
+ **2-3 questions at a time, max.** Don't dump a 10-item questionnaire. Ask the most important unknowns, get answers, then ask the next batch based on what you learned. Each exchange should build on the last.
56
+
57
+ **Summarize after each exchange.** After the user shares information, reflect it back concisely: "So what I'm hearing is [X]. Is that right, or am I missing something?" This catches misunderstandings early — much cheaper than rewriting specs later.
58
+
59
+ **Confirm before phase transitions.** Before moving from FRAME → EXPLORE, or EXPLORE → CONVERGE, summarize the current state and ask if the user is ready to move on. Never silently transition.
60
+
61
+ **Capture energy, then clarify.** When the user is excited and throwing out rapid-fire ideas, don't interrupt the flow with structural questions. Let them finish, capture everything, then come back with targeted clarifications: "Love these ideas. A few things I want to make sure I get right: [questions]."
62
+
63
+ **Track what's confirmed vs. assumed.** Mentally separate facts the user stated from inferences you made. When generating documents, only write confirmed facts. Flag assumptions explicitly: "I'm assuming [X] based on [Y] — correct?"
64
+ </conversation_rhythm>
65
+
66
+ ## Detecting the Mode
67
+
68
+ Before starting, identify what the user needs:
69
+
70
+ | Signal | Mode | Approach |
71
+ |--------|------|----------|
72
+ | No existing docs, new project or idea | **Greenfield** | Full flow: Frame → Explore → Converge → Document |
73
+ | Existing docs, user adds new ideas | **Expand** | Lighter Frame, focused Explore on new area, merge into existing phases |
74
+ | One specific feature needs deep thought | **Deep-dive** | Intensive Explore on one topic, output 1-3 specs |
75
+ | User shares links/resources to process | **Research-first** | Lead with Explore (research synthesis), then standard flow |
76
+ | Existing roadmap, user wants to reprioritize | **Replan** | Read existing docs, focus on Converge, update documents |
77
+
78
+ Announce the detected mode and confirm before proceeding.
79
+
80
+ ### Expand Mode Detail
81
+
82
+ Expand is the most common mode after initial setup — the user already has Vision + Roadmap and wants to add new capabilities. This mode requires careful integration with existing documents.
83
+
84
+ **On entry:**
85
+ 1. Read `docs/VISION.md`, `docs/ROADMAP.md`, and existing phase `_overview.md` files to understand the established context
86
+ 2. Scan existing item specs to understand what's built and what's planned
87
+ 3. Summarize your understanding: "Here's what exists: [phases, item count, current status]. You want to add [new area]. Does this expand an existing phase or warrant a new one?"
88
+
89
+ **During ideation:**
90
+ - FRAME is lighter — the vision already exists, focus on framing the NEW area only
91
+ - EXPLORE focuses specifically on the new capability and how it integrates with existing features
92
+ - CONVERGE must consider dependencies on existing items, not just new ones
93
+
94
+ **During document generation:**
95
+ - Don't overwrite existing VISION.md unless the user explicitly wants to update it
96
+ - Continue numbering from existing IDs (if Phase 2 exists with 2.1-2.4, new items start at 2.5 or create Phase 3)
97
+ - Add new rows to ROADMAP.md, don't regenerate the whole table
98
+ - New item specs can reference existing items in their Dependencies section
99
+ - If new items change the meaning of existing items, flag this: "Adding [X] may affect the scope of existing item [Y]. Should we update [Y]'s spec?"
100
+
101
+ In Replan mode, also read existing docs first, then focus on the Converge phase to reprioritize.
102
+
103
+ ### Context Archiving
104
+
105
+ As projects progress, completed work accumulates and dilutes the active roadmap. Archive stale context at these trigger points:
106
+
107
+ **When an entire phase is complete:**
108
+ 1. Move the phase's table from the active section to a `## Completed` section at the bottom of ROADMAP.md
109
+ 2. Keep it collapsed — just phase name, completion date, and item count
110
+ 3. Item spec files stay in place (they're self-contained and may be referenced by dependencies)
111
+
112
+ ```markdown
113
+ ## Completed
114
+ <details>
115
+ <summary>Phase 1: Foundation (completed 2026-04-15, 4 items)</summary>
116
+
117
+ | # | Feature | Completed |
118
+ |---|---------|-----------|
119
+ | 1.1 | Auth & Onboarding | 2026-02-10 |
120
+ | 1.2 | Order Management | 2026-03-05 |
121
+ | 1.3 | Inventory Tracking | 2026-03-28 |
122
+ | 1.4 | Customer Directory | 2026-04-15 |
123
+ </details>
124
+ ```
125
+
126
+ **When entering Expand or Replan mode:**
127
+ 1. Scan ROADMAP.md for items marked Done — if all items in a phase are Done, archive that phase
128
+ 2. Check Backlog for items whose "Revisit" date has passed — surface them as candidates for the new phase
129
+ 3. Review decisions — flag any marked `accepted` that may need revisiting given new context
130
+
131
+ **When a decision becomes outdated:**
132
+ - Don't delete it — mark status as `superseded` and add a note pointing to the replacement decision
133
+ - This preserves the reasoning history for future reference
134
+
135
+ The goal: ROADMAP.md's active section should only show work that's planned, in-progress, or blocked. Everything else moves to Completed or gets re-evaluated.
136
+
137
+ ## Phase 1: FRAME
138
+
139
+ <phase_goal>Establish problem space boundaries before exploring solutions.</phase_goal>
140
+
141
+ The biggest risk in ideation is premature convergence — jumping to solutions before understanding the problem. This phase prevents that.
142
+
143
+ Establish through conversation:
144
+ 1. **Problem statement**: What problem or opportunity? For whom? Why now?
145
+ 2. **Constraints**: What can't change? (tech stack, timeline, existing commitments)
146
+ 3. **Success criteria**: How will we know this worked? (outcomes, not outputs)
147
+ 4. **Anti-goals**: What are we explicitly NOT trying to do?
148
+
149
+ Adapt to what the user has already shared — if they came in with a clear vision, this might be a quick confirmation. If the idea is fuzzy, spend more time here. Ask conversationally, not as a rigid questionnaire.
150
+
151
+ Don't write documents yet. The output of this phase is a shared mental model between you and the user.
152
+
153
+ ## Phase 2: EXPLORE
154
+
155
+ <phase_goal>Systematically expand the possibility space before narrowing it.</phase_goal>
156
+
157
+ This is the creative core — the phase that should take the most conversational turns. The user chose to ideate with AI because they want perspectives, research, and creative expansion they wouldn't get alone.
158
+
159
+ <research_protocol>
160
+ When relevant, actively research before and during brainstorming:
161
+ - **Existing solutions**: What's already out there? (web search, documentation)
162
+ - **Technical feasibility**: Can this be built within the constraints? Where are the hard parts?
163
+ - **Patterns and prior art**: How have similar problems been solved?
164
+ - **Market/user context**: Who else needs this? What do they currently use?
165
+
166
+ Not every ideation needs all of these — a personal side project doesn't need market research. Judge what's relevant and use subagents for parallel research when multiple topics need investigation.
167
+ </research_protocol>
168
+
169
+ <multi_perspective>
170
+ For each major idea, consider it from at least three angles:
171
+ - **User**: Is this actually useful? Does it solve a real pain?
172
+ - **Technical**: Is this buildable? Where are the complexity hotspots?
173
+ - **Strategic**: Does this align with the vision? Does it create leverage for future work?
174
+
175
+ Add perspectives as relevant:
176
+ - **Risk**: What could go wrong? What are the dependencies?
177
+ - **Business**: Does this create value? Is the effort justified?
178
+ - **Accessibility**: Is this inclusive? Who gets left out?
179
+ </multi_perspective>
180
+
181
+ <creative_expansion>
182
+ When the conversation needs energy or the user feels stuck:
183
+ - **"What if..."** — Remove a constraint and see what emerges
184
+ - **Analogy transfer** — "How does [adjacent domain] solve this?"
185
+ - **Inversion** — "What's the worst version? Now invert it."
186
+ - **10x thinking** — "If this needed 10x users, what changes?"
187
+ - **Minimum viable magic** — "What's the smallest thing that would feel magical?"
188
+
189
+ Use these naturally in conversation, not as a mechanical checklist.
190
+ </creative_expansion>
191
+
192
+ As ideas accumulate, periodically synthesize:
193
+ ```
194
+ Here's where we are:
195
+ - Core ideas: [list]
196
+ - Open questions: [list]
197
+ - Tensions to resolve: [list]
198
+ - Research still needed: [list]
199
+ ```
200
+
201
+ This prevents circular conversations and gives the user a clear sense of progress.
202
+
203
+ ## Phase 3: CONVERGE
204
+
205
+ <phase_goal>Transform exploration into decisions.</phase_goal>
206
+
207
+ When the user signals readiness or exploration winds down naturally, shift to convergence.
208
+
209
+ ### Theme Clustering
210
+ Group related ideas into coherent themes:
211
+ ```
212
+ Theme A: [name]
213
+ - Ideas: 1, 3, 7
214
+ - Value: [why this matters]
215
+ - Risk: [what could go wrong]
216
+ ```
217
+
218
+ ### Prioritization
219
+ Use value x feasibility as the primary framework:
220
+ - **High value + High feasibility** → Phase 1 (build first)
221
+ - **High value + Low feasibility** → Phase 2+ (build after foundation exists)
222
+ - **Low value + High feasibility** → Backlog (if time permits)
223
+ - **Low value + Low feasibility** → Cut
224
+
225
+ Present as a recommendation — the user makes the final call on ordering.
226
+
227
+ ### Sequencing
228
+ Within each phase:
229
+ - **Dependencies**: What must exist before what?
230
+ - **Risk ordering**: Build uncertain things first (fail fast)
231
+ - **Value delivery**: Each phase should deliver usable value, not just infrastructure
232
+
233
+ ### Architecture Decisions
234
+ Surface decisions that affect multiple items — technology choices, data model, integration approaches, UX patterns. For each: **What** was decided, **Why** (tradeoffs), and **What alternatives** were considered. These become decision records.
235
+
236
+ ### Confirmation
237
+ Before generating documents, present a final summary:
238
+ ```
239
+ Vision: [one sentence]
240
+ Phases: [N] phases, [M] total items
241
+ Phase 1 ([theme]): [items with brief descriptions]
242
+ Phase 2 ([theme]): [items]
243
+ Key decisions: [list]
244
+ Deferred: [items with reasons]
245
+ ```
246
+
247
+ Get explicit confirmation before proceeding to document generation.
248
+
249
+ ## Phase 4: DOCUMENT
250
+
251
+ <phase_goal>Generate the three-layer document set.</phase_goal>
252
+
253
+ Read the templates before generating:
254
+ - `references/templates/vision.md` — VISION.md format
255
+ - `references/templates/roadmap.md` — ROADMAP.md index format
256
+ - `references/templates/item-spec.md` — Auto-resolve-ready spec format
257
+ - `references/templates/decision.md` — Architecture decision record format
258
+
259
+ ### Generation Order
260
+ 1. `docs/VISION.md` — from Phase 1 framing + Phase 3 decisions
261
+ 2. `docs/roadmap/decisions/` — one file per architecture decision
262
+ 3. `docs/roadmap/phase-N/_overview.md` — phase-level context
263
+ 4. `docs/roadmap/phase-N/{id}-{name}.md` — one per roadmap item
264
+ 5. `docs/ROADMAP.md` — index linking to everything above
265
+
266
+ ### Item Spec Quality
267
+
268
+ Each Layer 3 spec is the direct input to auto-resolve. Its quality determines implementation quality.
269
+
270
+ <spec_quality_criteria>
271
+ **Requirements section** — becomes auto-resolve's done-criteria:
272
+ - Testable: a test can assert it OR a human can verify in under 30 seconds
273
+ - Specific: not "handles errors well" but "returns 400 with `{error: 'missing_field', field: 'email'}`"
274
+ - Scoped: tied to this item only, not aspirational
275
+
276
+ **Context section** — 2-3 sentences maximum. Just enough for auto-resolve to understand WHY without loading the full vision.
277
+
278
+ **Out of Scope** — explicitly states what this item does NOT do. This is what prevents auto-resolve from over-building, which is one of its most common failure modes.
279
+
280
+ **Constraints** — technical constraints with reasoning. Auto-resolve respects constraints significantly better when it understands the motivation behind them.
281
+ </spec_quality_criteria>
282
+
283
+ If an item is too vague to write specific requirements, it needs more exploration (revisit Phase 2 for that item) or should be split into smaller items.
284
+
285
+ ### Handling Existing Documents
286
+ In **Expand** and **Replan** modes:
287
+ - Read existing documents first
288
+ - Merge new items into the existing phase structure
289
+ - Preserve existing items (don't overwrite or reorder without confirmation)
290
+ - Update ROADMAP.md index to include new entries
291
+
292
+ ### Output Summary
293
+ After generating all documents:
294
+ ```
295
+ Documents created:
296
+ - docs/VISION.md
297
+ - docs/ROADMAP.md
298
+ - docs/roadmap/phase-1/_overview.md
299
+ - docs/roadmap/phase-1/1.1-xxx.md
300
+ - docs/roadmap/phase-1/1.2-yyy.md
301
+ - docs/roadmap/decisions/001-xxx.md
302
+ [total: N files]
303
+ ```
304
+
305
+ ## Phase 5: BRIDGE
306
+
307
+ <phase_goal>Connect documents to the implementation pipeline.</phase_goal>
308
+
309
+ After document generation, output the implementation guide:
310
+
311
+ ```
312
+ ## Implementation
313
+
314
+ To implement each item:
315
+ /devlyn:auto-resolve "Implement per spec at docs/roadmap/phase-1/1.1-xxx.md — read the spec file for requirements, constraints, and scope boundaries"
316
+
317
+ Recommended order (respecting dependencies):
318
+ 1. 1.1 [name] — no dependencies
319
+ 2. 1.2 [name] — depends on 1.1
320
+ 3. 1.3 [name] — depends on 1.1
321
+ ...
322
+
323
+ After completing each item:
324
+ 1. Update status in the item spec frontmatter (status: done)
325
+ 2. Update ROADMAP.md status column
326
+ ```
327
+
328
+ The auto-resolve prompt explicitly tells the build agent to read the spec file — this ensures done-criteria are adopted from the spec rather than generated from scratch, preserving the ideation context through to implementation.
329
+
330
+ ## Quality Checklist
331
+
332
+ Before finalizing, verify:
333
+ - [ ] Every roadmap item has a linked spec file
334
+ - [ ] Every spec has testable requirements (not vague statements)
335
+ - [ ] Every spec has an Out of Scope section
336
+ - [ ] Every spec's Context section is 3 sentences or fewer
337
+ - [ ] ROADMAP.md is an index only — no inline specifications
338
+ - [ ] No spec requires reading VISION.md to be understood (self-contained)
339
+ - [ ] Dependencies between items are documented in both specs
340
+ - [ ] Architecture decisions include reasoning and alternatives considered
341
+
342
+ ## Language
343
+
344
+ Generate all documents in the language the user communicates in. If the user mixes languages, match their primary language for prose and keep technical terms in English.
@@ -0,0 +1,48 @@
1
+ # Decision Record Template
2
+
3
+ Generate decision records at `docs/roadmap/decisions/{NNN}-{title}.md`. These capture WHY a decision was made, preventing future agents and collaborators from re-debating settled questions.
4
+
5
+ ---
6
+
7
+ ```markdown
8
+ ---
9
+ id: [NNN]
10
+ title: "[Decision Title]"
11
+ date: [YYYY-MM-DD]
12
+ status: accepted
13
+ ---
14
+
15
+ # [NNN] [Decision Title]
16
+
17
+ ## Context
18
+ <!-- What situation or question prompted this decision? -->
19
+
20
+ ## Decision
21
+ <!-- What was decided. Be specific and concrete. -->
22
+
23
+ ## Alternatives Considered
24
+
25
+ ### [Alternative 1]
26
+ - Pros: [advantages]
27
+ - Cons: [disadvantages]
28
+ - Why rejected: [the deciding factor]
29
+
30
+ ### [Alternative 2]
31
+ - Pros: [advantages]
32
+ - Cons: [disadvantages]
33
+ - Why rejected: [the deciding factor]
34
+
35
+ ## Consequences
36
+ <!-- What changes as a result. Include both positive tradeoffs and costs accepted. -->
37
+ - [Positive consequence]
38
+ - [Cost or constraint accepted]
39
+ ```
40
+
41
+ ## Guidelines
42
+
43
+ - Status values: `proposed` | `accepted` | `superseded`
44
+ - Number decisions sequentially: 001, 002, 003...
45
+ - Focus on the "why rejected" for alternatives — this is what prevents re-debating
46
+ - Keep decisions atomic: one decision per record
47
+ - If a decision is later reversed, mark the original as `superseded` and create a new record referencing it
48
+ - Only create decision records for choices that affect multiple roadmap items or have non-obvious reasoning. Don't document every small implementation choice.
@@ -0,0 +1,86 @@
1
+ # Item Spec Template (Auto-Resolve-Ready)
2
+
3
+ Generate one file per roadmap item at `docs/roadmap/phase-N/{id}-{name}.md`. This is the most critical template — each spec becomes the direct input to `/devlyn:auto-resolve`.
4
+
5
+ ---
6
+
7
+ ```markdown
8
+ ---
9
+ id: "[phase.item]"
10
+ title: "[Feature Name]"
11
+ phase: [N]
12
+ status: planned
13
+ priority: [high | medium | low]
14
+ complexity: [low | medium | high]
15
+ depends-on: []
16
+ ---
17
+
18
+ # [id] [Feature Name]
19
+
20
+ ## Context
21
+ <!-- 2-3 sentences MAX. Just enough for auto-resolve to understand WHY this exists. -->
22
+ <!-- Extract only the relevant context from the vision — don't make the implementation agent read the full vision document. -->
23
+ [Project] does [what]. This feature [enables/improves/fixes] [specific user capability].
24
+
25
+ ## Objective
26
+ <!-- One sentence: what the user can do after this is implemented. -->
27
+
28
+ ## Requirements
29
+ <!-- These become auto-resolve's done-criteria. Quality of these requirements directly determines implementation quality. -->
30
+ - [ ] [Specific, testable requirement]
31
+ - [ ] [Specific, testable requirement]
32
+ - [ ] [Specific, testable requirement]
33
+ - [ ] ...
34
+
35
+ ## Constraints
36
+ <!-- Technical constraints WITH reasoning. Implementation agents respect constraints significantly better when they understand the motivation. -->
37
+ - [Constraint] — Why: [reason]
38
+ - ...
39
+
40
+ ## Out of Scope
41
+ <!-- What this item explicitly does NOT include. This prevents auto-resolve from over-building. -->
42
+ - [Feature/behavior] ([where/when it will be addressed, e.g., "Phase 2, item 2.3"])
43
+ - ...
44
+
45
+ ## Architecture Notes
46
+ <!-- Technical context that helps implementation. Reference decision records when applicable. -->
47
+ <!-- Remove this section if the implementation is straightforward. -->
48
+
49
+ ## Dependencies
50
+ - **Internal**: [Other roadmap items that must exist first, e.g., "1.1 User Auth"]
51
+ - **External**: [APIs, services, credentials, third-party setup needed]
52
+
53
+ ## Verification
54
+ <!-- How to confirm this works. Overlaps with Requirements but focuses on observable user-facing behavior. -->
55
+ - [ ] [Observable verification step]
56
+ - [ ] ...
57
+ ```
58
+
59
+ ## Quality Criteria
60
+
61
+ Before writing a spec, verify each requirement against these criteria:
62
+
63
+ **Testable**: Can a test assert this, or can a human verify it in under 30 seconds?
64
+ - Bad: "The dashboard loads quickly"
65
+ - Good: "Dashboard initial render completes within 2 seconds on 3G throttled connection"
66
+
67
+ **Specific**: Is there exactly one interpretation of what "done" means?
68
+ - Bad: "Handles errors gracefully"
69
+ - Good: "Failed API calls display an error banner with the message and a retry button"
70
+
71
+ **Scoped**: Does this belong to THIS item only?
72
+ - Bad: "The app supports multiple languages" (cross-cutting concern, not a single item)
73
+ - Good: "The settings page displays a language selector with EN and KO options"
74
+
75
+ **Self-contained**: Can auto-resolve implement this without reading VISION.md or ROADMAP.md?
76
+ - If the Context section references principles without explaining them, it's not self-contained
77
+ - The spec should carry its own context, not point to other documents
78
+
79
+ ## When a Spec Isn't Ready
80
+
81
+ If you can't write specific requirements for an item, it needs one of:
82
+ 1. **More exploration** — go back to Phase 2 for this item
83
+ 2. **Splitting** — the item is too large; break it into smaller, specifiable pieces
84
+ 3. **A spike** — mark it as a research task whose output is a proper spec
85
+
86
+ Never generate a spec with vague requirements just to fill the roadmap. A backlog item with "needs exploration" is more honest and more useful than a spec with untestable requirements.
@@ -0,0 +1,50 @@
1
+ # ROADMAP.md Template
2
+
3
+ Generate `docs/ROADMAP.md` using this structure. This is an **index** — brief descriptions and links to detail specs. No inline specifications.
4
+
5
+ ---
6
+
7
+ ```markdown
8
+ # [Project Name] Roadmap
9
+
10
+ > **North Star**: [One sentence from VISION.md]
11
+
12
+ ## Phase 1: [Theme Name] (Target: [date or timeframe])
13
+ <!-- 1-2 sentences: what this phase delivers and why it comes first -->
14
+
15
+ | # | Feature | Status | Priority | Complexity | Spec |
16
+ |---|---------|--------|----------|-----------|------|
17
+ | 1.1 | [Feature Name] | Planned | High | Medium | [spec](roadmap/phase-1/1.1-feature-name.md) |
18
+ | 1.2 | [Feature Name] | Planned | High | High | [spec](roadmap/phase-1/1.2-feature-name.md) |
19
+ | 1.3 | [Feature Name] | Planned | Medium | Low | [spec](roadmap/phase-1/1.3-feature-name.md) |
20
+
21
+ ## Phase 2: [Theme Name] (Target: [date or timeframe])
22
+ <!-- 1-2 sentences -->
23
+
24
+ | # | Feature | Status | Priority | Complexity | Spec |
25
+ |---|---------|--------|----------|-----------|------|
26
+ | 2.1 | [Feature Name] | Planned | High | Medium | [spec](roadmap/phase-2/2.1-feature-name.md) |
27
+
28
+ ## Backlog
29
+ <!-- Ideas acknowledged but not yet phased -->
30
+ | Feature | Reason Deferred | Revisit |
31
+ |---------|----------------|---------|
32
+ | [Name] | [Why not now] | [When to reconsider] |
33
+
34
+ ## Decisions
35
+ | # | Decision | Date | Record |
36
+ |---|----------|------|--------|
37
+ | 1 | [Decision Title] | [YYYY-MM-DD] | [record](roadmap/decisions/001-decision-title.md) |
38
+ ```
39
+
40
+ ## Guidelines
41
+
42
+ - Status values: `Planned` | `In Progress` | `Done` | `Blocked`
43
+ - Priority: `High` | `Medium` | `Low`
44
+ - Complexity: `Low` | `Medium` | `High`
45
+ - Feature names should be user-facing descriptions, not technical jargon
46
+ - Each phase should deliver usable value — no "infrastructure only" phases
47
+ - The spec column links to the detail spec in `roadmap/phase-N/`
48
+ - Numbering: `{phase}.{item}` (e.g., 1.1, 1.2, 2.1)
49
+ - Slug format for filenames: `{id}-{kebab-case-name}.md` (e.g., `1.1-user-auth.md`)
50
+ - Keep this file under 150 lines — it's an index, not a specification
@@ -0,0 +1,44 @@
1
+ # VISION.md Template
2
+
3
+ Generate `docs/VISION.md` using this structure. Keep it under 100 lines — this is a strategic orientation document, not a detailed specification.
4
+
5
+ ---
6
+
7
+ ```markdown
8
+ # [Project Name] Vision
9
+
10
+ ## North Star
11
+ <!-- One sentence. Every decision should move toward this. -->
12
+
13
+ ## Principles
14
+ <!-- 3-5 guiding principles. Each includes what it means AND the tradeoff it implies. -->
15
+ 1. **[Principle Name]** — [What this means in practice]. Tradeoff: [what we accept giving up].
16
+ 2. ...
17
+
18
+ ## Target Users
19
+ ### Primary
20
+ <!-- Be specific: role, context, pain, what they need -->
21
+ **[Who]** — [Their situation]. Pain: [what frustrates them]. Need: [what they want].
22
+
23
+ ### Not For
24
+ <!-- Explicitly state who this isn't for, so the team doesn't try to serve everyone -->
25
+ - [Audience] — Why: [reason this isn't our focus]
26
+
27
+ ## Anti-Goals
28
+ <!-- Things we deliberately choose NOT to do, even if they seem like good ideas -->
29
+ - **[Anti-goal]** — Why: [the reasoning behind this constraint]
30
+ - ...
31
+
32
+ ## Success Metrics
33
+ <!-- How we know this is working. Outcomes, not outputs. -->
34
+ - [Metric]: [target] (e.g., "Time to first value: under 5 minutes")
35
+ - ...
36
+ ```
37
+
38
+ ## Guidelines
39
+
40
+ - North Star should be ambitious but specific — "make X better" is too vague
41
+ - Principles without tradeoffs are platitudes — if a principle has no cost, it's not a real principle
42
+ - Anti-goals prevent scope creep downstream — be generous with these
43
+ - Success metrics should be measurable, even if the measurement is qualitative
44
+ - Write in the user's primary language, technical terms in English
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devlyn-cli",
3
- "version": "1.5.4",
3
+ "version": "1.6.0",
4
4
  "description": "Claude Code configuration toolkit for teams",
5
5
  "bin": {
6
6
  "devlyn": "bin/devlyn.js"