@flydocs/cli 0.5.0-beta.1 → 0.5.0-beta.10
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/dist/cli.js +537 -290
- package/package.json +2 -1
- package/template/.claude/CLAUDE.md +71 -36
- package/template/.claude/agents/implementation-agent.md +1 -1
- package/template/.claude/agents/research-agent.md +1 -1
- package/template/.claude/commands/flydocs-setup.md +39 -4
- package/template/.claude/commands/flydocs-update.md +3 -4
- package/template/.claude/settings.json +0 -10
- package/template/.claude/skills/README.md +36 -41
- package/template/.claude/skills/flydocs-context7/SKILL.md +105 -0
- package/template/.claude/skills/flydocs-context7/cursor-rule.mdc +49 -0
- package/template/.claude/skills/flydocs-context7/scripts/context7.py +293 -0
- package/template/.cursor/hooks.json +0 -5
- package/template/.env.example +11 -2
- package/template/.flydocs/config.json +3 -8
- package/template/.flydocs/hooks/auto-approve.py +2 -2
- package/template/.flydocs/hooks/post-edit.py +13 -0
- package/template/.flydocs/templates/instructions.md +17 -69
- package/template/.flydocs/version +1 -1
- package/template/AGENTS.md +44 -27
- package/template/CHANGELOG.md +99 -0
- package/template/flydocs/README.md +36 -55
- package/template/flydocs/design-system/README.md +21 -13
- package/template/manifest.json +7 -18
- package/template/.cursor/mcp.json +0 -16
- package/template/.flydocs/hooks/prefer-scripts.py +0 -89
package/template/CHANGELOG.md
CHANGED
|
@@ -7,9 +7,83 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.5.0-beta.10] — 2026-02-22
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **`.env.example` not updating** — reclassified from `template_files` to `owned_files`
|
|
15
|
+
in manifest. Now overwritten on update so new config entries (like `CONTEXT7_API_KEY`)
|
|
16
|
+
and copy fixes propagate to existing installations.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## [0.5.0-beta.9] — 2026-02-22
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- **Banner copy** — title changed from "FlyDocs Core" to "FlyDocs (Beta)",
|
|
25
|
+
subtitle changed to "Spec-Driven Context That Helps Engineers Fly"
|
|
26
|
+
- **Beta CTA** — "priority support" replaced with "web portal", URL now
|
|
27
|
+
renders as clickable `flydocs.ai` hyperlink via OSC 8 terminal escape
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## [0.5.0-beta.8] — 2026-02-22
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
- **Context7 documentation skill** (`flydocs-context7`) — stdlib-only Python script
|
|
36
|
+
that calls the Context7 REST API to fetch up-to-date library documentation.
|
|
37
|
+
Replaces the removed Context7 MCP with a skill+script pattern.
|
|
38
|
+
- `context7.py search <library> [query]` — resolve library name to Context7 ID
|
|
39
|
+
- `context7.py docs <library_id> <query>` — fetch relevant documentation snippets
|
|
40
|
+
- Works without API key (anonymous, ~1,000 calls/month); optional
|
|
41
|
+
`CONTEXT7_API_KEY` in `.env` for higher rate limits
|
|
42
|
+
- Auto-approved by hook for seamless agent invocation
|
|
43
|
+
- Cursor rule included for cross-IDE support
|
|
44
|
+
- **Context7 API key** in `.env.example` — optional configuration for higher rate limits
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
|
|
48
|
+
- `.env.example` — corrected "Figma MCP" reference to "flydocs-figma skill"
|
|
49
|
+
|
|
50
|
+
## [0.5.0-beta.7] — 2026-02-22
|
|
51
|
+
|
|
52
|
+
### Removed
|
|
53
|
+
|
|
54
|
+
- **All MCP references** — removed `.cursor/mcp.json`, `prefer-scripts.py` hook,
|
|
55
|
+
MCP config preservation in update flow, MCP section in instructions template.
|
|
56
|
+
Skills fully replace MCPs as the FlyDocs architecture.
|
|
57
|
+
- **Phantom skills** — removed references to `implementation-flow`, `review-workflow`,
|
|
58
|
+
`spec-templates` skills that were never shipped.
|
|
59
|
+
|
|
60
|
+
### Fixed
|
|
61
|
+
|
|
62
|
+
- **Command injection** (`connect.ts`) — replaced `execSync` subprocess with native
|
|
63
|
+
`fetch()` for Linear API key validation.
|
|
64
|
+
- **Version comparison** — pre-release versions (e.g. `0.5.0-beta.3`) now compare
|
|
65
|
+
correctly instead of returning NaN.
|
|
66
|
+
- **Auto-approve hook** — tightened regex to anchor script paths, preventing potential
|
|
67
|
+
pattern-matching bypasses.
|
|
68
|
+
- **Post-edit hook** — added path traversal validation using `os.path.realpath()`.
|
|
69
|
+
- **Post-install scripts** — switched from `execSync` to `execFileSync` for subprocess safety.
|
|
70
|
+
|
|
71
|
+
### Changed
|
|
72
|
+
|
|
73
|
+
- **Stack detection** — now reads `flydocs/context/project.md` in addition to
|
|
74
|
+
`package.json` for declared stack frameworks.
|
|
75
|
+
- **Community skills on update** — filters already-installed skills before prompting.
|
|
76
|
+
- **Cloud exposure** — `.env.example` marked as cloud tier only, `flydocs/README.md`
|
|
77
|
+
rewritten as tier-generic, config defaults changed to `tier: "local"`.
|
|
78
|
+
- **Deprecated cleanup** — `.cursor/mcp.json` and `prefer-scripts.py` added to
|
|
79
|
+
deprecated files list for automatic cleanup on update.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
10
83
|
## [0.4.0] — 2026-02-18
|
|
11
84
|
|
|
12
85
|
### Added
|
|
86
|
+
|
|
13
87
|
- **Context Graph skill** (`flydocs-context-graph`) — relationship-aware knowledge
|
|
14
88
|
graph that connects skills, ADRs, issues, modules, and sessions. Implemented as
|
|
15
89
|
ADR-006 across five phases:
|
|
@@ -32,12 +106,14 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
32
106
|
graph automatically.
|
|
33
107
|
|
|
34
108
|
### Changed
|
|
109
|
+
|
|
35
110
|
- **Session wrap procedure** — `session.md` now includes a step to record session
|
|
36
111
|
outcomes in the context graph via `graph_session.py`. Skips silently if not installed.
|
|
37
112
|
- **Session staleness policy** — session nodes within 7 days get full weight, linear
|
|
38
113
|
decay to 30 days, then excluded from context.
|
|
39
114
|
|
|
40
115
|
### Migration
|
|
116
|
+
|
|
41
117
|
- **`.gitignore` update** — `flydocs/context/graph.json` is automatically added to
|
|
42
118
|
`.gitignore` during update if missing. The graph is gitignored because it contains
|
|
43
119
|
session-specific data and can be rebuilt from sources.
|
|
@@ -47,6 +123,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
47
123
|
## [0.3.10] — 2026-02-17
|
|
48
124
|
|
|
49
125
|
### Fixed
|
|
126
|
+
|
|
50
127
|
- **API null data crash** (FLY-178) — `flydocs_api.py` now normalizes `null` data
|
|
51
128
|
responses to empty dict before returning. Fixes `AttributeError` crashes in all
|
|
52
129
|
20+ scripts when Linear returns API errors. `create_issue.py` also retries without
|
|
@@ -65,6 +142,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
65
142
|
## [0.3.9] — 2026-02-17
|
|
66
143
|
|
|
67
144
|
### Added
|
|
145
|
+
|
|
68
146
|
- **Skill search and install CLI** (ENG-443) — `flydocs skills` subcommand with
|
|
69
147
|
`search`, `add`, `remove`, and `list` operations. Search the curated community
|
|
70
148
|
skills catalog, install from known names or GitHub repo references, and manage
|
|
@@ -81,6 +159,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
81
159
|
## [0.3.8] — 2026-02-14
|
|
82
160
|
|
|
83
161
|
### Added
|
|
162
|
+
|
|
84
163
|
- **`create_issue.py --description-file` and stdin** — both cloud and local tiers now
|
|
85
164
|
accept `--description-file PATH` or piped stdin for issue descriptions. Eliminates
|
|
86
165
|
the two-step create + update_description workaround for long descriptions.
|
|
@@ -92,6 +171,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
92
171
|
## [0.3.7] — 2026-02-11
|
|
93
172
|
|
|
94
173
|
### Added
|
|
174
|
+
|
|
95
175
|
- **Skill manifest generator** (ENG-442) — `generate_manifest.py` scans SKILL.md
|
|
96
176
|
frontmatter and produces a compressed skills index table. Injected into CLAUDE.md
|
|
97
177
|
and AGENTS.md between `<!-- flydocs:skills-manifest -->` markers. Bridges skill
|
|
@@ -104,12 +184,14 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
104
184
|
## [0.3.6] — 2026-02-10
|
|
105
185
|
|
|
106
186
|
### Added
|
|
187
|
+
|
|
107
188
|
- **Milestone, project, and dueDate in issue output** — `list_issues.py` now returns
|
|
108
189
|
`milestone`, `milestoneId`, `milestoneSortOrder`, `project`, `projectId`, and `dueDate`
|
|
109
190
|
for every issue. `get_issue.py` returns the same fields (minus `milestoneSortOrder`).
|
|
110
191
|
Enables milestone-grouped dashboards and priority-based session planning.
|
|
111
192
|
|
|
112
193
|
### Changed
|
|
194
|
+
|
|
113
195
|
- **Session start workflow rewritten** — `session.md` now instructs agents to group issues
|
|
114
196
|
by milestone (in milestone order), identify the current milestone, suggest a starting point
|
|
115
197
|
based on priority cascade (blocked → in-progress → due soon → highest priority in current
|
|
@@ -117,6 +199,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
117
199
|
the product scope.
|
|
118
200
|
|
|
119
201
|
### Fixed
|
|
202
|
+
|
|
120
203
|
- **`create_milestone.py` missing projectId** — `ProjectMilestoneCreateInput` requires a
|
|
121
204
|
`projectId`. Script now defaults to first `activeProject` from config, with `--project`
|
|
122
205
|
flag to override.
|
|
@@ -126,10 +209,12 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
126
209
|
## [0.3.5] — 2026-02-10
|
|
127
210
|
|
|
128
211
|
### Added
|
|
212
|
+
|
|
129
213
|
- **`list_projects.py` product scope** (ENG-475) — now respects `workspace.activeProjects`
|
|
130
214
|
config. `--all` bypasses product scope to show all team projects.
|
|
131
215
|
|
|
132
216
|
### Fixed
|
|
217
|
+
|
|
133
218
|
- **`list_projects.py` 400 error** (ENG-474) — state filter was using nested
|
|
134
219
|
`{type: {nin: [...]}}` instead of direct `StringComparator` `{nin: [...]}`.
|
|
135
220
|
Both `--active` (started only) and default (excludes completed/canceled) now work.
|
|
@@ -143,6 +228,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
143
228
|
## [0.3.4] — 2026-02-10
|
|
144
229
|
|
|
145
230
|
### Added
|
|
231
|
+
|
|
146
232
|
- **`list_issues.py --milestone` filter** — filter issues by project milestone ID.
|
|
147
233
|
Get milestone IDs from `list_milestones.py`, then pass to `list_issues.py --milestone <ID>`
|
|
148
234
|
to see all issues within a specific milestone.
|
|
@@ -152,6 +238,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
152
238
|
## [0.3.3] — 2026-02-10
|
|
153
239
|
|
|
154
240
|
### Fixed
|
|
241
|
+
|
|
155
242
|
- **Shell escaping in `update_description.py`** — descriptions with apostrophes,
|
|
156
243
|
parentheses, quotes, and other shell metacharacters no longer break when passed
|
|
157
244
|
via `--text`. Scripts now accept stdin as input, allowing safe heredoc piping:
|
|
@@ -164,6 +251,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
164
251
|
## [0.3.2] — 2026-02-09
|
|
165
252
|
|
|
166
253
|
### Fixed
|
|
254
|
+
|
|
167
255
|
- **API connection reliability** — reduced socket timeout from 30s to 10s and increased
|
|
168
256
|
max retries from 3 to 5. Resolves intermittent hangs caused by DNS returning unreachable
|
|
169
257
|
Cloudflare edge IPs. Scripts now fail over to a working IP within seconds instead of
|
|
@@ -176,11 +264,13 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
176
264
|
## [0.3.1] — 2026-02-08
|
|
177
265
|
|
|
178
266
|
### Fixed
|
|
267
|
+
|
|
179
268
|
- **`list_issues.py` product scope** — scoping via `activeProjects` and `product.labelIds`
|
|
180
269
|
now applies regardless of `--active` or `--status` flags. Previously, these flags
|
|
181
270
|
bypassed product scope entirely, returning all team issues.
|
|
182
271
|
|
|
183
272
|
### Added
|
|
273
|
+
|
|
184
274
|
- **`build_product_scope()` API helper** — new method on `FlyDocsClient` implements the
|
|
185
275
|
product scope cascade: `activeProjects` → `product.labelIds` → team-wide.
|
|
186
276
|
- **Multiple `activeProjects` support** — `list_issues.py` now uses OR logic when
|
|
@@ -193,6 +283,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
193
283
|
## [0.3.0] — 2026-02-08
|
|
194
284
|
|
|
195
285
|
### Added
|
|
286
|
+
|
|
196
287
|
- **`update_issue.py` bulk update script** — set multiple fields (priority, estimate,
|
|
197
288
|
assignee, state, description, comment) in a single API call instead of separate scripts.
|
|
198
289
|
- **`list_issues.py --active` flag** — returns all non-terminal issues (excludes Done,
|
|
@@ -204,12 +295,14 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
204
295
|
cached within each script invocation to reduce redundant API calls.
|
|
205
296
|
|
|
206
297
|
### Changed
|
|
298
|
+
|
|
207
299
|
- **`transition.py` optimized** — combined state update and cycle assignment into a
|
|
208
300
|
single `issueUpdate` mutation (was two separate calls for IMPLEMENTING transitions).
|
|
209
301
|
- **Session start efficiency** — single `list_issues.py --active` call replaces
|
|
210
302
|
per-status queries. Issues grouped by status in response.
|
|
211
303
|
|
|
212
304
|
### Removed
|
|
305
|
+
|
|
213
306
|
- **`status_summary.py`** — retired from cloud mechanism. Use `list_issues.py --active`
|
|
214
307
|
and group results by the status field instead.
|
|
215
308
|
|
|
@@ -218,6 +311,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
218
311
|
## [0.2.1] — 2026-02-07
|
|
219
312
|
|
|
220
313
|
### Fixed
|
|
314
|
+
|
|
221
315
|
- **Commands not fully populating** — changed from additive `cp` to clear-then-copy
|
|
222
316
|
for `.claude/commands/` and `.cursor/commands/` directories.
|
|
223
317
|
- **`docflow-core.mdc` not cleaned up** — added to deprecated cursor rules list.
|
|
@@ -227,6 +321,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
227
321
|
synced with version file.
|
|
228
322
|
|
|
229
323
|
### Added
|
|
324
|
+
|
|
230
325
|
- **`--force` flag** — force update even when versions match.
|
|
231
326
|
- **Old cursor rule directories and commands** added to deprecated cleanup.
|
|
232
327
|
|
|
@@ -235,6 +330,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
235
330
|
## [0.2.0] — 2026-02-06
|
|
236
331
|
|
|
237
332
|
### Added
|
|
333
|
+
|
|
238
334
|
- **Scenario-aware setup command** — `/flydocs-setup` rewritten as a comprehensive
|
|
239
335
|
agent prompt handling three scenarios: New Project, DocFlow Migration, FlyDocs Update.
|
|
240
336
|
Includes proactive repo scanning for PRDs and existing documentation.
|
|
@@ -247,10 +343,12 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
247
343
|
pre-v1.0 artifacts: old skills, rules, hooks, and cursor rules.
|
|
248
344
|
|
|
249
345
|
### Changed
|
|
346
|
+
|
|
250
347
|
- **Version file synced with manifest** — `.flydocs/version` now matches
|
|
251
348
|
`manifest.json` version field (was out of sync in 0.1.0).
|
|
252
349
|
|
|
253
350
|
### Removed
|
|
351
|
+
|
|
254
352
|
- Orphaned hook scripts: `session-end.py`, `linear-auto-approve.py`
|
|
255
353
|
|
|
256
354
|
---
|
|
@@ -258,6 +356,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
258
356
|
## [0.1.0] — 2026-01-15
|
|
259
357
|
|
|
260
358
|
### Added
|
|
359
|
+
|
|
261
360
|
- Initial release of FlyDocs Core
|
|
262
361
|
- Workflow skill (`flydocs-workflow`) with full lifecycle stages
|
|
263
362
|
- Mechanism skills: `flydocs-cloud` (Linear API) and `flydocs-local` (file-based)
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
# FlyDocs
|
|
1
|
+
# FlyDocs
|
|
2
2
|
|
|
3
|
-
This project uses FlyDocs
|
|
4
|
-
|
|
3
|
+
This project uses FlyDocs - a hybrid workflow where:
|
|
4
|
+
|
|
5
|
+
- **Work items (specs)** live in your issue tracker (local files or cloud provider)
|
|
5
6
|
- **Project understanding** lives locally in this directory
|
|
6
7
|
- **Framework config, rules & templates** live in `.flydocs/`
|
|
7
8
|
|
|
@@ -12,6 +13,7 @@ This project uses FlyDocs Cloud - a hybrid workflow where:
|
|
|
12
13
|
**This `flydocs/` directory is your project's evolving knowledge base.**
|
|
13
14
|
|
|
14
15
|
It grows alongside your project:
|
|
16
|
+
|
|
15
17
|
- Update `context/` as your vision, stack, and standards evolve
|
|
16
18
|
- Add to `knowledge/` as you make decisions and learn things
|
|
17
19
|
- Expand `patterns/` as you discover project-specific conventions
|
|
@@ -25,7 +27,7 @@ FlyDocs will **never overwrite** these files during updates - they're yours to m
|
|
|
25
27
|
|
|
26
28
|
```
|
|
27
29
|
.flydocs/ # FRAMEWORK (replaced on FlyDocs update)
|
|
28
|
-
├── config.json #
|
|
30
|
+
├── config.json # Tier, provider settings, workspace config
|
|
29
31
|
├── version # For upgrade detection
|
|
30
32
|
├── rules/ # Workflow rules
|
|
31
33
|
├── scripts/ # Automation scripts
|
|
@@ -34,9 +36,7 @@ FlyDocs will **never overwrite** these files during updates - they're yours to m
|
|
|
34
36
|
|
|
35
37
|
flydocs/ # PROJECT CONTENT (evolves with project)
|
|
36
38
|
├── context/ # Project fundamentals
|
|
37
|
-
│ ├──
|
|
38
|
-
│ ├── stack.md # Tech stack, architecture (update as it changes)
|
|
39
|
-
│ ├── standards.md # Code conventions (update as they mature)
|
|
39
|
+
│ ├── project.md # Vision, stack, scope (update as it evolves)
|
|
40
40
|
│ └── patterns/ # Project-specific patterns (grow over time)
|
|
41
41
|
│
|
|
42
42
|
├── design-system/ # Design tokens (if using /design-setup)
|
|
@@ -59,19 +59,11 @@ flydocs/ # PROJECT CONTENT (evolves with project)
|
|
|
59
59
|
└── hooks.json # Cursor hooks
|
|
60
60
|
|
|
61
61
|
.claude/ # Claude Code integration
|
|
62
|
+
├── CLAUDE.md # Claude Code instructions
|
|
62
63
|
├── agents/ # Subagent definitions
|
|
63
64
|
├── skills/ # Workflow skills
|
|
65
|
+
├── commands/ # Slash commands
|
|
64
66
|
└── settings.json # Claude hooks
|
|
65
|
-
│ ├── pm-agent/RULE.md # Planning triggers
|
|
66
|
-
│ ├── implementation-agent/RULE.md # Build triggers
|
|
67
|
-
│ ├── qe-agent/RULE.md # Testing triggers
|
|
68
|
-
│ ├── linear-integration/RULE.md
|
|
69
|
-
│ └── ...
|
|
70
|
-
└── commands/ # Slash commands
|
|
71
|
-
|
|
72
|
-
.claude/
|
|
73
|
-
├── CLAUDE.md # Claude Code instructions
|
|
74
|
-
└── commands/ # Symlinks to .cursor/commands/
|
|
75
67
|
```
|
|
76
68
|
|
|
77
69
|
**Note:** Content folder name is configurable via `paths.content` in `.flydocs/config.json`.
|
|
@@ -82,51 +74,38 @@ flydocs/ # PROJECT CONTENT (evolves with project)
|
|
|
82
74
|
|
|
83
75
|
### LOCAL (This Directory)
|
|
84
76
|
|
|
85
|
-
| Content
|
|
86
|
-
|
|
87
|
-
| Project overview | `context/
|
|
88
|
-
|
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
| Notes | `knowledge/notes/` | Learnings, gotchas |
|
|
93
|
-
| Product docs | `knowledge/product/` | Personas, user flows |
|
|
77
|
+
| Content | Location | Purpose |
|
|
78
|
+
| ---------------- | ---------------------- | -------------------- |
|
|
79
|
+
| Project overview | `context/project.md` | Vision, goals, scope |
|
|
80
|
+
| ADRs | `knowledge/decisions/` | Why we made choices |
|
|
81
|
+
| Feature docs | `knowledge/features/` | How features work |
|
|
82
|
+
| Notes | `knowledge/notes/` | Learnings, gotchas |
|
|
83
|
+
| Product docs | `knowledge/product/` | Personas, user flows |
|
|
94
84
|
|
|
95
85
|
**Why local?** Agent needs instant access, changes with code, developers need it in IDE.
|
|
96
86
|
|
|
97
|
-
###
|
|
87
|
+
### ISSUE TRACKER (Local or Cloud)
|
|
98
88
|
|
|
99
|
-
| Content
|
|
100
|
-
|
|
101
|
-
| Specs
|
|
102
|
-
| Status
|
|
103
|
-
| Priorities
|
|
104
|
-
| Assignments |
|
|
105
|
-
|
|
|
106
|
-
| Progress | Comments | Decision log, impl notes |
|
|
89
|
+
| Content | Purpose |
|
|
90
|
+
| ----------- | ---------------------------------- |
|
|
91
|
+
| Specs | Features, bugs, chores, ideas |
|
|
92
|
+
| Status | BACKLOG → DONE progression |
|
|
93
|
+
| Priorities | Urgent, High, Medium, Low |
|
|
94
|
+
| Assignments | Who's working on what |
|
|
95
|
+
| Progress | Decision log, implementation notes |
|
|
107
96
|
|
|
108
|
-
**
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## No Longer Exists
|
|
113
|
-
|
|
114
|
-
These are **replaced by Linear**:
|
|
115
|
-
|
|
116
|
-
- ~~`flydocs/specs/`~~ → Linear issues
|
|
117
|
-
- ~~`flydocs/INDEX.md`~~ → Linear issue list
|
|
118
|
-
- ~~`flydocs/ACTIVE.md`~~ → Linear "In Progress" view
|
|
119
|
-
- ~~`flydocs/specs/assets/`~~ → Linear attachments
|
|
97
|
+
**Local tier:** Issues stored as files in `flydocs/issues/`.
|
|
98
|
+
**Cloud tier:** Issues stored in your provider (e.g., Linear). Enables team collaboration, stakeholder visibility, and AI agent integration.
|
|
120
99
|
|
|
121
100
|
---
|
|
122
101
|
|
|
123
102
|
## Quick Commands
|
|
124
103
|
|
|
125
104
|
```
|
|
126
|
-
/start-session - Check
|
|
127
|
-
/capture - Create new
|
|
128
|
-
/new-project - Create project with product label/icon
|
|
129
|
-
/implement - Pick up issue
|
|
105
|
+
/start-session - Check issue status, plan work
|
|
106
|
+
/capture - Create new issue
|
|
107
|
+
/new-project - Create project with product label/icon (cloud tier)
|
|
108
|
+
/implement - Pick up issue for implementation
|
|
130
109
|
/validate - Test implementation
|
|
131
110
|
/close - Move issue to Done
|
|
132
111
|
/flydocs-update - Sync rules from source repo
|
|
@@ -144,10 +123,12 @@ If you have a Figma design system with tokens, run `/design-setup` to enable enh
|
|
|
144
123
|
```
|
|
145
124
|
|
|
146
125
|
This creates:
|
|
126
|
+
|
|
147
127
|
- `flydocs/design-system/token-mapping.md` - Your Figma → code translations
|
|
148
128
|
- `flydocs/design-system/component-patterns.md` - Your reusable components
|
|
149
129
|
|
|
150
130
|
And updates `.flydocs/config.json` with:
|
|
131
|
+
|
|
151
132
|
```json
|
|
152
133
|
{
|
|
153
134
|
"designSystem": {
|
|
@@ -168,15 +149,15 @@ And updates `.flydocs/config.json` with:
|
|
|
168
149
|
## Configuration
|
|
169
150
|
|
|
170
151
|
See `.flydocs/config.json` for:
|
|
152
|
+
|
|
171
153
|
- FlyDocs version
|
|
154
|
+
- `tier` - "local" (free) or "cloud" (connected to provider)
|
|
172
155
|
- `paths.content` - This folder name (default: "flydocs")
|
|
173
|
-
- `provider.
|
|
174
|
-
- `workspace.activeProjects` - Array of active project IDs
|
|
156
|
+
- `provider.type` - Issue tracker provider (null for local, "linear" for cloud)
|
|
157
|
+
- `workspace.activeProjects` - Array of active project IDs (cloud tier)
|
|
175
158
|
- `workspace.product` - Product identity (name, labelIds, icon, color)
|
|
176
159
|
- `statusMapping` - Workflow state names
|
|
177
160
|
|
|
178
|
-
See `.cursor/mcp.json` for MCP server configuration.
|
|
179
|
-
|
|
180
161
|
---
|
|
181
162
|
|
|
182
163
|
## More Information
|
|
@@ -19,7 +19,8 @@ When using the `flydocs-figma` skill to extract designs, the AI needs to know:
|
|
|
19
19
|
### 1. Run /design-setup
|
|
20
20
|
|
|
21
21
|
The `/design-setup` command will:
|
|
22
|
-
|
|
22
|
+
|
|
23
|
+
- Connect to your Figma file via the Figma skill
|
|
23
24
|
- Extract design tokens
|
|
24
25
|
- Generate initial mappings
|
|
25
26
|
- Create component pattern documentation
|
|
@@ -31,8 +32,8 @@ Edit `token-mapping.md` to define how Figma tokens translate to your code:
|
|
|
31
32
|
```markdown
|
|
32
33
|
## Colors
|
|
33
34
|
|
|
34
|
-
| Figma Token | CSS Variable
|
|
35
|
-
|
|
35
|
+
| Figma Token | CSS Variable | Tailwind Class |
|
|
36
|
+
| ----------- | ------------------- | -------------- |
|
|
36
37
|
| Primary/500 | --color-primary-500 | bg-primary-500 |
|
|
37
38
|
| Neutral/100 | --color-neutral-100 | bg-neutral-100 |
|
|
38
39
|
```
|
|
@@ -41,22 +42,26 @@ Edit `token-mapping.md` to define how Figma tokens translate to your code:
|
|
|
41
42
|
|
|
42
43
|
Edit `component-patterns.md` to map Figma components to code:
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
````markdown
|
|
45
46
|
## Button
|
|
46
47
|
|
|
47
48
|
**Figma Component:** `Components/Button/Primary`
|
|
48
49
|
|
|
49
50
|
**Code Pattern:**
|
|
51
|
+
|
|
50
52
|
```tsx
|
|
51
53
|
<Button variant="primary" size="md">
|
|
52
54
|
{children}
|
|
53
55
|
</Button>
|
|
54
56
|
```
|
|
57
|
+
````
|
|
55
58
|
|
|
56
59
|
**Variants:**
|
|
60
|
+
|
|
57
61
|
- Primary → variant="primary"
|
|
58
62
|
- Secondary → variant="secondary"
|
|
59
63
|
- Ghost → variant="ghost"
|
|
64
|
+
|
|
60
65
|
```
|
|
61
66
|
|
|
62
67
|
---
|
|
@@ -64,15 +69,17 @@ Edit `component-patterns.md` to map Figma components to code:
|
|
|
64
69
|
## File Structure
|
|
65
70
|
|
|
66
71
|
```
|
|
72
|
+
|
|
67
73
|
flydocs/design-system/
|
|
68
|
-
├── README.md
|
|
69
|
-
├── token-mapping.md
|
|
70
|
-
├── component-patterns.md
|
|
71
|
-
└── tokens/
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
├── README.md # This file
|
|
75
|
+
├── token-mapping.md # Figma token → code mapping
|
|
76
|
+
├── component-patterns.md # Figma component → code mapping
|
|
77
|
+
└── tokens/ # Optional: extracted token JSON
|
|
78
|
+
├── colors.json
|
|
79
|
+
├── spacing.json
|
|
80
|
+
└── typography.json
|
|
81
|
+
|
|
82
|
+
````
|
|
76
83
|
|
|
77
84
|
---
|
|
78
85
|
|
|
@@ -115,12 +122,13 @@ Add version notes to track design system evolution:
|
|
|
115
122
|
|
|
116
123
|
### v1.0 (2023-06)
|
|
117
124
|
- Initial design system
|
|
118
|
-
|
|
125
|
+
````
|
|
119
126
|
|
|
120
127
|
---
|
|
121
128
|
|
|
122
129
|
## Templates
|
|
123
130
|
|
|
124
131
|
See `.flydocs/templates/design-system/` for:
|
|
132
|
+
|
|
125
133
|
- `token-mapping.md` - Template for token documentation
|
|
126
134
|
- `component-patterns.md` - Template for component documentation
|
package/template/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.5.0-beta.
|
|
2
|
+
"version": "0.5.0-beta.10",
|
|
3
3
|
"description": "FlyDocs Core - Manifest of all managed files",
|
|
4
4
|
"repository": "github.com/plastrlab/flydocs-core",
|
|
5
5
|
|
|
@@ -18,9 +18,7 @@
|
|
|
18
18
|
".claude/skills/flydocs-figma",
|
|
19
19
|
".claude/skills/flydocs-estimates",
|
|
20
20
|
".claude/skills/flydocs-context-graph",
|
|
21
|
-
".claude/skills/
|
|
22
|
-
".claude/skills/review-workflow",
|
|
23
|
-
".claude/skills/spec-templates",
|
|
21
|
+
".claude/skills/flydocs-context7",
|
|
24
22
|
".flydocs/scripts",
|
|
25
23
|
".cursor/agents"
|
|
26
24
|
]
|
|
@@ -51,7 +49,8 @@
|
|
|
51
49
|
".cursor/hooks.json",
|
|
52
50
|
".flydocs/version",
|
|
53
51
|
".flydocs/CHANGELOG.md",
|
|
54
|
-
"AGENTS.md"
|
|
52
|
+
"AGENTS.md",
|
|
53
|
+
".env.example"
|
|
55
54
|
]
|
|
56
55
|
},
|
|
57
56
|
|
|
@@ -60,7 +59,6 @@
|
|
|
60
59
|
"paths": [
|
|
61
60
|
".env",
|
|
62
61
|
".env.local",
|
|
63
|
-
".cursor/mcp.json",
|
|
64
62
|
"flydocs/context/project.md",
|
|
65
63
|
"flydocs/knowledge/**",
|
|
66
64
|
"flydocs/design-system/**"
|
|
@@ -80,7 +78,6 @@
|
|
|
80
78
|
"issueLabels",
|
|
81
79
|
"statusMapping",
|
|
82
80
|
"detectedStack",
|
|
83
|
-
"mcp",
|
|
84
81
|
"skills",
|
|
85
82
|
"designSystem",
|
|
86
83
|
"aiLabor"
|
|
@@ -92,7 +89,6 @@
|
|
|
92
89
|
"template_files": {
|
|
93
90
|
"description": "Initial scaffolding - created on setup, then maintained by user as project evolves",
|
|
94
91
|
"paths": [
|
|
95
|
-
".env.example",
|
|
96
92
|
"flydocs/context/project.md",
|
|
97
93
|
"flydocs/knowledge/INDEX.md",
|
|
98
94
|
"flydocs/knowledge/README.md",
|
|
@@ -151,13 +147,11 @@
|
|
|
151
147
|
"flydocs-figma": ["SKILL.md", "references/"],
|
|
152
148
|
"flydocs-estimates": ["SKILL.md", "references/"],
|
|
153
149
|
"flydocs-context-graph": ["SKILL.md", "schema.md", "scripts/"],
|
|
154
|
-
"
|
|
155
|
-
"review-workflow": ["SKILL.md"],
|
|
156
|
-
"spec-templates": ["SKILL.md"]
|
|
150
|
+
"flydocs-context7": ["SKILL.md", "cursor-rule.mdc", "scripts/"]
|
|
157
151
|
}
|
|
158
152
|
},
|
|
159
153
|
".cursor": {
|
|
160
|
-
"root": ["hooks.json"
|
|
154
|
+
"root": ["hooks.json"],
|
|
161
155
|
"agents": [
|
|
162
156
|
"pm-agent.md",
|
|
163
157
|
"implementation-agent.md",
|
|
@@ -168,12 +162,7 @@
|
|
|
168
162
|
".flydocs": {
|
|
169
163
|
"root": ["config.json", "version", "CHANGELOG.md"],
|
|
170
164
|
"scripts": ["generate_manifest.py", "skill_manager.py"],
|
|
171
|
-
"hooks": [
|
|
172
|
-
"auto-approve.py",
|
|
173
|
-
"prefer-scripts.py",
|
|
174
|
-
"post-edit.py",
|
|
175
|
-
"prompt-submit.py"
|
|
176
|
-
],
|
|
165
|
+
"hooks": ["auto-approve.py", "post-edit.py", "prompt-submit.py"],
|
|
177
166
|
"templates": ["bug.md", "chore.md", "feature.md", "idea.md"]
|
|
178
167
|
},
|
|
179
168
|
"flydocs": {
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://cursor.sh/schemas/mcp.json",
|
|
3
|
-
"mcpServers": {
|
|
4
|
-
"linear": {
|
|
5
|
-
"command": "npx",
|
|
6
|
-
"args": ["-y", "@linear/mcp-server"],
|
|
7
|
-
"env": {
|
|
8
|
-
"LINEAR_API_KEY": "${LINEAR_API_KEY}"
|
|
9
|
-
}
|
|
10
|
-
},
|
|
11
|
-
"context7": {
|
|
12
|
-
"command": "npx",
|
|
13
|
-
"args": ["-y", "@anthropics/context7-mcp"]
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|