@flydocs/cli 0.5.0-beta.1 → 0.5.0-beta.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.
- 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 +109 -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,93 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.5.0-beta.11] — 2026-02-23
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **Beta CTA hyperlink** — fixed OSC 8 escape sequence (BEL terminator, color inside
|
|
15
|
+
hyperlink wrapper). Display text changed to `https://www.flydocs.ai` for terminals
|
|
16
|
+
that don't support clickable links. UTM tracking preserved in the link target.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## [0.5.0-beta.10] — 2026-02-22
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- **`.env.example` not updating** — reclassified from `template_files` to `owned_files`
|
|
25
|
+
in manifest. Now overwritten on update so new config entries (like `CONTEXT7_API_KEY`)
|
|
26
|
+
and copy fixes propagate to existing installations.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## [0.5.0-beta.9] — 2026-02-22
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- **Banner copy** — title changed from "FlyDocs Core" to "FlyDocs (Beta)",
|
|
35
|
+
subtitle changed to "Spec-Driven Context That Helps Engineers Fly"
|
|
36
|
+
- **Beta CTA** — "priority support" replaced with "web portal", URL now
|
|
37
|
+
renders as clickable `flydocs.ai` hyperlink via OSC 8 terminal escape
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## [0.5.0-beta.8] — 2026-02-22
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
- **Context7 documentation skill** (`flydocs-context7`) — stdlib-only Python script
|
|
46
|
+
that calls the Context7 REST API to fetch up-to-date library documentation.
|
|
47
|
+
Replaces the removed Context7 MCP with a skill+script pattern.
|
|
48
|
+
- `context7.py search <library> [query]` — resolve library name to Context7 ID
|
|
49
|
+
- `context7.py docs <library_id> <query>` — fetch relevant documentation snippets
|
|
50
|
+
- Works without API key (anonymous, ~1,000 calls/month); optional
|
|
51
|
+
`CONTEXT7_API_KEY` in `.env` for higher rate limits
|
|
52
|
+
- Auto-approved by hook for seamless agent invocation
|
|
53
|
+
- Cursor rule included for cross-IDE support
|
|
54
|
+
- **Context7 API key** in `.env.example` — optional configuration for higher rate limits
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
|
|
58
|
+
- `.env.example` — corrected "Figma MCP" reference to "flydocs-figma skill"
|
|
59
|
+
|
|
60
|
+
## [0.5.0-beta.7] — 2026-02-22
|
|
61
|
+
|
|
62
|
+
### Removed
|
|
63
|
+
|
|
64
|
+
- **All MCP references** — removed `.cursor/mcp.json`, `prefer-scripts.py` hook,
|
|
65
|
+
MCP config preservation in update flow, MCP section in instructions template.
|
|
66
|
+
Skills fully replace MCPs as the FlyDocs architecture.
|
|
67
|
+
- **Phantom skills** — removed references to `implementation-flow`, `review-workflow`,
|
|
68
|
+
`spec-templates` skills that were never shipped.
|
|
69
|
+
|
|
70
|
+
### Fixed
|
|
71
|
+
|
|
72
|
+
- **Command injection** (`connect.ts`) — replaced `execSync` subprocess with native
|
|
73
|
+
`fetch()` for Linear API key validation.
|
|
74
|
+
- **Version comparison** — pre-release versions (e.g. `0.5.0-beta.3`) now compare
|
|
75
|
+
correctly instead of returning NaN.
|
|
76
|
+
- **Auto-approve hook** — tightened regex to anchor script paths, preventing potential
|
|
77
|
+
pattern-matching bypasses.
|
|
78
|
+
- **Post-edit hook** — added path traversal validation using `os.path.realpath()`.
|
|
79
|
+
- **Post-install scripts** — switched from `execSync` to `execFileSync` for subprocess safety.
|
|
80
|
+
|
|
81
|
+
### Changed
|
|
82
|
+
|
|
83
|
+
- **Stack detection** — now reads `flydocs/context/project.md` in addition to
|
|
84
|
+
`package.json` for declared stack frameworks.
|
|
85
|
+
- **Community skills on update** — filters already-installed skills before prompting.
|
|
86
|
+
- **Cloud exposure** — `.env.example` marked as cloud tier only, `flydocs/README.md`
|
|
87
|
+
rewritten as tier-generic, config defaults changed to `tier: "local"`.
|
|
88
|
+
- **Deprecated cleanup** — `.cursor/mcp.json` and `prefer-scripts.py` added to
|
|
89
|
+
deprecated files list for automatic cleanup on update.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
10
93
|
## [0.4.0] — 2026-02-18
|
|
11
94
|
|
|
12
95
|
### Added
|
|
96
|
+
|
|
13
97
|
- **Context Graph skill** (`flydocs-context-graph`) — relationship-aware knowledge
|
|
14
98
|
graph that connects skills, ADRs, issues, modules, and sessions. Implemented as
|
|
15
99
|
ADR-006 across five phases:
|
|
@@ -32,12 +116,14 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
32
116
|
graph automatically.
|
|
33
117
|
|
|
34
118
|
### Changed
|
|
119
|
+
|
|
35
120
|
- **Session wrap procedure** — `session.md` now includes a step to record session
|
|
36
121
|
outcomes in the context graph via `graph_session.py`. Skips silently if not installed.
|
|
37
122
|
- **Session staleness policy** — session nodes within 7 days get full weight, linear
|
|
38
123
|
decay to 30 days, then excluded from context.
|
|
39
124
|
|
|
40
125
|
### Migration
|
|
126
|
+
|
|
41
127
|
- **`.gitignore` update** — `flydocs/context/graph.json` is automatically added to
|
|
42
128
|
`.gitignore` during update if missing. The graph is gitignored because it contains
|
|
43
129
|
session-specific data and can be rebuilt from sources.
|
|
@@ -47,6 +133,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
47
133
|
## [0.3.10] — 2026-02-17
|
|
48
134
|
|
|
49
135
|
### Fixed
|
|
136
|
+
|
|
50
137
|
- **API null data crash** (FLY-178) — `flydocs_api.py` now normalizes `null` data
|
|
51
138
|
responses to empty dict before returning. Fixes `AttributeError` crashes in all
|
|
52
139
|
20+ scripts when Linear returns API errors. `create_issue.py` also retries without
|
|
@@ -65,6 +152,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
65
152
|
## [0.3.9] — 2026-02-17
|
|
66
153
|
|
|
67
154
|
### Added
|
|
155
|
+
|
|
68
156
|
- **Skill search and install CLI** (ENG-443) — `flydocs skills` subcommand with
|
|
69
157
|
`search`, `add`, `remove`, and `list` operations. Search the curated community
|
|
70
158
|
skills catalog, install from known names or GitHub repo references, and manage
|
|
@@ -81,6 +169,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
81
169
|
## [0.3.8] — 2026-02-14
|
|
82
170
|
|
|
83
171
|
### Added
|
|
172
|
+
|
|
84
173
|
- **`create_issue.py --description-file` and stdin** — both cloud and local tiers now
|
|
85
174
|
accept `--description-file PATH` or piped stdin for issue descriptions. Eliminates
|
|
86
175
|
the two-step create + update_description workaround for long descriptions.
|
|
@@ -92,6 +181,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
92
181
|
## [0.3.7] — 2026-02-11
|
|
93
182
|
|
|
94
183
|
### Added
|
|
184
|
+
|
|
95
185
|
- **Skill manifest generator** (ENG-442) — `generate_manifest.py` scans SKILL.md
|
|
96
186
|
frontmatter and produces a compressed skills index table. Injected into CLAUDE.md
|
|
97
187
|
and AGENTS.md between `<!-- flydocs:skills-manifest -->` markers. Bridges skill
|
|
@@ -104,12 +194,14 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
104
194
|
## [0.3.6] — 2026-02-10
|
|
105
195
|
|
|
106
196
|
### Added
|
|
197
|
+
|
|
107
198
|
- **Milestone, project, and dueDate in issue output** — `list_issues.py` now returns
|
|
108
199
|
`milestone`, `milestoneId`, `milestoneSortOrder`, `project`, `projectId`, and `dueDate`
|
|
109
200
|
for every issue. `get_issue.py` returns the same fields (minus `milestoneSortOrder`).
|
|
110
201
|
Enables milestone-grouped dashboards and priority-based session planning.
|
|
111
202
|
|
|
112
203
|
### Changed
|
|
204
|
+
|
|
113
205
|
- **Session start workflow rewritten** — `session.md` now instructs agents to group issues
|
|
114
206
|
by milestone (in milestone order), identify the current milestone, suggest a starting point
|
|
115
207
|
based on priority cascade (blocked → in-progress → due soon → highest priority in current
|
|
@@ -117,6 +209,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
117
209
|
the product scope.
|
|
118
210
|
|
|
119
211
|
### Fixed
|
|
212
|
+
|
|
120
213
|
- **`create_milestone.py` missing projectId** — `ProjectMilestoneCreateInput` requires a
|
|
121
214
|
`projectId`. Script now defaults to first `activeProject` from config, with `--project`
|
|
122
215
|
flag to override.
|
|
@@ -126,10 +219,12 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
126
219
|
## [0.3.5] — 2026-02-10
|
|
127
220
|
|
|
128
221
|
### Added
|
|
222
|
+
|
|
129
223
|
- **`list_projects.py` product scope** (ENG-475) — now respects `workspace.activeProjects`
|
|
130
224
|
config. `--all` bypasses product scope to show all team projects.
|
|
131
225
|
|
|
132
226
|
### Fixed
|
|
227
|
+
|
|
133
228
|
- **`list_projects.py` 400 error** (ENG-474) — state filter was using nested
|
|
134
229
|
`{type: {nin: [...]}}` instead of direct `StringComparator` `{nin: [...]}`.
|
|
135
230
|
Both `--active` (started only) and default (excludes completed/canceled) now work.
|
|
@@ -143,6 +238,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
143
238
|
## [0.3.4] — 2026-02-10
|
|
144
239
|
|
|
145
240
|
### Added
|
|
241
|
+
|
|
146
242
|
- **`list_issues.py --milestone` filter** — filter issues by project milestone ID.
|
|
147
243
|
Get milestone IDs from `list_milestones.py`, then pass to `list_issues.py --milestone <ID>`
|
|
148
244
|
to see all issues within a specific milestone.
|
|
@@ -152,6 +248,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
152
248
|
## [0.3.3] — 2026-02-10
|
|
153
249
|
|
|
154
250
|
### Fixed
|
|
251
|
+
|
|
155
252
|
- **Shell escaping in `update_description.py`** — descriptions with apostrophes,
|
|
156
253
|
parentheses, quotes, and other shell metacharacters no longer break when passed
|
|
157
254
|
via `--text`. Scripts now accept stdin as input, allowing safe heredoc piping:
|
|
@@ -164,6 +261,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
164
261
|
## [0.3.2] — 2026-02-09
|
|
165
262
|
|
|
166
263
|
### Fixed
|
|
264
|
+
|
|
167
265
|
- **API connection reliability** — reduced socket timeout from 30s to 10s and increased
|
|
168
266
|
max retries from 3 to 5. Resolves intermittent hangs caused by DNS returning unreachable
|
|
169
267
|
Cloudflare edge IPs. Scripts now fail over to a working IP within seconds instead of
|
|
@@ -176,11 +274,13 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
176
274
|
## [0.3.1] — 2026-02-08
|
|
177
275
|
|
|
178
276
|
### Fixed
|
|
277
|
+
|
|
179
278
|
- **`list_issues.py` product scope** — scoping via `activeProjects` and `product.labelIds`
|
|
180
279
|
now applies regardless of `--active` or `--status` flags. Previously, these flags
|
|
181
280
|
bypassed product scope entirely, returning all team issues.
|
|
182
281
|
|
|
183
282
|
### Added
|
|
283
|
+
|
|
184
284
|
- **`build_product_scope()` API helper** — new method on `FlyDocsClient` implements the
|
|
185
285
|
product scope cascade: `activeProjects` → `product.labelIds` → team-wide.
|
|
186
286
|
- **Multiple `activeProjects` support** — `list_issues.py` now uses OR logic when
|
|
@@ -193,6 +293,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
193
293
|
## [0.3.0] — 2026-02-08
|
|
194
294
|
|
|
195
295
|
### Added
|
|
296
|
+
|
|
196
297
|
- **`update_issue.py` bulk update script** — set multiple fields (priority, estimate,
|
|
197
298
|
assignee, state, description, comment) in a single API call instead of separate scripts.
|
|
198
299
|
- **`list_issues.py --active` flag** — returns all non-terminal issues (excludes Done,
|
|
@@ -204,12 +305,14 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
204
305
|
cached within each script invocation to reduce redundant API calls.
|
|
205
306
|
|
|
206
307
|
### Changed
|
|
308
|
+
|
|
207
309
|
- **`transition.py` optimized** — combined state update and cycle assignment into a
|
|
208
310
|
single `issueUpdate` mutation (was two separate calls for IMPLEMENTING transitions).
|
|
209
311
|
- **Session start efficiency** — single `list_issues.py --active` call replaces
|
|
210
312
|
per-status queries. Issues grouped by status in response.
|
|
211
313
|
|
|
212
314
|
### Removed
|
|
315
|
+
|
|
213
316
|
- **`status_summary.py`** — retired from cloud mechanism. Use `list_issues.py --active`
|
|
214
317
|
and group results by the status field instead.
|
|
215
318
|
|
|
@@ -218,6 +321,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
218
321
|
## [0.2.1] — 2026-02-07
|
|
219
322
|
|
|
220
323
|
### Fixed
|
|
324
|
+
|
|
221
325
|
- **Commands not fully populating** — changed from additive `cp` to clear-then-copy
|
|
222
326
|
for `.claude/commands/` and `.cursor/commands/` directories.
|
|
223
327
|
- **`docflow-core.mdc` not cleaned up** — added to deprecated cursor rules list.
|
|
@@ -227,6 +331,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
227
331
|
synced with version file.
|
|
228
332
|
|
|
229
333
|
### Added
|
|
334
|
+
|
|
230
335
|
- **`--force` flag** — force update even when versions match.
|
|
231
336
|
- **Old cursor rule directories and commands** added to deprecated cleanup.
|
|
232
337
|
|
|
@@ -235,6 +340,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
235
340
|
## [0.2.0] — 2026-02-06
|
|
236
341
|
|
|
237
342
|
### Added
|
|
343
|
+
|
|
238
344
|
- **Scenario-aware setup command** — `/flydocs-setup` rewritten as a comprehensive
|
|
239
345
|
agent prompt handling three scenarios: New Project, DocFlow Migration, FlyDocs Update.
|
|
240
346
|
Includes proactive repo scanning for PRDs and existing documentation.
|
|
@@ -247,10 +353,12 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
247
353
|
pre-v1.0 artifacts: old skills, rules, hooks, and cursor rules.
|
|
248
354
|
|
|
249
355
|
### Changed
|
|
356
|
+
|
|
250
357
|
- **Version file synced with manifest** — `.flydocs/version` now matches
|
|
251
358
|
`manifest.json` version field (was out of sync in 0.1.0).
|
|
252
359
|
|
|
253
360
|
### Removed
|
|
361
|
+
|
|
254
362
|
- Orphaned hook scripts: `session-end.py`, `linear-auto-approve.py`
|
|
255
363
|
|
|
256
364
|
---
|
|
@@ -258,6 +366,7 @@ Versioning: [Semantic Versioning](https://semver.org/).
|
|
|
258
366
|
## [0.1.0] — 2026-01-15
|
|
259
367
|
|
|
260
368
|
### Added
|
|
369
|
+
|
|
261
370
|
- Initial release of FlyDocs Core
|
|
262
371
|
- Workflow skill (`flydocs-workflow`) with full lifecycle stages
|
|
263
372
|
- 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.11",
|
|
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
|
-
}
|