@flydocs/cli 0.6.0-alpha.2 → 0.6.0-alpha.21
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 +705 -393
- package/package.json +1 -1
- package/template/.claude/CLAUDE.md +62 -63
- package/template/.claude/agents/implementation-agent.md +1 -1
- package/template/.claude/agents/pm-agent.md +1 -1
- package/template/.claude/commands/activate.md +1 -1
- package/template/.claude/commands/attach.md +1 -1
- package/template/.claude/commands/block.md +2 -2
- package/template/.claude/commands/capture.md +1 -1
- package/template/.claude/commands/close.md +1 -1
- package/template/.claude/commands/flydocs-setup.md +387 -74
- package/template/.claude/commands/flydocs-upgrade.md +48 -37
- package/template/.claude/commands/implement.md +1 -1
- package/template/.claude/commands/knowledge.md +61 -0
- package/template/.claude/commands/new-project.md +1 -1
- package/template/.claude/commands/onboard.md +275 -0
- package/template/.claude/commands/project-update.md +1 -1
- package/template/.claude/commands/refine.md +1 -1
- package/template/.claude/commands/review.md +1 -1
- package/template/.claude/commands/start-session.md +1 -1
- package/template/.claude/commands/status.md +1 -1
- package/template/.claude/commands/validate.md +1 -1
- package/template/.claude/commands/wrap-session.md +1 -1
- package/template/.claude/hooks/auto-approve.py +132 -0
- package/template/.claude/hooks/post-pr-check.py +108 -0
- package/template/.claude/hooks/post-transition-check.py +94 -0
- package/template/.claude/hooks/prompt-submit.py +513 -0
- package/template/.claude/hooks/session-start.py +146 -0
- package/template/.claude/hooks/stop-gate.py +109 -0
- package/template/.claude/settings.json +41 -4
- package/template/.claude/skills/README.md +23 -25
- package/template/.claude/skills/flydocs-workflow/SKILL.md +134 -42
- package/template/.claude/skills/flydocs-workflow/cursor-rule.mdc +9 -8
- package/template/.claude/skills/flydocs-workflow/reference/comment-templates.md +1 -0
- package/template/.claude/skills/flydocs-workflow/reference/golden-rules.md +28 -17
- package/template/.claude/skills/flydocs-workflow/reference/graph-schema.md +116 -0
- package/template/.claude/skills/flydocs-workflow/reference/pr-workflow.md +120 -0
- package/template/.claude/skills/flydocs-workflow/reference/priority-estimates.md +37 -15
- package/template/.claude/skills/flydocs-workflow/reference/service-descriptor-schema.md +251 -0
- package/template/.claude/skills/flydocs-workflow/reference/status-workflow.md +26 -26
- package/template/.claude/skills/flydocs-workflow/scripts/_local/__init__.py +0 -0
- package/template/.claude/skills/{flydocs-local/scripts/flydocs_api.py → flydocs-workflow/scripts/_local/file_store.py} +137 -47
- package/template/.claude/skills/flydocs-workflow/scripts/flydocs_api.py +693 -0
- package/template/{.flydocs → .claude/skills/flydocs-workflow}/scripts/generate_manifest.py +4 -4
- package/template/.claude/skills/{flydocs-context-graph → flydocs-workflow}/scripts/graph_build.py +132 -1
- package/template/.claude/skills/{flydocs-context-graph → flydocs-workflow}/scripts/graph_query.py +18 -5
- package/template/.claude/skills/{flydocs-context-graph → flydocs-workflow}/scripts/graph_session.py +1 -10
- package/template/.claude/skills/{flydocs-context-graph → flydocs-workflow}/scripts/graph_update.py +4 -4
- package/template/.claude/skills/{flydocs-context-graph → flydocs-workflow}/scripts/graph_utils.py +2 -1
- package/template/.claude/skills/flydocs-workflow/scripts/issues.py +489 -0
- package/template/.claude/skills/flydocs-workflow/scripts/projects.py +144 -0
- package/template/.claude/skills/flydocs-workflow/scripts/pull_services.py +128 -0
- package/template/.claude/skills/flydocs-workflow/scripts/push_service.py +132 -0
- package/template/.claude/skills/flydocs-workflow/scripts/session.py +54 -0
- package/template/.claude/skills/flydocs-workflow/scripts/workspace.py +860 -0
- package/template/.claude/skills/flydocs-workflow/session.md +63 -25
- package/template/.claude/skills/flydocs-workflow/stages/activate.md +18 -7
- package/template/.claude/skills/flydocs-workflow/stages/capture.md +10 -5
- package/template/.claude/skills/flydocs-workflow/stages/close.md +4 -3
- package/template/.claude/skills/flydocs-workflow/stages/implement.md +33 -9
- package/template/.claude/skills/flydocs-workflow/stages/refine.md +22 -6
- package/template/.claude/skills/flydocs-workflow/stages/review.md +16 -4
- package/template/.claude/skills/flydocs-workflow/stages/validate.md +3 -1
- package/template/.claude/skills/flydocs-workflow/templates/pr/default.md +33 -0
- package/template/.cursor/agents/implementation-agent.md +1 -1
- package/template/.cursor/agents/pm-agent.md +2 -2
- package/template/.cursor/hooks.json +10 -3
- package/template/.env.example +6 -6
- package/template/.flydocs/config.json +5 -18
- package/template/.flydocs/templates/README.md +13 -14
- package/template/.flydocs/templates/quick-capture.md +4 -8
- package/template/.flydocs/version +1 -1
- package/template/AGENTS.md +39 -32
- package/template/CHANGELOG.md +39 -0
- package/template/flydocs/README.md +1 -3
- package/template/flydocs/context/project.md +6 -3
- package/template/flydocs/design-system/README.md +3 -3
- package/template/flydocs/knowledge/INDEX.md +38 -53
- package/template/flydocs/knowledge/README.md +60 -9
- package/template/flydocs/knowledge/templates/decision.md +47 -0
- package/template/flydocs/knowledge/templates/feature.md +35 -0
- package/template/flydocs/knowledge/templates/note.md +25 -0
- package/template/manifest.json +24 -20
- package/template/.claude/skills/flydocs-cloud/SKILL.md +0 -111
- package/template/.claude/skills/flydocs-cloud/cursor-rule.mdc +0 -50
- package/template/.claude/skills/flydocs-cloud/scripts/assign.py +0 -22
- package/template/.claude/skills/flydocs-cloud/scripts/assign_cycle.py +0 -28
- package/template/.claude/skills/flydocs-cloud/scripts/assign_milestone.py +0 -22
- package/template/.claude/skills/flydocs-cloud/scripts/comment.py +0 -29
- package/template/.claude/skills/flydocs-cloud/scripts/create_issue.py +0 -63
- package/template/.claude/skills/flydocs-cloud/scripts/create_milestone.py +0 -35
- package/template/.claude/skills/flydocs-cloud/scripts/create_project.py +0 -33
- package/template/.claude/skills/flydocs-cloud/scripts/create_team.py +0 -39
- package/template/.claude/skills/flydocs-cloud/scripts/estimate.py +0 -29
- package/template/.claude/skills/flydocs-cloud/scripts/flydocs_api.py +0 -210
- package/template/.claude/skills/flydocs-cloud/scripts/get_issue.py +0 -24
- package/template/.claude/skills/flydocs-cloud/scripts/link.py +0 -28
- package/template/.claude/skills/flydocs-cloud/scripts/list_cycles.py +0 -28
- package/template/.claude/skills/flydocs-cloud/scripts/list_issues.py +0 -44
- package/template/.claude/skills/flydocs-cloud/scripts/list_labels.py +0 -19
- package/template/.claude/skills/flydocs-cloud/scripts/list_milestones.py +0 -28
- package/template/.claude/skills/flydocs-cloud/scripts/list_projects.py +0 -31
- package/template/.claude/skills/flydocs-cloud/scripts/list_teams.py +0 -19
- package/template/.claude/skills/flydocs-cloud/scripts/priority.py +0 -29
- package/template/.claude/skills/flydocs-cloud/scripts/project_update.py +0 -45
- package/template/.claude/skills/flydocs-cloud/scripts/set_labels.py +0 -68
- package/template/.claude/skills/flydocs-cloud/scripts/set_team.py +0 -41
- package/template/.claude/skills/flydocs-cloud/scripts/transition.py +0 -26
- package/template/.claude/skills/flydocs-cloud/scripts/update_description.py +0 -36
- package/template/.claude/skills/flydocs-cloud/scripts/update_issue.py +0 -82
- package/template/.claude/skills/flydocs-context-graph/SKILL.md +0 -87
- package/template/.claude/skills/flydocs-context-graph/schema.md +0 -78
- package/template/.claude/skills/flydocs-context-graph/scripts/graph_context.py +0 -338
- package/template/.claude/skills/flydocs-context7/SKILL.md +0 -105
- package/template/.claude/skills/flydocs-context7/cursor-rule.mdc +0 -49
- package/template/.claude/skills/flydocs-context7/scripts/context7.py +0 -293
- package/template/.claude/skills/flydocs-estimates/SKILL.md +0 -384
- package/template/.claude/skills/flydocs-figma/SKILL.md +0 -377
- package/template/.claude/skills/flydocs-figma/references/PROMPTING.md +0 -108
- package/template/.claude/skills/flydocs-figma/references/TROUBLESHOOTING.md +0 -112
- package/template/.claude/skills/flydocs-local/SKILL.md +0 -103
- package/template/.claude/skills/flydocs-local/cursor-rule.mdc +0 -43
- package/template/.claude/skills/flydocs-local/scripts/assign.py +0 -20
- package/template/.claude/skills/flydocs-local/scripts/comment.py +0 -27
- package/template/.claude/skills/flydocs-local/scripts/create_issue.py +0 -44
- package/template/.claude/skills/flydocs-local/scripts/estimate.py +0 -37
- package/template/.claude/skills/flydocs-local/scripts/get_issue.py +0 -20
- package/template/.claude/skills/flydocs-local/scripts/link.py +0 -41
- package/template/.claude/skills/flydocs-local/scripts/list_issues.py +0 -34
- package/template/.claude/skills/flydocs-local/scripts/priority.py +0 -37
- package/template/.claude/skills/flydocs-local/scripts/project_update.py +0 -67
- package/template/.claude/skills/flydocs-local/scripts/status_summary.py +0 -16
- package/template/.claude/skills/flydocs-local/scripts/transition.py +0 -24
- package/template/.claude/skills/flydocs-local/scripts/update_description.py +0 -35
- package/template/.claude/skills/flydocs-local/scripts/update_issue.py +0 -84
- package/template/.flydocs/hooks/auto-approve.py +0 -71
- package/template/.flydocs/hooks/prompt-submit.py +0 -277
- package/template/.flydocs/scripts/skill_manager.py +0 -541
- package/template/.flydocs/templates/bug.md +0 -166
- package/template/.flydocs/templates/chore.md +0 -110
- package/template/.flydocs/templates/feature.md +0 -173
- package/template/.flydocs/templates/idea.md +0 -122
- /package/template/{.flydocs → .claude}/hooks/post-edit.py +0 -0
- /package/template/.claude/skills/{flydocs-estimates/references → flydocs-workflow/reference}/provider-costs.md +0 -0
- /package/template/.claude/skills/flydocs-workflow/templates/{bug.md → issues/bug.md} +0 -0
- /package/template/.claude/skills/flydocs-workflow/templates/{chore.md → issues/chore.md} +0 -0
- /package/template/.claude/skills/flydocs-workflow/templates/{feature.md → issues/feature.md} +0 -0
- /package/template/.claude/skills/flydocs-workflow/templates/{idea.md → issues/idea.md} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
AI-guided migration from local tier to cloud tier. Handles API connection,
|
|
4
4
|
issue migration, and local content disposition in a single guided flow.
|
|
5
5
|
|
|
6
|
-
Read the
|
|
6
|
+
Read the workflow skill's `SKILL.md` for script calling conventions
|
|
7
7
|
before executing any scripts.
|
|
8
8
|
|
|
9
9
|
Triggers: "upgrade to cloud", "migrate to cloud", "local to cloud", "flydocs upgrade"
|
|
@@ -65,7 +65,7 @@ Count totals by status and type.
|
|
|
65
65
|
|
|
66
66
|
**Step 3: Check for API readiness.**
|
|
67
67
|
|
|
68
|
-
Check if `
|
|
68
|
+
Check if `FLYDOCS_API_KEY` is set in the environment (from `.env` or
|
|
69
69
|
`.env.local`). If not, warn the user they will need it for Phase 1.
|
|
70
70
|
|
|
71
71
|
**Step 4: Present migration summary.**
|
|
@@ -84,8 +84,8 @@ Local issues found: [N total]
|
|
|
84
84
|
- Done: [n]
|
|
85
85
|
|
|
86
86
|
Migration will:
|
|
87
|
-
1. Connect to cloud provider
|
|
88
|
-
2. Create [N] issues in
|
|
87
|
+
1. Connect to cloud provider via flydocs connect
|
|
88
|
+
2. Create [N] issues in your cloud provider with matching status
|
|
89
89
|
3. Archive, delete, or keep local issue files (your choice)
|
|
90
90
|
|
|
91
91
|
API key: [set / not set — will be needed in Phase 1]
|
|
@@ -100,33 +100,44 @@ Confirm with the user before continuing.
|
|
|
100
100
|
## Phase 1: Connect to Cloud
|
|
101
101
|
|
|
102
102
|
Guide the user through connecting to the cloud provider. This swaps the
|
|
103
|
-
|
|
103
|
+
tier, stores the API key, and configures the workflow skill for cloud access.
|
|
104
104
|
|
|
105
|
-
**Step 1:
|
|
105
|
+
**Step 1: Get API key.**
|
|
106
106
|
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
Ask the user for their FlyDocs API key (`fdk_...`). If `FLYDOCS_API_KEY`
|
|
108
|
+
is already set in the environment, confirm they want to use the existing
|
|
109
|
+
key or enter a new one.
|
|
110
|
+
|
|
111
|
+
If no key is available, instruct the user:
|
|
109
112
|
|
|
110
113
|
```
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
- Prompt for your relay API key (from flydocs.ai account)
|
|
116
|
-
- Update .flydocs/config.json to cloud tier
|
|
117
|
-
- Swap mechanism skills (local -> cloud)
|
|
118
|
-
- Verify the connection works
|
|
114
|
+
You'll need a FlyDocs API key (fdk_...) from your dashboard at app.flydocs.ai.
|
|
115
|
+
|
|
116
|
+
Option A: Run `flydocs connect --here` in your terminal (handles everything)
|
|
117
|
+
Option B: Add FLYDOCS_API_KEY=fdk_... to your .env or .env.local file
|
|
119
118
|
```
|
|
120
119
|
|
|
121
|
-
|
|
120
|
+
Wait for the user to confirm the key is set before proceeding.
|
|
121
|
+
|
|
122
|
+
**Step 2: Update config to cloud tier.**
|
|
123
|
+
|
|
124
|
+
Read `.flydocs/config.json`, update `tier` to `"cloud"`, and write it back.
|
|
125
|
+
Preserve all existing config values (detected stack, skills, etc.).
|
|
126
|
+
|
|
127
|
+
**Step 3: Complete tier configuration.**
|
|
128
|
+
|
|
129
|
+
Instruct the user to run `flydocs connect --here` from their terminal if
|
|
130
|
+
they haven't already. This handles the tier configuration update and
|
|
131
|
+
connects to the relay API.
|
|
132
|
+
|
|
133
|
+
**Step 4: Verify connection.**
|
|
122
134
|
|
|
123
|
-
After the user confirms
|
|
135
|
+
After the user confirms the connection, verify:
|
|
124
136
|
|
|
125
137
|
1. Read `.flydocs/config.json` — `tier` should now be `cloud`
|
|
126
|
-
2.
|
|
127
|
-
3. Run a test command to verify the connection:
|
|
138
|
+
2. Run a test command to verify the connection:
|
|
128
139
|
```bash
|
|
129
|
-
python3 .claude/skills/flydocs-
|
|
140
|
+
python3 .claude/skills/flydocs-workflow/scripts/issues.py list --limit 1
|
|
130
141
|
```
|
|
131
142
|
|
|
132
143
|
If any check fails, help the user troubleshoot before proceeding.
|
|
@@ -135,11 +146,11 @@ If any check fails, help the user troubleshoot before proceeding.
|
|
|
135
146
|
|
|
136
147
|
## Phase 2: Issue Migration
|
|
137
148
|
|
|
138
|
-
Migrate local issues to the cloud provider. After `flydocs connect`
|
|
139
|
-
the
|
|
149
|
+
Migrate local issues to the cloud provider. After `flydocs connect` updates
|
|
150
|
+
the tier, the workflow skill now routes to the cloud API.
|
|
140
151
|
|
|
141
|
-
**IMPORTANT:**
|
|
142
|
-
|
|
152
|
+
**IMPORTANT:** For migration, read the local issue markdown files directly
|
|
153
|
+
from `flydocs/issues/` rather than using dispatcher scripts.
|
|
143
154
|
|
|
144
155
|
**Step 1: Read local issue files.**
|
|
145
156
|
|
|
@@ -162,14 +173,14 @@ For each issue file in `flydocs/issues/{status}/*.md`, parse:
|
|
|
162
173
|
|
|
163
174
|
**Step 2: Create issues in cloud.**
|
|
164
175
|
|
|
165
|
-
For each local issue, create it in the cloud provider. Read the
|
|
166
|
-
|
|
176
|
+
For each local issue, create it in the cloud provider. Read the workflow
|
|
177
|
+
skill's `SKILL.md` first for exact calling conventions.
|
|
167
178
|
|
|
168
179
|
For issues with long descriptions, write the description body to a temp file
|
|
169
180
|
and use `--description-file`:
|
|
170
181
|
|
|
171
182
|
```bash
|
|
172
|
-
python3 .claude/skills/flydocs-
|
|
183
|
+
python3 .claude/skills/flydocs-workflow/scripts/issues.py create \
|
|
173
184
|
--title "Issue title" \
|
|
174
185
|
--type feature \
|
|
175
186
|
--priority 3 \
|
|
@@ -192,11 +203,11 @@ Migrated from local tier on YYYY-MM-DD.
|
|
|
192
203
|
|
|
193
204
|
**Step 3: Transition non-backlog issues.**
|
|
194
205
|
|
|
195
|
-
Issues created via `
|
|
206
|
+
Issues created via `issues.py create` start in BACKLOG status. For issues
|
|
196
207
|
that were in other statuses locally, transition them to match:
|
|
197
208
|
|
|
198
209
|
```bash
|
|
199
|
-
python3 .claude/skills/flydocs-
|
|
210
|
+
python3 .claude/skills/flydocs-workflow/scripts/issues.py transition \
|
|
200
211
|
<new-issue-ref> <TARGET_STATUS> \
|
|
201
212
|
--comment "Migrated from local tier — original status was [status]"
|
|
202
213
|
```
|
|
@@ -235,7 +246,7 @@ After migration, handle the local issue files. Present three options
|
|
|
235
246
|
(same pattern as the uninstall command):
|
|
236
247
|
|
|
237
248
|
```
|
|
238
|
-
All [N] issues have been migrated to
|
|
249
|
+
All [N] issues have been migrated to your cloud provider.
|
|
239
250
|
|
|
240
251
|
What would you like to do with the local issue files?
|
|
241
252
|
|
|
@@ -243,7 +254,7 @@ What would you like to do with the local issue files?
|
|
|
243
254
|
(keeps files as read-only reference)
|
|
244
255
|
|
|
245
256
|
2. Delete — Remove flydocs/issues/ and .flydocs/issues.counter
|
|
246
|
-
(clean slate, issues live in
|
|
257
|
+
(clean slate, issues live in your cloud provider now)
|
|
247
258
|
|
|
248
259
|
3. Keep — Leave files as-is
|
|
249
260
|
(local files remain alongside cloud issues)
|
|
@@ -281,7 +292,7 @@ ID Mapping:
|
|
|
281
292
|
```
|
|
282
293
|
Next steps:
|
|
283
294
|
1. Run /flydocs-setup to configure milestones and labels
|
|
284
|
-
2. Review migrated issues in
|
|
295
|
+
2. Review migrated issues in your cloud provider
|
|
285
296
|
3. Start working with /start-session
|
|
286
297
|
```
|
|
287
298
|
|
|
@@ -290,7 +301,7 @@ Next steps:
|
|
|
290
301
|
Offer to commit the configuration changes:
|
|
291
302
|
|
|
292
303
|
```
|
|
293
|
-
The tier change and
|
|
304
|
+
The tier change and configuration update modified several files.
|
|
294
305
|
Want to commit these changes?
|
|
295
306
|
```
|
|
296
307
|
|
|
@@ -317,11 +328,11 @@ Stage: `.flydocs/config.json`, `.claude/skills/`, `.claude/CLAUDE.md`,
|
|
|
317
328
|
|
|
318
329
|
## Key Rules
|
|
319
330
|
|
|
320
|
-
1. **Always read the
|
|
331
|
+
1. **Always read the workflow skill's `SKILL.md`** before running
|
|
321
332
|
scripts in Phase 2. Calling conventions may have changed.
|
|
322
333
|
2. **Never delete local files without explicit user consent** in Phase 3.
|
|
323
|
-
3. **
|
|
324
|
-
|
|
334
|
+
3. **For migration, read issue files directly.** Do not use dispatcher
|
|
335
|
+
scripts to read local tier issue files during migration.
|
|
325
336
|
4. **Status transitions must follow the workflow.** Read the status workflow
|
|
326
337
|
reference for valid transition paths.
|
|
327
338
|
5. **Report progress continuously.** Show the mapping table after each
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Build the feature or fix, following the implementation checklist.
|
|
4
4
|
|
|
5
5
|
Read `.claude/skills/flydocs-workflow/stages/implement.md` and follow the procedure.
|
|
6
|
-
Read
|
|
6
|
+
Read `.claude/skills/flydocs-workflow/SKILL.md` for script calling conventions.
|
|
7
7
|
|
|
8
8
|
Triggers: "implement", "build this", "start coding", "pick up"
|
|
9
9
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Knowledge (All Agents)
|
|
2
|
+
|
|
3
|
+
Create or update a knowledge document — decisions, notes, features, or product docs.
|
|
4
|
+
|
|
5
|
+
Read `flydocs/knowledge/README.md` for categories and guidance.
|
|
6
|
+
Read `flydocs/knowledge/INDEX.md` for existing entries.
|
|
7
|
+
|
|
8
|
+
## Procedure
|
|
9
|
+
|
|
10
|
+
### 1. Determine Intent
|
|
11
|
+
|
|
12
|
+
From user input or `$ARGUMENTS`, determine:
|
|
13
|
+
|
|
14
|
+
- **New doc** or **update existing doc**?
|
|
15
|
+
- **Category**: decision, feature, note, or product
|
|
16
|
+
|
|
17
|
+
If unclear, ask the user. Default to `note` for discoveries and learnings.
|
|
18
|
+
|
|
19
|
+
### 2. For New Docs
|
|
20
|
+
|
|
21
|
+
1. Read the template from `flydocs/knowledge/templates/<category>.md`
|
|
22
|
+
2. Gather content from the user — ask clarifying questions if context is thin
|
|
23
|
+
3. Fill in the frontmatter:
|
|
24
|
+
- `title`: Descriptive, specific title
|
|
25
|
+
- `created`: Today's date (`YYYY-MM-DD`)
|
|
26
|
+
- `lastUpdated`: Today's date
|
|
27
|
+
- `relatedIssues`: Any issue IDs discussed in this session
|
|
28
|
+
- Category-specific fields (see template)
|
|
29
|
+
4. Write the doc to the correct directory:
|
|
30
|
+
- Decisions: `flydocs/knowledge/decisions/NNN-title.md` (auto-increment NNN)
|
|
31
|
+
- Features: `flydocs/knowledge/features/feature-name.md`
|
|
32
|
+
- Notes: `flydocs/knowledge/notes/topic-name.md`
|
|
33
|
+
- Product: `flydocs/knowledge/product/document-name.md`
|
|
34
|
+
5. Update `flydocs/knowledge/INDEX.md`:
|
|
35
|
+
- Add entry to the appropriate table
|
|
36
|
+
- Update the Quick Reference count
|
|
37
|
+
- Use a concise description (helps agents assess relevance without loading the full doc)
|
|
38
|
+
|
|
39
|
+
### 3. For Existing Docs
|
|
40
|
+
|
|
41
|
+
1. Find the doc in INDEX.md or by searching `flydocs/knowledge/`
|
|
42
|
+
2. Read the current content
|
|
43
|
+
3. Apply the update
|
|
44
|
+
4. Update the `lastUpdated` field in frontmatter
|
|
45
|
+
5. Update the INDEX.md entry if the description changed
|
|
46
|
+
|
|
47
|
+
### 4. Confirm
|
|
48
|
+
|
|
49
|
+
Report what was created or updated:
|
|
50
|
+
|
|
51
|
+
- File path
|
|
52
|
+
- Category and title
|
|
53
|
+
- INDEX.md entry added/updated
|
|
54
|
+
|
|
55
|
+
## Triggers
|
|
56
|
+
|
|
57
|
+
- "document this" / "knowledge" / "add to knowledge base"
|
|
58
|
+
- "create an ADR" / "record this decision" / "capture this learning"
|
|
59
|
+
- "add a note about" / "document this discovery"
|
|
60
|
+
|
|
61
|
+
$ARGUMENTS
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Create a new project and add it to active projects in config.
|
|
4
4
|
|
|
5
|
-
Use `
|
|
5
|
+
Use `projects.py create-project` from `.claude/skills/flydocs-workflow/scripts/` (cloud only).
|
|
6
6
|
For local tier: create project directory structure manually.
|
|
7
7
|
Update `.flydocs/config.json` with the new project ID in `workspace.activeProjects`.
|
|
8
8
|
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# Onboard (All Agents)
|
|
2
|
+
|
|
3
|
+
Orient a new developer to the codebase, active project, and FlyDocs workflow.
|
|
4
|
+
This is a one-time orientation (or re-run after major changes) distinct from
|
|
5
|
+
the daily `/start-session`.
|
|
6
|
+
|
|
7
|
+
Triggers: "onboard", "get oriented", "new here", "walk me through this project"
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Pre-Check: User Config (cloud tier only)
|
|
12
|
+
|
|
13
|
+
Before starting orientation, verify the user has the config needed for a
|
|
14
|
+
personalized experience. Skip this entire step for local tier.
|
|
15
|
+
|
|
16
|
+
1. **Read `.flydocs/config.json`** — check the `tier` field.
|
|
17
|
+
- If `tier` is `"local"` or config doesn't exist: skip to Step 1.
|
|
18
|
+
|
|
19
|
+
2. **Check for `.flydocs/me.json`** — if it exists and has `displayName`, proceed to Step 1.
|
|
20
|
+
|
|
21
|
+
3. **If `me.json` is missing, try to create it:**
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
python3 .claude/skills/flydocs-workflow/scripts/workspace.py get-me
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
4. **If `workspace.py get-me` fails** (no API key, network error):
|
|
28
|
+
- Show a clear message:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
To connect to your workspace, you need a FlyDocs API key.
|
|
32
|
+
|
|
33
|
+
Option A: Set FLYDOCS_API_KEY in .env.local (ask your team admin for the key)
|
|
34
|
+
Option B: Run `npx flydocs install` which will prompt for the key
|
|
35
|
+
|
|
36
|
+
Once set, run /onboard again.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
- **Do not block** — continue with the remaining onboard steps using a generic
|
|
40
|
+
greeting. The user can still see the project overview and commands.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Step 1: Greet the Developer
|
|
45
|
+
|
|
46
|
+
Read `.flydocs/me.json` for the user's name. If the file exists and has a
|
|
47
|
+
`displayName` field, greet them personally:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Hello, [Name]! Let me orient you to this project.
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If `me.json` doesn't exist (local tier or pre-check was skipped), use a
|
|
54
|
+
generic greeting.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Step 2: Install Integrity Check
|
|
59
|
+
|
|
60
|
+
Check that the FlyDocs installation is healthy. Read `.flydocs/integrity.json`
|
|
61
|
+
and verify all owned files and directories exist:
|
|
62
|
+
|
|
63
|
+
```python
|
|
64
|
+
import json
|
|
65
|
+
from pathlib import Path
|
|
66
|
+
|
|
67
|
+
data = json.loads(Path('.flydocs/integrity.json').read_text())
|
|
68
|
+
missing = []
|
|
69
|
+
for f in data.get('ownedFiles', []):
|
|
70
|
+
if not Path(f).exists():
|
|
71
|
+
missing.append(f)
|
|
72
|
+
for d in data.get('ownedDirectories', []):
|
|
73
|
+
if not Path(d).exists():
|
|
74
|
+
missing.append(d)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Report the result:
|
|
78
|
+
|
|
79
|
+
- **All present** — "Installation verified — all framework files intact."
|
|
80
|
+
- **Missing files** — List what's missing and suggest: "Run `/flydocs-update`
|
|
81
|
+
to restore missing files."
|
|
82
|
+
|
|
83
|
+
If `integrity.json` doesn't exist, note: "No integrity file found — run
|
|
84
|
+
`flydocs update` to generate one."
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Step 3: Project Overview
|
|
89
|
+
|
|
90
|
+
Read `flydocs/context/project.md` and present a concise summary:
|
|
91
|
+
|
|
92
|
+
- **What this is** — extract the "What This Is" section (first content section)
|
|
93
|
+
- **Tech stack** — extract the Stack section
|
|
94
|
+
- **Active priorities** — extract the Active Priorities section
|
|
95
|
+
- **Standards** — summarize any project-specific conventions
|
|
96
|
+
|
|
97
|
+
Present this as a structured overview, not a raw file dump. Example:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
## Project: FlyDocs Core
|
|
101
|
+
|
|
102
|
+
CLI tool that installs structured context for AI coding tools.
|
|
103
|
+
|
|
104
|
+
**Stack:** TypeScript, Node.js, Citty (CLI), tsup (build)
|
|
105
|
+
**Priorities:** Skill consolidation, onboarding flow, cloud beta prep
|
|
106
|
+
**Standards:** Strict TypeScript, kebab-case files, template-first dev
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
If `project.md` is missing or has only placeholder content, note it and
|
|
110
|
+
suggest running `/flydocs-setup`.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Step 4: Topology and Related Services
|
|
115
|
+
|
|
116
|
+
Read `.flydocs/config.json` for the `topology` field and check for sibling
|
|
117
|
+
repo context.
|
|
118
|
+
|
|
119
|
+
**Single repo (Type 1):** Simply note this is a standalone project.
|
|
120
|
+
|
|
121
|
+
**Monorepo (Type 2/3):** Show the workspace structure. If available, list
|
|
122
|
+
packages from `flydocs/context/service.json` structure.packages.
|
|
123
|
+
|
|
124
|
+
**Sibling repos (Type 4):** List sibling repos from topology.siblingRepos.
|
|
125
|
+
If `flydocs/context/graph.json` exists, check for repo nodes and show
|
|
126
|
+
cross-repo relationships:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
## Related Services
|
|
130
|
+
|
|
131
|
+
This project is part of a multi-repo workspace:
|
|
132
|
+
- **flydocs-core** (this repo) — CLI tool, template system
|
|
133
|
+
- **flydocs-app** — Web application, relay API
|
|
134
|
+
- **flydocs-marketing** — Marketing site, docs
|
|
135
|
+
|
|
136
|
+
Dependencies: flydocs-core -> flydocs-app (REST /api/relay/*)
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
If service descriptors exist in sibling repos, mention key integration points.
|
|
140
|
+
If no topology is configured, note: "Topology not detected. Run `/flydocs-setup`
|
|
141
|
+
to configure."
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Step 5: Active Work Summary
|
|
146
|
+
|
|
147
|
+
Show what's currently happening in the project.
|
|
148
|
+
|
|
149
|
+
**First: Check active project.** Read `workspace.activeProjects` from
|
|
150
|
+
`.flydocs/config.json`. If set, mention the active project. If not set
|
|
151
|
+
(cloud tier with `setupComplete: true`), warn:
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
No active project configured. Issue listing and project updates won't be
|
|
155
|
+
scoped correctly. Run /flydocs-setup or:
|
|
156
|
+
workspace.py set-active-project <PROJECT_ID>
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**Cloud tier:**
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
python3 .claude/skills/flydocs-workflow/scripts/issues.py list --status "all" --limit 20
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Summarize by status:
|
|
166
|
+
|
|
167
|
+
- How many issues in each status (Backlog, Ready, In Progress, Review, etc.)
|
|
168
|
+
- List any In Progress or Review issues with assignees
|
|
169
|
+
- Show the active project name and active milestone if `workspace.defaultMilestoneId` is set
|
|
170
|
+
|
|
171
|
+
**Local tier:**
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
python3 .claude/skills/flydocs-workflow/scripts/issues.py list
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Show issue count and status breakdown.
|
|
178
|
+
|
|
179
|
+
**Both tiers:** If `.flydocs/session/last-summary.json` exists, show the last
|
|
180
|
+
session summary for continuity:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
## Last Session
|
|
184
|
+
Issues worked: FLY-380, FLY-381
|
|
185
|
+
Pending: 2 items
|
|
186
|
+
Notes: Completed skill consolidation phase 1
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Step 6: Command Quick Reference
|
|
192
|
+
|
|
193
|
+
Present the key commands organized by workflow stage:
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
## FlyDocs Commands
|
|
197
|
+
|
|
198
|
+
**Getting started:**
|
|
199
|
+
/start-session — Begin a work session (daily)
|
|
200
|
+
/activate — Pick your next issue
|
|
201
|
+
/capture — Log a new issue or idea
|
|
202
|
+
|
|
203
|
+
**During development:**
|
|
204
|
+
/implement — Start implementation on active issue
|
|
205
|
+
/status — Check current session and issue status
|
|
206
|
+
/block — Flag a blocker
|
|
207
|
+
/attach — Attach to an existing issue
|
|
208
|
+
|
|
209
|
+
**Completing work:**
|
|
210
|
+
/review — Submit for code review
|
|
211
|
+
/validate — Run QE validation
|
|
212
|
+
/close — Close a completed issue
|
|
213
|
+
/wrap-session — End session (saves progress)
|
|
214
|
+
|
|
215
|
+
**Project management:**
|
|
216
|
+
/refine — Triage and refine backlog items
|
|
217
|
+
/project-update — Post a project status update
|
|
218
|
+
/knowledge — Capture a decision, note, or feature doc
|
|
219
|
+
|
|
220
|
+
**System:**
|
|
221
|
+
/flydocs-setup — Re-run project setup
|
|
222
|
+
/flydocs-update — Update FlyDocs to latest version
|
|
223
|
+
/onboard — Re-run this orientation
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Step 7: Set Onboard Complete
|
|
229
|
+
|
|
230
|
+
Update `.flydocs/config.json` to set `onboardComplete: true`:
|
|
231
|
+
|
|
232
|
+
Read the config, set the field, write it back:
|
|
233
|
+
|
|
234
|
+
```python
|
|
235
|
+
import json
|
|
236
|
+
from pathlib import Path
|
|
237
|
+
|
|
238
|
+
config_path = Path('.flydocs/config.json')
|
|
239
|
+
config = json.loads(config_path.read_text())
|
|
240
|
+
config['onboardComplete'] = True
|
|
241
|
+
config_path.write_text(json.dumps(config, indent=2) + '\n')
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Step 8: Next Steps
|
|
247
|
+
|
|
248
|
+
End with a clear call to action:
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
You're all set! To start working:
|
|
252
|
+
1. Run /start-session to begin your first work session
|
|
253
|
+
2. Run /activate to pick an issue from the backlog
|
|
254
|
+
3. Or run /capture to log something new
|
|
255
|
+
|
|
256
|
+
Need help anytime? Run /status for a quick overview.
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Key Rules
|
|
262
|
+
|
|
263
|
+
1. **This is developer onboarding, not FlyDocs setup.** Focus on orienting the
|
|
264
|
+
developer to the codebase and active work. Don't reconfigure anything.
|
|
265
|
+
2. **Keep it concise.** Present summaries, not raw file contents. A developer
|
|
266
|
+
should be oriented in under 2 minutes of reading.
|
|
267
|
+
3. **Gracefully handle missing data.** If project.md is empty, topology isn't
|
|
268
|
+
configured, or there are no issues — note it and move on. Don't block.
|
|
269
|
+
4. **Script paths** use the consolidated pattern:
|
|
270
|
+
`python3 .claude/skills/flydocs-workflow/scripts/<dispatcher>.py <subcommand>`
|
|
271
|
+
5. **Both tiers supported.** Cloud tier has richer data (milestones, assignees,
|
|
272
|
+
projects). Local tier shows what's available. Never call cloud-only scripts
|
|
273
|
+
on local tier.
|
|
274
|
+
|
|
275
|
+
$ARGUMENTS
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Post a project health update (onTrack, atRisk, offTrack).
|
|
4
4
|
|
|
5
|
-
Use `
|
|
5
|
+
Use `session.py project-update` from `.claude/skills/flydocs-workflow/scripts/` (cloud only).
|
|
6
6
|
For local tier: append update to `flydocs/context/project.md` Active Priorities section.
|
|
7
7
|
|
|
8
8
|
Triggers: "project update", "health update", "post update"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Triage a raw capture or refine an existing issue's spec, priority, and estimate.
|
|
4
4
|
|
|
5
5
|
Read `.claude/skills/flydocs-workflow/stages/refine.md` and follow the procedure.
|
|
6
|
-
Read
|
|
6
|
+
Read `.claude/skills/flydocs-workflow/SKILL.md` for script calling conventions.
|
|
7
7
|
|
|
8
8
|
Triggers: "refine this", "triage", "flesh out", "add details to"
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Code review — verify acceptance criteria, code quality, and test coverage.
|
|
4
4
|
|
|
5
5
|
Read `.claude/skills/flydocs-workflow/stages/review.md` and follow the procedure.
|
|
6
|
-
Read
|
|
6
|
+
Read `.claude/skills/flydocs-workflow/SKILL.md` for script calling conventions.
|
|
7
7
|
|
|
8
8
|
Triggers: "review", "code review", "check this"
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Begin a work session — check active work, stale issues, and present a status dashboard.
|
|
4
4
|
|
|
5
5
|
Read `.claude/skills/flydocs-workflow/session.md` and follow the session start procedure.
|
|
6
|
-
Read
|
|
6
|
+
Read `.claude/skills/flydocs-workflow/SKILL.md` for script calling conventions.
|
|
7
7
|
|
|
8
8
|
Triggers: "start session", "what's going on", "pick up where I left off"
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Quick status dashboard — issue counts by status for active projects.
|
|
4
4
|
|
|
5
5
|
Read `.claude/skills/flydocs-workflow/session.md` for dashboard format.
|
|
6
|
-
Use `
|
|
6
|
+
Use `issues.py list --active` from `.claude/skills/flydocs-workflow/scripts/` and group results by status.
|
|
7
7
|
|
|
8
8
|
Triggers: "status", "where are we", "what's the status"
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Present the implementation for user acceptance testing.
|
|
4
4
|
|
|
5
5
|
Read `.claude/skills/flydocs-workflow/stages/validate.md` and follow the procedure.
|
|
6
|
-
Read
|
|
6
|
+
Read `.claude/skills/flydocs-workflow/SKILL.md` for script calling conventions.
|
|
7
7
|
|
|
8
8
|
Triggers: "validate", "test this", "QA", "looks good", "approve"
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
End a work session — summarize progress, update issues, post project health update.
|
|
4
4
|
|
|
5
5
|
Read `.claude/skills/flydocs-workflow/session.md` and follow the session wrap procedure.
|
|
6
|
-
Read
|
|
6
|
+
Read `.claude/skills/flydocs-workflow/SKILL.md` for script calling conventions.
|
|
7
7
|
|
|
8
8
|
Triggers: "wrap up", "end session", "that's it for today", "let's wrap"
|
|
9
9
|
|