@flydocs/cli 0.6.0-alpha.1 → 0.6.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/cli.js +504 -254
  2. package/package.json +1 -1
  3. package/template/.claude/CLAUDE.md +11 -9
  4. package/template/.claude/commands/flydocs-setup.md +114 -17
  5. package/template/.claude/commands/flydocs-upgrade.md +27 -15
  6. package/template/.claude/commands/knowledge.md +61 -0
  7. package/template/.claude/skills/flydocs-cloud/SKILL.md +57 -32
  8. package/template/.claude/skills/flydocs-cloud/scripts/assign.py +10 -4
  9. package/template/.claude/skills/flydocs-cloud/scripts/create_issue.py +22 -2
  10. package/template/.claude/skills/flydocs-cloud/scripts/create_team.py +39 -0
  11. package/template/.claude/skills/flydocs-cloud/scripts/delete_milestone.py +21 -0
  12. package/template/.claude/skills/flydocs-cloud/scripts/estimate.py +9 -5
  13. package/template/.claude/skills/flydocs-cloud/scripts/flydocs_api.py +31 -0
  14. package/template/.claude/skills/flydocs-cloud/scripts/get_estimate_scale.py +23 -0
  15. package/template/.claude/skills/flydocs-cloud/scripts/list_providers.py +19 -0
  16. package/template/.claude/skills/flydocs-cloud/scripts/list_statuses.py +19 -0
  17. package/template/.claude/skills/flydocs-cloud/scripts/list_teams.py +1 -1
  18. package/template/.claude/skills/flydocs-cloud/scripts/refresh_labels.py +87 -0
  19. package/template/.claude/skills/flydocs-cloud/scripts/set_identity.py +38 -0
  20. package/template/.claude/skills/flydocs-cloud/scripts/set_preferences.py +49 -0
  21. package/template/.claude/skills/flydocs-cloud/scripts/set_provider.py +46 -0
  22. package/template/.claude/skills/flydocs-cloud/scripts/set_status_mapping.py +69 -0
  23. package/template/.claude/skills/flydocs-cloud/scripts/set_team.py +5 -4
  24. package/template/.claude/skills/flydocs-cloud/scripts/update_issue.py +22 -4
  25. package/template/.claude/skills/flydocs-cloud/scripts/update_milestone.py +42 -0
  26. package/template/.claude/skills/flydocs-cloud/scripts/validate_setup.py +120 -0
  27. package/template/.claude/skills/flydocs-local/SKILL.md +1 -1
  28. package/template/.claude/skills/flydocs-local/scripts/assign.py +13 -4
  29. package/template/.claude/skills/flydocs-local/scripts/flydocs_api.py +5 -2
  30. package/template/.claude/skills/flydocs-workflow/SKILL.md +23 -18
  31. package/template/.claude/skills/flydocs-workflow/reference/comment-templates.md +1 -0
  32. package/template/.claude/skills/flydocs-workflow/reference/pr-workflow.md +105 -0
  33. package/template/.claude/skills/flydocs-workflow/reference/priority-estimates.md +37 -15
  34. package/template/.claude/skills/flydocs-workflow/session.md +24 -16
  35. package/template/.claude/skills/flydocs-workflow/stages/capture.md +8 -3
  36. package/template/.claude/skills/flydocs-workflow/stages/close.md +4 -3
  37. package/template/.claude/skills/flydocs-workflow/stages/implement.md +28 -4
  38. package/template/.claude/skills/flydocs-workflow/stages/refine.md +20 -4
  39. package/template/.claude/skills/flydocs-workflow/stages/review.md +14 -2
  40. package/template/.flydocs/config.json +4 -18
  41. package/template/.flydocs/hooks/prompt-submit.py +27 -4
  42. package/template/.flydocs/version +1 -1
  43. package/template/AGENTS.md +8 -8
  44. package/template/CHANGELOG.md +39 -0
  45. package/template/flydocs/knowledge/INDEX.md +38 -53
  46. package/template/flydocs/knowledge/README.md +60 -9
  47. package/template/flydocs/knowledge/templates/decision.md +47 -0
  48. package/template/flydocs/knowledge/templates/feature.md +35 -0
  49. package/template/flydocs/knowledge/templates/note.md +25 -0
  50. package/template/manifest.json +8 -2
