ai-development-framework 0.1.0 → 0.1.2

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.
@@ -0,0 +1,526 @@
1
+ # Knowledge Base Integration Implementation Plan
2
+
3
+ > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
4
+
5
+ **Goal:** Add an optional, Obsidian-compatible knowledge base that pipeline commands read from and write to at natural checkpoints, giving the agent persistent project understanding across sessions.
6
+
7
+ **Architecture:** Configurable path (default `.obsidian/`) with feature notes, decision records, and project overview. Existing commands (`/start`, `/prime`, `/create-prd`, `/plan-project`, `/ship`, `/execute`) gain knowledge read/write operations guarded by a `Knowledge Base` config in CLAUDE.md. No new commands or skills.
8
+
9
+ **Tech Stack:** Markdown files, Claude Code commands, `.gitignore` configuration
10
+
11
+ ---
12
+
13
+ ### Task 1: Gitignore — Add Obsidian Config Exclusions
14
+
15
+ **Files:**
16
+ - Modify: `.gitignore`
17
+
18
+ - [ ] **Step 1: Add Obsidian config ignores to `.gitignore`**
19
+
20
+ Append to the end of `.gitignore`:
21
+
22
+ ```
23
+ # Obsidian config (machine-specific, notes are tracked)
24
+ .obsidian/app.json
25
+ .obsidian/appearance.json
26
+ .obsidian/core-plugins.json
27
+ .obsidian/core-plugins-migration.json
28
+ .obsidian/workspace.json
29
+ .obsidian/workspace-mobile.json
30
+ .obsidian/hotkeys.json
31
+ .obsidian/plugins/
32
+ .obsidian/themes/
33
+ ```
34
+
35
+ - [ ] **Step 2: Verify gitignore works**
36
+
37
+ Run: `git status`
38
+ Expected: Obsidian config files no longer show as untracked (if they were). Knowledge note files (`.obsidian/*.md`, `.obsidian/features/`, etc.) remain trackable.
39
+
40
+ - [ ] **Step 3: Commit**
41
+
42
+ ```bash
43
+ git add .gitignore
44
+ git commit -m "chore: add Obsidian config to gitignore"
45
+ ```
46
+
47
+ ---
48
+
49
+ ### Task 2: Reference Templates — Feature Note + Decision Record
50
+
51
+ **Files:**
52
+ - Create: `.claude/references/knowledge-base-templates.md`
53
+
54
+ - [ ] **Step 1: Create the templates reference file**
55
+
56
+ ```markdown
57
+ # Knowledge Base Templates
58
+
59
+ Used by pipeline commands when creating knowledge base notes.
60
+
61
+ ---
62
+
63
+ ## Feature Note Template
64
+
65
+ Create one per feature area in `<knowledge-base-path>/features/<feature-name>.md`.
66
+
67
+ ```markdown
68
+ # Feature: [Name]
69
+
70
+ ## Summary
71
+
72
+ [1-2 sentences: what this feature does and why]
73
+
74
+ ## GitHub Issues
75
+
76
+ - #N — [title] (status: open/closed)
77
+
78
+ ## Key Decisions
79
+
80
+ - [Decision and why]
81
+
82
+ ## Implementation Notes
83
+
84
+ [Updated by /ship after work is completed — endpoints created, components built, patterns used]
85
+ ```
86
+
87
+ ## Decision Record Template
88
+
89
+ Create in `<knowledge-base-path>/decisions/NNN-title.md` when:
90
+ - A technology or approach was chosen over alternatives
91
+ - A pattern was established that future work should follow
92
+ - Something was intentionally excluded (and why)
93
+
94
+ NOT for every small implementation choice.
95
+
96
+ ```markdown
97
+ # NNN: [Title]
98
+
99
+ **Date:** YYYY-MM-DD
100
+ **Status:** Accepted
101
+
102
+ ## Context
103
+
104
+ [What situation led to this decision]
105
+
106
+ ## Decision
107
+
108
+ [What we chose and why]
109
+
110
+ ## Consequences
111
+
112
+ [What this means for future work — both positive and negative]
113
+ ```
114
+
115
+ ## Overview Template
116
+
117
+ Create once at `<knowledge-base-path>/overview.md` during project setup or PRD creation.
118
+
119
+ ```markdown
120
+ # [Project Name]
121
+
122
+ ## Vision
123
+
124
+ [1-2 sentences: what this project is and why it exists]
125
+
126
+ ## Goals
127
+
128
+ - [Goal 1]
129
+ - [Goal 2]
130
+
131
+ ## Target Users
132
+
133
+ - [User type 1]: [their key need]
134
+ - [User type 2]: [their key need]
135
+
136
+ ## Tech Stack
137
+
138
+ | Layer | Technology | Rationale |
139
+ |-------|-----------|-----------|
140
+ | | | |
141
+
142
+ ## Feature Areas
143
+
144
+ - [Feature 1] — see `features/feature-1.md`
145
+ - [Feature 2] — see `features/feature-2.md`
146
+ ```
147
+ ```
148
+
149
+ - [ ] **Step 2: Commit**
150
+
151
+ ```bash
152
+ git add .claude/references/knowledge-base-templates.md
153
+ git commit -m "docs: add knowledge base note templates"
154
+ ```
155
+
156
+ ---
157
+
158
+ ### Task 3: Update `/start` — L0 Knowledge Base Flow
159
+
160
+ **Files:**
161
+ - Modify: `.claude/commands/start.md`
162
+
163
+ - [ ] **Step 1: Add knowledge base detection to Step 1 (Gather Context)**
164
+
165
+ Add item 6 to the existing parallel checks:
166
+
167
+ ```
168
+ 6. Check if knowledge base exists: look for `Knowledge Base` path in CLAUDE.md, then check if that directory has `overview.md`
169
+ ```
170
+
171
+ - [ ] **Step 2: Update L0 route to include knowledge base creation**
172
+
173
+ Replace the L0 section:
174
+
175
+ ```markdown
176
+ **L0 (New Project)** — No PRD, no issues, minimal/no code
177
+ → "Looks like a fresh project. Let's plan it from scratch."
178
+ → Route to:
179
+ 1. Brainstorm functionalities (interactive discussion)
180
+ 2. If knowledge base configured in CLAUDE.md:
181
+ a. Create knowledge base folder structure (overview.md, features/, decisions/, config/, research/, architecture/)
182
+ b. Create `overview.md` from brainstorming results
183
+ c. Create feature notes in `features/` for each agreed functionality
184
+ 3. Create GitHub issues linked to feature notes
185
+ 4. STOP — present the issue list and ask: "Which issue do you want to work on first?"
186
+ ```
187
+
188
+ - [ ] **Step 3: Commit**
189
+
190
+ ```bash
191
+ git add .claude/commands/start.md
192
+ git commit -m "feat: add knowledge base creation to /start L0 flow"
193
+ ```
194
+
195
+ ---
196
+
197
+ ### Task 4: Update `/prime` — Smart Knowledge Loading
198
+
199
+ **Files:**
200
+ - Modify: `.claude/commands/prime.md`
201
+
202
+ - [ ] **Step 1: Add knowledge base loading section**
203
+
204
+ Add a new section `### 6. Knowledge Base Context` after the existing `### 5. Configuration` section:
205
+
206
+ ```markdown
207
+ ### 6. Knowledge Base Context
208
+
209
+ Check CLAUDE.md for a `Knowledge Base` path (e.g., `.obsidian/`). If configured and the directory exists:
210
+
211
+ 1. **Always read:** `<kb-path>/overview.md`
212
+ 2. **Find linked feature note:** If working on a specific issue (detected from branch name or user input), grep `<kb-path>/features/*.md` for the issue number. Read the matching feature note.
213
+ 3. **Scan for related features:** List all files in `<kb-path>/features/`. Read the first 5 lines (## Summary) of each. If any feature has a clear dependency or overlap with the current issue (shared entities, referenced in acceptance criteria, same domain area), read the full note.
214
+ 4. **Check decisions:** List `<kb-path>/decisions/`. Read any whose title references the same feature area.
215
+
216
+ If no knowledge base configured, skip this section entirely.
217
+ ```
218
+
219
+ - [ ] **Step 2: Update output format**
220
+
221
+ Add to the session summary output template after `Knowledge Base: [N domains documented in architect-agent]`:
222
+
223
+ ```markdown
224
+ Project Knowledge: [summary from overview.md if knowledge base exists, or "not configured"]
225
+ Related Features: [list of feature notes loaded for this session]
226
+ ```
227
+
228
+ - [ ] **Step 3: Commit**
229
+
230
+ ```bash
231
+ git add .claude/commands/prime.md
232
+ git commit -m "feat: add smart knowledge loading to /prime"
233
+ ```
234
+
235
+ ---
236
+
237
+ ### Task 5: Update `/create-prd` — Knowledge Base Seeding
238
+
239
+ **Files:**
240
+ - Modify: `.claude/commands/create-prd.md`
241
+
242
+ - [ ] **Step 1: Add Phase 2.5 for knowledge base seeding**
243
+
244
+ Add between Phase 2 (Generate PRD) and Phase 3 (Review and Save):
245
+
246
+ ```markdown
247
+ ### Phase 2.5: Seed Knowledge Base (if configured)
248
+
249
+ Check CLAUDE.md for a `Knowledge Base` path. If configured:
250
+
251
+ 1. Read `.claude/references/knowledge-base-templates.md` for templates
252
+ 2. Create `<kb-path>/overview.md` from the PRD:
253
+ - Vision from Executive Summary
254
+ - Goals from Goals & Success Criteria
255
+ - Target Users from Target Users section
256
+ - Tech Stack from Technical Architecture
257
+ - Feature Areas listing each epic/feature
258
+ 3. Create `<kb-path>/architecture/system-design.md` from the PRD's Technical Architecture and System Diagram sections
259
+ 4. For each epic or major feature in the PRD, create `<kb-path>/features/<feature-name>.md` using the feature note template:
260
+ - Summary from the epic description
261
+ - GitHub Issues section left empty (populated by /plan-project)
262
+ - Key Decisions from any decisions made during brainstorming
263
+
264
+ If no knowledge base configured, skip this phase.
265
+ ```
266
+
267
+ - [ ] **Step 2: Update Phase 4 commit to include knowledge files**
268
+
269
+ Update the commit step in Phase 4:
270
+
271
+ ```markdown
272
+ Commit the PRD and knowledge base files (if created):
273
+ ```bash
274
+ git add docs/plans/PRD.md
275
+ # If knowledge base was seeded:
276
+ git add <kb-path>/overview.md <kb-path>/architecture/ <kb-path>/features/
277
+ git commit -m "docs: add PRD and seed project knowledge base"
278
+ ```
279
+ ```
280
+
281
+ - [ ] **Step 3: Commit**
282
+
283
+ ```bash
284
+ git add .claude/commands/create-prd.md
285
+ git commit -m "feat: add knowledge base seeding to /create-prd"
286
+ ```
287
+
288
+ ---
289
+
290
+ ### Task 6: Update `/plan-project` — Feature Notes Alongside Issues
291
+
292
+ **Files:**
293
+ - Modify: `.claude/commands/plan-project.md`
294
+
295
+ - [ ] **Step 1: Add knowledge base integration to Phase 5**
296
+
297
+ Add to Phase 5 (Create in GitHub), after each issue is created:
298
+
299
+ ```markdown
300
+ #### Knowledge Base Integration (if configured)
301
+
302
+ After creating each GitHub issue:
303
+
304
+ 1. Check if a feature note already exists in `<kb-path>/features/` for this feature area
305
+ 2. If yes: update the `## GitHub Issues` section with the new issue number and title
306
+ 3. If no: create a new feature note using `.claude/references/knowledge-base-templates.md` template, with:
307
+ - Summary from the issue description
308
+ - GitHub Issues section listing the new issue
309
+ 4. If architectural decisions were made during the planning process, create `<kb-path>/decisions/NNN-title.md` for each significant decision
310
+ ```
311
+
312
+ - [ ] **Step 2: Update Phase 6 commit to include knowledge files**
313
+
314
+ Add to the commit step in Phase 6:
315
+
316
+ ```markdown
317
+ # If knowledge base configured:
318
+ git add <kb-path>/features/ <kb-path>/decisions/
319
+ ```
320
+
321
+ - [ ] **Step 3: Commit**
322
+
323
+ ```bash
324
+ git add .claude/commands/plan-project.md
325
+ git commit -m "feat: add feature note creation to /plan-project"
326
+ ```
327
+
328
+ ---
329
+
330
+ ### Task 7: Update `/ship` — Knowledge Update Checkpoint
331
+
332
+ **Files:**
333
+ - Modify: `.claude/commands/ship.md`
334
+
335
+ - [ ] **Step 1: Add Step 1.5 for knowledge base update**
336
+
337
+ Add between Step 1 (Pre-flight Check) and Step 2 (Stage and Commit):
338
+
339
+ ```markdown
340
+ ### Step 1.5: Update Knowledge Base (if configured)
341
+
342
+ Check CLAUDE.md for a `Knowledge Base` path. If configured:
343
+
344
+ 1. **Find the feature note:** Detect the current issue number from the branch name. Grep `<kb-path>/features/*.md` for that issue number. If no match, use keyword matching between branch name and feature note filenames.
345
+
346
+ 2. **Update the feature note:**
347
+ - `## Implementation Notes` — append what was built: key files created/modified, endpoints added, components built, patterns used
348
+ - `## GitHub Issues` — update the status of the current issue to reflect completion
349
+ - `## Key Decisions` — add any decisions made during implementation that weren't pre-planned
350
+
351
+ 3. **Create decision records** (only if warranted):
352
+ - A technology or approach was chosen over alternatives during implementation
353
+ - A pattern was established that future features should follow
354
+ - Something was intentionally excluded and the reason matters for future work
355
+
356
+ 4. **Update overview** (only if significant):
357
+ - New integration or service was added to the stack
358
+ - Project scope changed
359
+
360
+ 5. Stage knowledge base changes alongside code changes.
361
+
362
+ If no knowledge base configured, skip to Step 2.
363
+ ```
364
+
365
+ - [ ] **Step 2: Commit**
366
+
367
+ ```bash
368
+ git add .claude/commands/ship.md
369
+ git commit -m "feat: add knowledge update checkpoint to /ship"
370
+ ```
371
+
372
+ ---
373
+
374
+ ### Task 8: Update `/execute` — Knowledge-Aware Context
375
+
376
+ **Files:**
377
+ - Modify: `.claude/commands/execute.md`
378
+
379
+ - [ ] **Step 1: Add knowledge base reading to Step 2**
380
+
381
+ Add to Step 2 (Read Mandatory Files), after reading plan-specified files:
382
+
383
+ ```markdown
384
+ #### Knowledge Base Context (if configured)
385
+
386
+ Check CLAUDE.md for a `Knowledge Base` path. If configured:
387
+
388
+ 1. Detect the issue number from the plan file or current branch
389
+ 2. Grep `<kb-path>/features/*.md` for the issue number — read the matching feature note
390
+ 3. Scan other feature notes (first 5 lines each) for related features — read any with clear overlap
391
+ 4. Check `<kb-path>/decisions/` for decisions referencing the same feature area
392
+ 5. Read `<kb-path>/overview.md` for project context
393
+
394
+ This supplements the plan's mandatory reading with project-level context the plan author may not have included.
395
+
396
+ If no knowledge base configured, skip this step.
397
+ ```
398
+
399
+ - [ ] **Step 2: Commit**
400
+
401
+ ```bash
402
+ git add .claude/commands/execute.md
403
+ git commit -m "feat: add knowledge-aware context loading to /execute"
404
+ ```
405
+
406
+ ---
407
+
408
+ ### Task 9: Update CLAUDE.md Template + Project CLAUDE.md
409
+
410
+ **Files:**
411
+ - Modify: `.claude/references/claude-md-template.md`
412
+ - Modify: `CLAUDE.md`
413
+
414
+ - [ ] **Step 1: Add Knowledge Base section to the template**
415
+
416
+ Add after the `## Agents` section in `.claude/references/claude-md-template.md`:
417
+
418
+ ```markdown
419
+ ## Knowledge Base
420
+
421
+ Path: .obsidian/
422
+
423
+ [Auto-configured during /init-claude-md setup. Set to the folder path for project knowledge notes. Remove this section to disable knowledge base features.]
424
+ ```
425
+
426
+ - [ ] **Step 2: Add Knowledge Base documentation to project CLAUDE.md**
427
+
428
+ Add after the `## Agents` section in `CLAUDE.md`:
429
+
430
+ ```markdown
431
+ ## Knowledge Base
432
+
433
+ Optional Obsidian-compatible project knowledge base. Stores feature specs, architecture decisions, and project overview as markdown notes that the agent reads/writes during the pipeline.
434
+
435
+ **Configuration:** Add `## Knowledge Base` with `Path: <path>` to your project's CLAUDE.md. Default: `.obsidian/`. Remove the section to disable.
436
+
437
+ **Structure:**
438
+ ```
439
+ <path>/
440
+ ├── overview.md # Project vision, goals, tech stack
441
+ ├── architecture/ # System design, data model
442
+ ├── features/ # One note per feature area, linked to GitHub issues
443
+ ├── decisions/ # Architecture Decision Records (ADRs)
444
+ ├── config/ # Integration metadata, env var names (never actual secrets)
445
+ └── research/ # Brainstorming notes, tech comparisons
446
+ ```
447
+
448
+ **When commands read it:**
449
+ - `/prime` — loads overview + related feature notes (smart/targeted)
450
+ - `/execute` — reads feature context before implementing
451
+
452
+ **When commands write it:**
453
+ - `/start` (L0) — creates structure + feature notes during brainstorming
454
+ - `/create-prd` — seeds overview + architecture from PRD
455
+ - `/plan-project` — creates feature notes alongside GitHub issues
456
+ - `/ship` — updates feature notes with implementation details
457
+ ```
458
+
459
+ - [ ] **Step 3: Commit**
460
+
461
+ ```bash
462
+ git add .claude/references/claude-md-template.md CLAUDE.md
463
+ git commit -m "docs: add knowledge base configuration to CLAUDE.md and template"
464
+ ```
465
+
466
+ ---
467
+
468
+ ### Task 10: Update Customization Docs
469
+
470
+ **Files:**
471
+ - Modify: `docs/customization.md`
472
+
473
+ - [ ] **Step 1: Add knowledge base customization section**
474
+
475
+ Add before the `## Contributing` section:
476
+
477
+ ```markdown
478
+ ## Configuring the Knowledge Base
479
+
480
+ The framework includes an optional project knowledge base (Obsidian-compatible) that gives the agent persistent project understanding across sessions.
481
+
482
+ ### Enable
483
+
484
+ Add to your project's `CLAUDE.md`:
485
+
486
+ ```markdown
487
+ ## Knowledge Base
488
+
489
+ Path: .obsidian/
490
+ ```
491
+
492
+ ### Custom Path
493
+
494
+ Use any folder name:
495
+
496
+ ```markdown
497
+ ## Knowledge Base
498
+
499
+ Path: knowledge/
500
+ ```
501
+
502
+ ### Disable
503
+
504
+ Remove the `## Knowledge Base` section from CLAUDE.md. All knowledge operations are skipped — commands work exactly as before.
505
+
506
+ ### What It Does
507
+
508
+ Pipeline commands automatically read from and write to the knowledge base:
509
+ - `/start` creates the structure when starting a new project
510
+ - `/prime` loads relevant notes for context before work
511
+ - `/create-prd` seeds the knowledge base from the PRD
512
+ - `/plan-project` creates feature notes alongside GitHub issues
513
+ - `/execute` reads related feature notes before implementing
514
+ - `/ship` updates feature notes after completing work
515
+
516
+ ### Obsidian
517
+
518
+ If you have [Obsidian](https://obsidian.md/) installed, open your project folder as a vault. The `.obsidian/` directory makes it a valid vault. Notes are navigable, linkable, and searchable through Obsidian's UI. Obsidian is not required — the notes are plain markdown.
519
+ ```
520
+
521
+ - [ ] **Step 2: Commit**
522
+
523
+ ```bash
524
+ git add docs/customization.md
525
+ git commit -m "docs: add knowledge base customization guide"
526
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-development-framework",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "The system around the AI that makes the AI reliable. Structured AI-assisted development with the PIV+E loop.",
5
5
  "bin": {
6
6
  "ai-framework": "cli/index.js"