@flydocs/cli 0.6.0-alpha.3 → 0.6.0-alpha.31
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 +2053 -469
- package/package.json +1 -1
- package/template/.claude/CLAUDE.md +43 -48
- 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 +359 -72
- package/template/.claude/commands/flydocs-upgrade.md +26 -27
- 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 +212 -0
- package/template/.claude/hooks/post-pr-check.py +108 -0
- package/template/.claude/hooks/post-transition-check.py +281 -0
- package/template/.claude/hooks/prompt-submit.py +554 -0
- package/template/.claude/hooks/session-start.py +262 -0
- package/template/.claude/hooks/stop-gate.py +162 -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 +260 -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 +724 -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 +738 -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/test_enforcement.py +225 -0
- package/template/.claude/skills/flydocs-workflow/scripts/workspace.py +902 -0
- package/template/.claude/skills/flydocs-workflow/session.md +87 -29
- 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/bug.md +17 -153
- package/template/.flydocs/templates/chore.md +10 -98
- package/template/.flydocs/templates/feature.md +12 -158
- package/template/.flydocs/templates/idea.md +11 -111
- package/template/.flydocs/templates/quick-capture.md +4 -8
- package/template/.flydocs/version +1 -1
- package/template/AGENTS.md +44 -32
- package/template/CHANGELOG.md +37 -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 -113
- 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 -66
- 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_providers.py +0 -19
- 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_provider.py +0 -46
- 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 → .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"
|
|
@@ -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,7 +100,7 @@ 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
|
-
tier, stores the API key, and
|
|
103
|
+
tier, stores the API key, and configures the workflow skill for cloud access.
|
|
104
104
|
|
|
105
105
|
**Step 1: Get API key.**
|
|
106
106
|
|
|
@@ -124,21 +124,20 @@ Wait for the user to confirm the key is set before proceeding.
|
|
|
124
124
|
Read `.flydocs/config.json`, update `tier` to `"cloud"`, and write it back.
|
|
125
125
|
Preserve all existing config values (detected stack, skills, etc.).
|
|
126
126
|
|
|
127
|
-
**Step 3:
|
|
127
|
+
**Step 3: Complete tier configuration.**
|
|
128
128
|
|
|
129
129
|
Instruct the user to run `flydocs connect --here` from their terminal if
|
|
130
|
-
they haven't already. This handles the
|
|
131
|
-
|
|
130
|
+
they haven't already. This handles the tier configuration update and
|
|
131
|
+
connects to the relay API.
|
|
132
132
|
|
|
133
133
|
**Step 4: Verify connection.**
|
|
134
134
|
|
|
135
|
-
After the user confirms the
|
|
135
|
+
After the user confirms the connection, verify:
|
|
136
136
|
|
|
137
137
|
1. Read `.flydocs/config.json` — `tier` should now be `cloud`
|
|
138
|
-
2.
|
|
139
|
-
3. Run a test command to verify the connection:
|
|
138
|
+
2. Run a test command to verify the connection:
|
|
140
139
|
```bash
|
|
141
|
-
python3 .claude/skills/flydocs-
|
|
140
|
+
python3 .claude/skills/flydocs-workflow/scripts/issues.py list --limit 1
|
|
142
141
|
```
|
|
143
142
|
|
|
144
143
|
If any check fails, help the user troubleshoot before proceeding.
|
|
@@ -147,11 +146,11 @@ If any check fails, help the user troubleshoot before proceeding.
|
|
|
147
146
|
|
|
148
147
|
## Phase 2: Issue Migration
|
|
149
148
|
|
|
150
|
-
Migrate local issues to the cloud provider. After `flydocs connect`
|
|
151
|
-
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.
|
|
152
151
|
|
|
153
|
-
**IMPORTANT:**
|
|
154
|
-
|
|
152
|
+
**IMPORTANT:** For migration, read the local issue markdown files directly
|
|
153
|
+
from `flydocs/issues/` rather than using dispatcher scripts.
|
|
155
154
|
|
|
156
155
|
**Step 1: Read local issue files.**
|
|
157
156
|
|
|
@@ -174,14 +173,14 @@ For each issue file in `flydocs/issues/{status}/*.md`, parse:
|
|
|
174
173
|
|
|
175
174
|
**Step 2: Create issues in cloud.**
|
|
176
175
|
|
|
177
|
-
For each local issue, create it in the cloud provider. Read the
|
|
178
|
-
|
|
176
|
+
For each local issue, create it in the cloud provider. Read the workflow
|
|
177
|
+
skill's `SKILL.md` first for exact calling conventions.
|
|
179
178
|
|
|
180
179
|
For issues with long descriptions, write the description body to a temp file
|
|
181
180
|
and use `--description-file`:
|
|
182
181
|
|
|
183
182
|
```bash
|
|
184
|
-
python3 .claude/skills/flydocs-
|
|
183
|
+
python3 .claude/skills/flydocs-workflow/scripts/issues.py create \
|
|
185
184
|
--title "Issue title" \
|
|
186
185
|
--type feature \
|
|
187
186
|
--priority 3 \
|
|
@@ -204,11 +203,11 @@ Migrated from local tier on YYYY-MM-DD.
|
|
|
204
203
|
|
|
205
204
|
**Step 3: Transition non-backlog issues.**
|
|
206
205
|
|
|
207
|
-
Issues created via `
|
|
206
|
+
Issues created via `issues.py create` start in BACKLOG status. For issues
|
|
208
207
|
that were in other statuses locally, transition them to match:
|
|
209
208
|
|
|
210
209
|
```bash
|
|
211
|
-
python3 .claude/skills/flydocs-
|
|
210
|
+
python3 .claude/skills/flydocs-workflow/scripts/issues.py transition \
|
|
212
211
|
<new-issue-ref> <TARGET_STATUS> \
|
|
213
212
|
--comment "Migrated from local tier — original status was [status]"
|
|
214
213
|
```
|
|
@@ -247,7 +246,7 @@ After migration, handle the local issue files. Present three options
|
|
|
247
246
|
(same pattern as the uninstall command):
|
|
248
247
|
|
|
249
248
|
```
|
|
250
|
-
All [N] issues have been migrated to
|
|
249
|
+
All [N] issues have been migrated to your cloud provider.
|
|
251
250
|
|
|
252
251
|
What would you like to do with the local issue files?
|
|
253
252
|
|
|
@@ -255,7 +254,7 @@ What would you like to do with the local issue files?
|
|
|
255
254
|
(keeps files as read-only reference)
|
|
256
255
|
|
|
257
256
|
2. Delete — Remove flydocs/issues/ and .flydocs/issues.counter
|
|
258
|
-
(clean slate, issues live in
|
|
257
|
+
(clean slate, issues live in your cloud provider now)
|
|
259
258
|
|
|
260
259
|
3. Keep — Leave files as-is
|
|
261
260
|
(local files remain alongside cloud issues)
|
|
@@ -293,7 +292,7 @@ ID Mapping:
|
|
|
293
292
|
```
|
|
294
293
|
Next steps:
|
|
295
294
|
1. Run /flydocs-setup to configure milestones and labels
|
|
296
|
-
2. Review migrated issues in
|
|
295
|
+
2. Review migrated issues in your cloud provider
|
|
297
296
|
3. Start working with /start-session
|
|
298
297
|
```
|
|
299
298
|
|
|
@@ -302,7 +301,7 @@ Next steps:
|
|
|
302
301
|
Offer to commit the configuration changes:
|
|
303
302
|
|
|
304
303
|
```
|
|
305
|
-
The tier change and
|
|
304
|
+
The tier change and configuration update modified several files.
|
|
306
305
|
Want to commit these changes?
|
|
307
306
|
```
|
|
308
307
|
|
|
@@ -329,11 +328,11 @@ Stage: `.flydocs/config.json`, `.claude/skills/`, `.claude/CLAUDE.md`,
|
|
|
329
328
|
|
|
330
329
|
## Key Rules
|
|
331
330
|
|
|
332
|
-
1. **Always read the
|
|
331
|
+
1. **Always read the workflow skill's `SKILL.md`** before running
|
|
333
332
|
scripts in Phase 2. Calling conventions may have changed.
|
|
334
333
|
2. **Never delete local files without explicit user consent** in Phase 3.
|
|
335
|
-
3. **
|
|
336
|
-
|
|
334
|
+
3. **For migration, read issue files directly.** Do not use dispatcher
|
|
335
|
+
scripts to read local tier issue files during migration.
|
|
337
336
|
4. **Status transitions must follow the workflow.** Read the status workflow
|
|
338
337
|
reference for valid transition paths.
|
|
339
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
|
|