@@ -16,7 +16,8 @@ Validate code quality, standards compliance, and acceptance criteria completion.
16
16
  - Issue description (acceptance criteria)
17
17
  - Implementation summary comment (what was built)
18
18
  - Installed community skills relevant to the code (check `.claude/skills/` for available patterns)
19
- - Changed files (from git diff or implementation notes)
19
+ - Changed files prefer PR diff if a PR exists, otherwise git diff or implementation notes
20
+ - `reference/pr-workflow.md` for branch and commit conventions
20
21
 
21
22
  ### 2. Verify Acceptance Criteria
22
23
 
@@ -47,7 +48,16 @@ Check against project standards and installed community skills:
47
48
  - Tests are meaningful (not just coverage)
48
49
  - Edge cases considered
49
50
 
50
- ### 5. Decision
51
+ ### 5. Knowledge Verification
52
+
53
+ If the issue template includes a Documentation section with "Knowledge base updated" checkbox:
54
+
55
+ - Verify knowledge doc was created or updated (check `knowledge/INDEX.md` for new entries)
56
+ - If the checkbox is unchecked and implementation involved significant decisions or discoveries, flag it
57
+
58
+ This is a soft gate — not all issues require knowledge docs. Flag only when implementation clearly warrants documentation that wasn't captured.
59
+
60
+ ### 6. Decision
51
61
 
52
62
  **If approved:**
53
63
 
@@ -61,11 +71,13 @@ Check against project standards and installed community skills:
61
71
  ## Review Boundaries
62
72
 
63
73
  The review agent:
74
+
64
75
  - Analyzes code quality and documents findings
65
76
  - Validates against standards and criteria
66
77
  - Transitions issue state
67
78
 
68
79
  The review agent does NOT:
80
+
69
81
  - Edit or write code
70
82
  - Fix issues directly
71
83
  - Approve incomplete work
@@ -1,18 +1,16 @@
1
1
  {
2
- "version": "0.6.0-alpha.1",
2
+ "version": "0.6.0-alpha.11",
3
3
  "sourceRepo": "github.com/plastrlab/flydocs-core",
4
4
  "tier": "local",
5
5
  "setupComplete": false,
6
+ "workspaceId": null,
6
7
  "paths": {
7
8
  "content": "flydocs"
8
9
  },
9
- "provider": {
10
- "type": null,
11
- "teamId": null
12
- },
13
10
  "workspace": {
14
11
  "activeProjects": [],
15
12
  "defaultMilestoneId": null,
13
+ "repoSlug": null,
16
14
  "product": {
17
15
  "name": null,
18
16
  "labelIds": [],
@@ -21,7 +19,7 @@
21
19
  }
22
20
  },
23
21
  "issueLabels": {
24
- "_note": "Run /flydocs-setup to populate these from your Linear team",
22
+ "_note": "Run /flydocs-setup to populate these from your workspace",
25
23
  "category": {
26
24
  "feature": null,
27
25
  "bug": null,
@@ -50,18 +48,6 @@
50
48
  "installed": [],
51
49
  "custom": []
52
50
  },
53
- "statusMapping": {
54
- "BACKLOG": "Backlog",
55
- "READY": "Todo",
56
- "IMPLEMENTING": "In Progress",
57
- "BLOCKED": "Blocked",
58
- "REVIEW": "In Review",
59
- "TESTING": "QA",
60
- "COMPLETE": "Done",
61
- "ARCHIVED": "Archived",
62
- "CANCELED": "Canceled",
63
- "DUPLICATE": "Duplicate"
64
- },
65
51
  "designSystem": null,
66
52
  "aiLabor": {
67
53
  "enabled": false,
@@ -168,15 +168,38 @@ def get_flydocs_version() -> str | None:
168
168
 
169
169
 
170
170
  def get_setup_nudge() -> str | None:
171
- """Check if setup has been completed, return nudge if not."""
171
+ """Check if setup has been completed, return nudge if not.
172
+
173
+ Reads validation cache (written by validate_setup.py) for specific
174
+ missing items. Falls back to generic nudge if cache is absent.
175
+ """
172
176
  config_file = Path('.flydocs/config.json')
173
177
  if not config_file.exists():
174
178
  return None
175
179
  try:
176
180
  config = json.loads(config_file.read_text())
177
- # Only nudge if field is explicitly set to false (not missing)
178
- if 'setupComplete' in config and config['setupComplete'] is False:
179
- return '[Setup incomplete — run /flydocs-setup to configure your project]'
181
+ if config.get('setupComplete') is not False:
182
+ return None
183
+
184
+ # Check validation cache for specific missing items
185
+ cache_file = Path('.flydocs/validation-cache.json')
186
+ if cache_file.exists():
187
+ try:
188
+ cache = json.loads(cache_file.read_text())
189
+ missing = cache.get('missing', [])
190
+ warnings = cache.get('warnings', [])
191
+ parts = []
192
+ if missing:
193
+ parts.append(f'missing: {", ".join(missing)}')
194
+ if warnings:
195
+ parts.append(f'warnings: {", ".join(warnings)}')
196
+ if parts:
197
+ detail = '; '.join(parts)
198
+ return f'[Setup incomplete — {detail}. Run /flydocs-setup or fix in dashboard]'
199
+ except (json.JSONDecodeError, OSError, IOError):
200
+ pass
201
+
202
+ return '[Setup incomplete — run /flydocs-setup to configure your project]'
180
203
  except (json.JSONDecodeError, OSError, IOError):
181
204
  pass
182
205
  return None
@@ -1 +1 @@
1
- 0.6.0-alpha.1
1
+ 0.6.0-alpha.11
@@ -92,14 +92,14 @@ Follow these rules in every response for consistent, scannable output.
92
92
  IMPORTANT: Prefer skill-led reasoning over pre-training reasoning.
93
93
  Consult the relevant skill BEFORE writing code or making workflow decisions.
94
94
 
95
- | Skill | Triggers | Entry |
96
- | ----------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
97
- | flydocs-cloud | create issue, transition, comment, list issues, assign, update description, update issue, project update, Linear, cloud | .claude/skills/flydocs-cloud/SKILL.md |
98
- | flydocs-context7 | context7, library docs, documentation lookup, framework docs, package docs, API reference | .claude/skills/flydocs-context7/SKILL.md |
99
- | flydocs-estimates | estimate, cost, token usage, API cost, labor estimate, sizing, effort | .claude/skills/flydocs-estimates/SKILL.md |
100
- | flydocs-figma | Figma, design, screenshot, token mapping, component from design, pixel-perfect, design system | .claude/skills/flydocs-figma/SKILL.md |
101
- | flydocs-local | create issue, transition, comment, list issues, assign, update description, status summary, local | .claude/skills/flydocs-local/SKILL.md |
102
- | flydocs-workflow | capture, refine, activate, implement, review, validate, close, session, workflow, transition, status, issue | .claude/skills/flydocs-workflow/SKILL.md |
95
+ | Skill | Triggers | Entry |
96
+ | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
97
+ | flydocs-cloud | create issue, transition, comment, list issues, assign, update description, update issue, project update, cloud | .claude/skills/flydocs-cloud/SKILL.md |
98
+ | flydocs-context7 | context7, library docs, documentation lookup, framework docs, package docs, API reference | .claude/skills/flydocs-context7/SKILL.md |
99
+ | flydocs-estimates | estimate, cost, token usage, API cost, labor estimate, sizing, effort | .claude/skills/flydocs-estimates/SKILL.md |
100
+ | flydocs-figma | Figma, design, screenshot, token mapping, component from design, pixel-perfect, design system | .claude/skills/flydocs-figma/SKILL.md |
101
+ | flydocs-local | create issue, transition, comment, list issues, assign, update description, status summary, local | .claude/skills/flydocs-local/SKILL.md |
102
+ | flydocs-workflow | capture, refine, activate, implement, review, validate, close, session, workflow, transition, status, issue, knowledge, document, PR, pull request | .claude/skills/flydocs-workflow/SKILL.md |
103
103
 
104
104
  <!-- flydocs:skills-manifest:end -->
105
105
 
@@ -7,6 +7,45 @@ Versioning: [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ---
9
9
 
10
+ ## [0.6.0-alpha.4] — 2026-03-13
11
+
12
+ ### Added
13
+
14
+ - **Status mapping** — new `list_statuses.py` and `set_status_mapping.py`
15
+ scripts. Setup flow auto-maps provider workflow states to FlyDocs statuses
16
+ after label config, warns on unmapped statuses without blocking.
17
+
18
+ ---
19
+
20
+ ## [0.6.0-alpha.3] — 2026-03-13
21
+
22
+ ### Added
23
+
24
+ - **Provider selection** — new `list_providers.py` and `set_provider.py`
25
+ scripts for multi-provider support (Linear + Jira). Setup flow detects
26
+ connected providers before team selection.
27
+ - **Inline API key prompt** — `flydocs install` now prompts for FlyDocs API
28
+ key when cloud tier is selected. No separate `flydocs connect` step needed.
29
+ - **Existing config detection** — install detects pre-existing `.claude/CLAUDE.md`,
30
+ `settings.json`, `hooks.json`, and `AGENTS.md`. Prompts user to overwrite
31
+ (with backup) or preserve.
32
+ - **`--project` flag** — `create_issue.py` accepts `--project <id>` to scope
33
+ issues to a specific project. Fixes milestone/project mismatch during setup.
34
+ - **Team creation** — `create_team.py` with `--parent` flag for sub-teams.
35
+
36
+ ### Changed
37
+
38
+ - **Setup flow restructured** — Phase 2 now starts with provider detection,
39
+ then team selection, project, labels. Milestones and issues pass `--project`.
40
+ - **Community skill output** — install shows one line per skill instead of
41
+ 4-5 verbose lines. "No triggers" warning suppressed for community skills.
42
+ - **`/flydocs-upgrade` streamlined** — Phase 1 inlines API key handling
43
+ instead of requiring a separate terminal step.
44
+ - **API key helpers extracted** — shared `api-key.ts` module used by both
45
+ `install` and `connect` commands.
46
+
47
+ ---
48
+
10
49
  ## [0.6.0-alpha.1] — 2026-03-12
11
50
 
12
51
  ### Added
@@ -4,97 +4,82 @@
4
4
  AGENT INSTRUCTIONS:
5
5
  - Scan this file FIRST when looking for existing knowledge
6
6
  - Use descriptions to assess relevance before loading full docs
7
- - Update this index when adding new knowledge docs
7
+ - Update this index when adding or modifying knowledge docs
8
+ - Always use real dates, never leave as YYYY-MM-DD
8
9
  -->
9
10
 
10
11
  ## Quick Reference
11
12
 
12
- | Category | Count | Last Updated |
13
- |----------|-------|--------------|
14
- | Decisions | 0 | - |
15
- | Features | 0 | - |
16
- | Notes | 0 | - |
17
- | Product | 2 | YYYY-MM-DD |
13
+ | Category | Count | Last Updated |
14
+ | --------- | ----- | ------------ |
15
+ | Decisions | 0 | - |
16
+ | Features | 0 | - |
17
+ | Notes | 0 | - |
18
+ | Product | 2 | - |
18
19
 
19
20
  ---
20
21
 
21
- ## 📋 Decisions (ADRs)
22
+ ## Decisions (ADRs)
22
23
 
23
- Architecture Decision Records - why we made key technical choices.
24
+ Architecture Decision Records why we made key technical choices.
24
25
 
25
- | ID | Title | Status | Date |
26
- |----|-------|--------|------|
27
- | - | No decisions recorded yet | - | - |
26
+ | ID | Title | Status | Date |
27
+ | --- | ------------------------- | ------ | ---- |
28
+ | - | No decisions recorded yet | - | - |
28
29
 
29
30
  <!-- Example:
30
- | 001 | Use Convex for Backend | Accepted | 2024-01-15 |
31
- Explains why we chose Convex over traditional REST API
31
+ | 001 | Use Convex for Backend | Accepted | 2026-01-15 |
32
+ -> Explains why we chose Convex over traditional REST API
32
33
  -->
33
34
 
34
35
  ---
35
36
 
36
- ## 🔧 Features
37
+ ## Features
37
38
 
38
39
  Documentation for complex features that need more than a spec.
39
40
 
40
- | Feature | Description | Last Updated |
41
- |---------|-------------|--------------|
42
- | - | No feature docs yet | - |
41
+ | Feature | Description | Last Updated |
42
+ | ------- | ------------------- | ------------ |
43
+ | - | No feature docs yet | - |
43
44
 
44
45
  <!-- Example:
45
- | auth-system | Complete auth flow documentation | 2024-02-01 |
46
- OAuth setup, session handling, role-based access
46
+ | auth-system | Complete auth flow documentation | 2026-02-01 |
47
+ -> OAuth setup, session handling, role-based access
47
48
  -->
48
49
 
49
50
  ---
50
51
 
51
- ## 📝 Notes
52
+ ## Notes
52
53
 
53
54
  Technical discoveries, gotchas, learnings.
54
55
 
55
- | Topic | Description | Added |
56
- |-------|-------------|-------|
57
- | - | No notes yet | - |
56
+ | Topic | Description | Added |
57
+ | ----- | ------------ | ----- |
58
+ | - | No notes yet | - |
58
59
 
59
60
  <!-- Example:
60
- | api-rate-limits | Third-party API quirks and workarounds | 2024-01-20 |
61
- Stripe webhook retries, Figma API limits, etc.
61
+ | api-rate-limits | Third-party API quirks and workarounds | 2026-01-20 |
62
+ -> Stripe webhook retries, Figma API limits, etc.
62
63
  -->
63
64
 
64
65
  ---
65
66
 
66
- ## 👥 Product
67
+ ## Product
67
68
 
68
69
  User research and product documentation.
69
70
 
70
- | Document | Description | Last Updated |
71
- |----------|-------------|--------------|
72
- | personas.md | Target user profiles | YYYY-MM-DD |
73
- | user-flows.md | Key user journeys | YYYY-MM-DD |
71
+ | Document | Description | Last Updated |
72
+ | ------------- | -------------------- | ------------ |
73
+ | personas.md | Target user profiles | - |
74
+ | user-flows.md | Key user journeys | - |
74
75
 
75
76
  ---
76
77
 
77
78
  ## How to Add Knowledge
78
79
 
79
- ### New Decision (ADR)
80
- ```bash
81
- # Create: flydocs/knowledge/decisions/NNN-title.md
82
- # Update: This index with new entry
83
- ```
84
-
85
- ### New Feature Doc
86
- ```bash
87
- # Create: flydocs/knowledge/features/feature-name.md
88
- # Update: This index with new entry
89
- ```
90
-
91
- ### New Note
92
- ```bash
93
- # Create: flydocs/knowledge/notes/topic-name.md
94
- # Update: This index with new entry
95
- ```
96
-
97
- ---
98
-
99
- *Last Updated: YYYY-MM-DD*
100
-
80
+ 1. Choose the category: decision, feature, note, or product
81
+ 2. Copy the template from `templates/<category>.md`
82
+ 3. Fill in the frontmatter (title, created date, related issues)
83
+ 4. Write the content following the template structure
84
+ 5. Add an entry to this index with a concise description
85
+ 6. Use the `/knowledge` command for a guided flow
@@ -6,42 +6,78 @@ This directory contains project knowledge that accumulates over time.
6
6
 
7
7
  ```
8
8
  knowledge/
9
- ├── INDEX.md # Start here - inventory of all knowledge
10
- ├── decisions/ # Architecture Decision Records (ADRs)
11
- ├── features/ # Complex feature documentation
12
- ├── notes/ # Technical discoveries and learnings
13
- └── product/ # User research and product docs
9
+ ├── INDEX.md # Start here inventory of all knowledge
10
+ ├── templates/ # Structural templates for each category
11
+ ├── decisions/ # Architecture Decision Records (ADRs)
12
+ ├── features/ # Complex feature documentation
13
+ ├── notes/ # Technical discoveries and learnings
14
+ └── product/ # User research and product docs
14
15
  ```
15
16
 
16
- ## When to Add Knowledge
17
+ ## Templates
18
+
19
+ Use templates from `templates/` when creating new knowledge docs. Each template includes
20
+ a frontmatter block with required metadata fields.
21
+
22
+ ### Required Frontmatter
23
+
24
+ All knowledge docs must include YAML frontmatter:
25
+
26
+ ```yaml
27
+ ---
28
+ title: "Descriptive title"
29
+ created: 2026-03-17
30
+ lastUpdated: 2026-03-17
31
+ relatedIssues: [FLY-123, FLY-456]
32
+ ---
33
+ ```
34
+
35
+ Additional fields vary by category — see the template for each type.
36
+
37
+ **Always update `lastUpdated`** when modifying an existing doc.
38
+
39
+ ## When to Create Knowledge
17
40
 
18
41
  ### Decisions (`decisions/`)
42
+
19
43
  Add an ADR when you make a significant technical choice:
44
+
20
45
  - Choosing a framework or library
21
46
  - Designing a system architecture
22
47
  - Establishing a pattern that others should follow
48
+ - Rejecting an approach (document why, so others don't repeat the investigation)
23
49
 
24
50
  **Format**: `NNN-title.md` (e.g., `001-use-convex.md`)
51
+ **Template**: `templates/decision.md`
25
52
 
26
53
  ### Features (`features/`)
54
+
27
55
  Add feature documentation when:
56
+
28
57
  - A feature is too complex for just a spec
29
58
  - Multiple specs relate to one system
30
59
  - Future developers will need deep context
31
60
 
32
61
  **Format**: `feature-name.md` (e.g., `auth-system.md`)
62
+ **Template**: `templates/feature.md`
33
63
 
34
64
  ### Notes (`notes/`)
65
+
35
66
  Add notes when you discover:
67
+
36
68
  - API quirks or gotchas
37
69
  - Performance optimizations
38
70
  - Debugging techniques
39
71
  - Third-party service behaviors
72
+ - Workarounds that aren't obvious from code
40
73
 
41
74
  **Format**: `topic-name.md` (e.g., `stripe-webhooks.md`)
75
+ **Template**: `templates/note.md`
42
76
 
43
77
  ### Product (`product/`)
78
+
44
79
  Add product docs for:
80
+
45
81
  - User personas
46
82
  - User flows and journeys
47
83
  - Research findings
@@ -49,14 +85,29 @@ Add product docs for:
49
85
 
50
86
  **Format**: `document-name.md` (e.g., `personas.md`)
51
87
 
88
+ ## When to Prompt for Knowledge Capture
89
+
90
+ Proactively suggest creating a knowledge doc when:
91
+
92
+ - An architectural decision was made during implementation
93
+ - A non-obvious workaround or debugging technique was discovered
94
+ - A third-party API or integration behavior was learned through trial and error
95
+ - A pattern was established that future work should follow
96
+ - A significant feature was completed that spans multiple issues
97
+
98
+ The `/knowledge` command provides a guided flow for creating docs.
99
+
52
100
  ## Always Update INDEX.md
53
101
 
54
- When adding any knowledge document, update `INDEX.md` so agents can discover it.
102
+ When adding or modifying any knowledge document:
103
+
104
+ 1. Add or update the entry in `INDEX.md`
105
+ 2. Set the date to the current date (never leave as `YYYY-MM-DD`)
106
+ 3. Write a concise description that helps agents assess relevance without loading the full doc
55
107
 
56
108
  ## Relationship to Specs
57
109
 
58
- - **Specs** (in Linear) = What we're building now
110
+ - **Specs** (in issue tracker) = What we're building now
59
111
  - **Knowledge** (here) = What we've learned that persists
60
112
 
61
113
  Specs reference knowledge. Knowledge grows from implementing specs.
62
-
@@ -0,0 +1,47 @@
1
+ ---
2
+ id: NNN
3
+ title: "[Decision title]"
4
+ status: proposed | accepted | deprecated | superseded
5
+ created: YYYY-MM-DD
6
+ lastUpdated: YYYY-MM-DD
7
+ relatedIssues: []
8
+ supersededBy: null
9
+ ---
10
+
11
+ # NNN — [Decision Title]
12
+
13
+ ## Status
14
+
15
+ [Proposed | Accepted | Deprecated | Superseded by NNN]
16
+
17
+ ## Context
18
+
19
+ [What is the problem or situation that requires a decision? Include relevant constraints, requirements, and prior art.]
20
+
21
+ ## Decision
22
+
23
+ [What was decided. Be specific — name the technology, pattern, or approach chosen.]
24
+
25
+ ## Alternatives Considered
26
+
27
+ | Option | Pros | Cons |
28
+ | --------------- | ------------ | -------------------- |
29
+ | [Chosen option] | [Advantages] | [Tradeoffs accepted] |
30
+ | [Alternative 1] | [Advantages] | [Why not chosen] |
31
+ | [Alternative 2] | [Advantages] | [Why not chosen] |
32
+
33
+ ## Consequences
34
+
35
+ **Positive:**
36
+
37
+ - [Benefit 1]
38
+ - [Benefit 2]
39
+
40
+ **Negative / Tradeoffs:**
41
+
42
+ - [Tradeoff 1]
43
+ - [Tradeoff 2]
44
+
45
+ **Follow-up actions:**
46
+
47
+ - [Action needed as a result of this decision]
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: "[Feature name]"
3
+ status: draft | current | deprecated
4
+ created: YYYY-MM-DD
5
+ lastUpdated: YYYY-MM-DD
6
+ relatedIssues: []
7
+ ---
8
+
9
+ # [Feature Name]
10
+
11
+ ## Overview
12
+
13
+ [What this feature does and why it exists. 2-3 sentences.]
14
+
15
+ ## Architecture
16
+
17
+ [How the feature is structured — key components, data flow, integration points.]
18
+
19
+ ## Key Files
20
+
21
+ | File | Purpose |
22
+ | -------------- | ------------------------------ |
23
+ | `path/to/file` | [What it does in this feature] |
24
+
25
+ ## Behaviors
26
+
27
+ [Important behaviors, edge cases, or business rules that aren't obvious from code alone.]
28
+
29
+ ## Configuration
30
+
31
+ [Any config, env vars, or feature flags that affect this feature.]
32
+
33
+ ## Related
34
+
35
+ - [Links to related issues, decisions, or other knowledge docs]
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: "[Note title]"
3
+ category: discovery | gotcha | optimization | debugging | integration
4
+ created: YYYY-MM-DD
5
+ lastUpdated: YYYY-MM-DD
6
+ relatedIssues: []
7
+ ---
8
+
9
+ # [Note Title]
10
+
11
+ ## Summary
12
+
13
+ [One-paragraph summary of the discovery, gotcha, or learning.]
14
+
15
+ ## Details
16
+
17
+ [Full explanation. Include code examples, error messages, or configuration details as relevant.]
18
+
19
+ ## Impact
20
+
21
+ [What this affects — which parts of the system, which workflows, which developers need to know.]
22
+
23
+ ## Resolution / Workaround
24
+
25
+ [If applicable — what was done to address this, or how to work around it.]
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.6.0-alpha.1",
2
+ "version": "0.6.0-alpha.11",
3
3
  "description": "FlyDocs Core - Manifest of all managed files",
4
4
  "repository": "github.com/plastrlab/flydocs-core",
5
5
 
@@ -45,6 +45,7 @@
45
45
  ".claude/commands/start-session.md",
46
46
  ".claude/commands/status.md",
47
47
  ".claude/commands/validate.md",
48
+ ".claude/commands/knowledge.md",
48
49
  ".claude/commands/wrap-session.md",
49
50
  ".claude/skills/README.md",
50
51
  ".cursor/hooks.json",
@@ -96,6 +97,9 @@
96
97
  "flydocs/knowledge/product/personas.md",
97
98
  "flydocs/knowledge/product/user-flows.md",
98
99
  "flydocs/README.md",
100
+ "flydocs/knowledge/templates/decision.md",
101
+ "flydocs/knowledge/templates/feature.md",
102
+ "flydocs/knowledge/templates/note.md",
99
103
  "flydocs/design-system/README.md",
100
104
  "flydocs/design-system/token-mapping.md",
101
105
  "flydocs/design-system/component-patterns.md"
@@ -125,6 +129,7 @@
125
129
  "flydocs-update.md",
126
130
  "flydocs-upgrade.md",
127
131
  "implement.md",
132
+ "knowledge.md",
128
133
  "new-project.md",
129
134
  "project-update.md",
130
135
  "refine.md",
@@ -177,7 +182,8 @@
177
182
  ],
178
183
  "knowledge": {
179
184
  "root": ["INDEX.md", "README.md"],
180
- "product": ["personas.md", "user-flows.md"]
185
+ "product": ["personas.md", "user-flows.md"],
186
+ "templates": ["decision.md", "feature.md", "note.md"]
181
187
  }
182
188
  },
183
189
  "root": ["AGENTS.md", ".env.example"]