@flydocs/cli 0.6.0-alpha.2 → 0.6.0-alpha.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/cli.js +678 -392
  2. package/package.json +1 -1
  3. package/template/.claude/CLAUDE.md +62 -63
  4. package/template/.claude/agents/implementation-agent.md +1 -1
  5. package/template/.claude/agents/pm-agent.md +1 -1
  6. package/template/.claude/commands/activate.md +1 -1
  7. package/template/.claude/commands/attach.md +1 -1
  8. package/template/.claude/commands/block.md +2 -2
  9. package/template/.claude/commands/capture.md +1 -1
  10. package/template/.claude/commands/close.md +1 -1
  11. package/template/.claude/commands/flydocs-setup.md +387 -74
  12. package/template/.claude/commands/flydocs-upgrade.md +48 -37
  13. package/template/.claude/commands/implement.md +1 -1
  14. package/template/.claude/commands/knowledge.md +61 -0
  15. package/template/.claude/commands/new-project.md +1 -1
  16. package/template/.claude/commands/onboard.md +275 -0
  17. package/template/.claude/commands/project-update.md +1 -1
  18. package/template/.claude/commands/refine.md +1 -1
  19. package/template/.claude/commands/review.md +1 -1
  20. package/template/.claude/commands/start-session.md +1 -1
  21. package/template/.claude/commands/status.md +1 -1
  22. package/template/.claude/commands/validate.md +1 -1
  23. package/template/.claude/commands/wrap-session.md +1 -1
  24. package/template/.claude/hooks/auto-approve.py +132 -0
  25. package/template/.claude/hooks/post-pr-check.py +108 -0
  26. package/template/.claude/hooks/post-transition-check.py +94 -0
  27. package/template/.claude/hooks/prompt-submit.py +513 -0
  28. package/template/.claude/hooks/session-start.py +146 -0
  29. package/template/.claude/hooks/stop-gate.py +109 -0
  30. package/template/.claude/settings.json +41 -4
  31. package/template/.claude/skills/README.md +23 -25
  32. package/template/.claude/skills/flydocs-workflow/SKILL.md +134 -42
  33. package/template/.claude/skills/flydocs-workflow/cursor-rule.mdc +9 -8
  34. package/template/.claude/skills/flydocs-workflow/reference/comment-templates.md +1 -0
  35. package/template/.claude/skills/flydocs-workflow/reference/golden-rules.md +28 -17
  36. package/template/.claude/skills/flydocs-workflow/reference/graph-schema.md +116 -0
  37. package/template/.claude/skills/flydocs-workflow/reference/pr-workflow.md +120 -0
  38. package/template/.claude/skills/flydocs-workflow/reference/priority-estimates.md +37 -15
  39. package/template/.claude/skills/flydocs-workflow/reference/service-descriptor-schema.md +251 -0
  40. package/template/.claude/skills/flydocs-workflow/reference/status-workflow.md +26 -26
  41. package/template/.claude/skills/flydocs-workflow/scripts/_local/__init__.py +0 -0
  42. package/template/.claude/skills/{flydocs-local/scripts/flydocs_api.py → flydocs-workflow/scripts/_local/file_store.py} +137 -47
  43. package/template/.claude/skills/flydocs-workflow/scripts/flydocs_api.py +693 -0
  44. package/template/{.flydocs → .claude/skills/flydocs-workflow}/scripts/generate_manifest.py +4 -4
  45. package/template/.claude/skills/{flydocs-context-graph → flydocs-workflow}/scripts/graph_build.py +132 -1
  46. package/template/.claude/skills/{flydocs-context-graph → flydocs-workflow}/scripts/graph_query.py +18 -5
  47. package/template/.claude/skills/{flydocs-context-graph → flydocs-workflow}/scripts/graph_session.py +1 -10
  48. package/template/.claude/skills/{flydocs-context-graph → flydocs-workflow}/scripts/graph_update.py +4 -4
  49. package/template/.claude/skills/{flydocs-context-graph → flydocs-workflow}/scripts/graph_utils.py +2 -1
  50. package/template/.claude/skills/flydocs-workflow/scripts/issues.py +489 -0
  51. package/template/.claude/skills/flydocs-workflow/scripts/projects.py +144 -0
  52. package/template/.claude/skills/flydocs-workflow/scripts/pull_services.py +128 -0
  53. package/template/.claude/skills/flydocs-workflow/scripts/push_service.py +132 -0
  54. package/template/.claude/skills/flydocs-workflow/scripts/session.py +54 -0
  55. package/template/.claude/skills/flydocs-workflow/scripts/workspace.py +860 -0
  56. package/template/.claude/skills/flydocs-workflow/session.md +63 -25
  57. package/template/.claude/skills/flydocs-workflow/stages/activate.md +18 -7
  58. package/template/.claude/skills/flydocs-workflow/stages/capture.md +10 -5
  59. package/template/.claude/skills/flydocs-workflow/stages/close.md +4 -3
  60. package/template/.claude/skills/flydocs-workflow/stages/implement.md +33 -9
  61. package/template/.claude/skills/flydocs-workflow/stages/refine.md +22 -6
  62. package/template/.claude/skills/flydocs-workflow/stages/review.md +16 -4
  63. package/template/.claude/skills/flydocs-workflow/stages/validate.md +3 -1
  64. package/template/.claude/skills/flydocs-workflow/templates/pr/default.md +33 -0
  65. package/template/.cursor/agents/implementation-agent.md +1 -1
  66. package/template/.cursor/agents/pm-agent.md +2 -2
  67. package/template/.cursor/hooks.json +10 -3
  68. package/template/.env.example +6 -6
  69. package/template/.flydocs/config.json +5 -18
  70. package/template/.flydocs/templates/README.md +13 -14
  71. package/template/.flydocs/templates/quick-capture.md +4 -8
  72. package/template/.flydocs/version +1 -1
  73. package/template/AGENTS.md +39 -32
  74. package/template/CHANGELOG.md +39 -0
  75. package/template/flydocs/README.md +1 -3
  76. package/template/flydocs/context/project.md +6 -3
  77. package/template/flydocs/design-system/README.md +3 -3
  78. package/template/flydocs/knowledge/INDEX.md +38 -53
  79. package/template/flydocs/knowledge/README.md +60 -9
  80. package/template/flydocs/knowledge/templates/decision.md +47 -0
  81. package/template/flydocs/knowledge/templates/feature.md +35 -0
  82. package/template/flydocs/knowledge/templates/note.md +25 -0
  83. package/template/manifest.json +24 -20
  84. package/template/.claude/skills/flydocs-cloud/SKILL.md +0 -111
  85. package/template/.claude/skills/flydocs-cloud/cursor-rule.mdc +0 -50
  86. package/template/.claude/skills/flydocs-cloud/scripts/assign.py +0 -22
  87. package/template/.claude/skills/flydocs-cloud/scripts/assign_cycle.py +0 -28
  88. package/template/.claude/skills/flydocs-cloud/scripts/assign_milestone.py +0 -22
  89. package/template/.claude/skills/flydocs-cloud/scripts/comment.py +0 -29
  90. package/template/.claude/skills/flydocs-cloud/scripts/create_issue.py +0 -63
  91. package/template/.claude/skills/flydocs-cloud/scripts/create_milestone.py +0 -35
  92. package/template/.claude/skills/flydocs-cloud/scripts/create_project.py +0 -33
  93. package/template/.claude/skills/flydocs-cloud/scripts/create_team.py +0 -39
  94. package/template/.claude/skills/flydocs-cloud/scripts/estimate.py +0 -29
  95. package/template/.claude/skills/flydocs-cloud/scripts/flydocs_api.py +0 -210
  96. package/template/.claude/skills/flydocs-cloud/scripts/get_issue.py +0 -24
  97. package/template/.claude/skills/flydocs-cloud/scripts/link.py +0 -28
  98. package/template/.claude/skills/flydocs-cloud/scripts/list_cycles.py +0 -28
  99. package/template/.claude/skills/flydocs-cloud/scripts/list_issues.py +0 -44
  100. package/template/.claude/skills/flydocs-cloud/scripts/list_labels.py +0 -19
  101. package/template/.claude/skills/flydocs-cloud/scripts/list_milestones.py +0 -28
  102. package/template/.claude/skills/flydocs-cloud/scripts/list_projects.py +0 -31
  103. package/template/.claude/skills/flydocs-cloud/scripts/list_teams.py +0 -19
  104. package/template/.claude/skills/flydocs-cloud/scripts/priority.py +0 -29
  105. package/template/.claude/skills/flydocs-cloud/scripts/project_update.py +0 -45
  106. package/template/.claude/skills/flydocs-cloud/scripts/set_labels.py +0 -68
  107. package/template/.claude/skills/flydocs-cloud/scripts/set_team.py +0 -41
  108. package/template/.claude/skills/flydocs-cloud/scripts/transition.py +0 -26
  109. package/template/.claude/skills/flydocs-cloud/scripts/update_description.py +0 -36
  110. package/template/.claude/skills/flydocs-cloud/scripts/update_issue.py +0 -82
  111. package/template/.claude/skills/flydocs-context-graph/SKILL.md +0 -87
  112. package/template/.claude/skills/flydocs-context-graph/schema.md +0 -78
  113. package/template/.claude/skills/flydocs-context-graph/scripts/graph_context.py +0 -338
  114. package/template/.claude/skills/flydocs-context7/SKILL.md +0 -105
  115. package/template/.claude/skills/flydocs-context7/cursor-rule.mdc +0 -49
  116. package/template/.claude/skills/flydocs-context7/scripts/context7.py +0 -293
  117. package/template/.claude/skills/flydocs-estimates/SKILL.md +0 -384
  118. package/template/.claude/skills/flydocs-figma/SKILL.md +0 -377
  119. package/template/.claude/skills/flydocs-figma/references/PROMPTING.md +0 -108
  120. package/template/.claude/skills/flydocs-figma/references/TROUBLESHOOTING.md +0 -112
  121. package/template/.claude/skills/flydocs-local/SKILL.md +0 -103
  122. package/template/.claude/skills/flydocs-local/cursor-rule.mdc +0 -43
  123. package/template/.claude/skills/flydocs-local/scripts/assign.py +0 -20
  124. package/template/.claude/skills/flydocs-local/scripts/comment.py +0 -27
  125. package/template/.claude/skills/flydocs-local/scripts/create_issue.py +0 -44
  126. package/template/.claude/skills/flydocs-local/scripts/estimate.py +0 -37
  127. package/template/.claude/skills/flydocs-local/scripts/get_issue.py +0 -20
  128. package/template/.claude/skills/flydocs-local/scripts/link.py +0 -41
  129. package/template/.claude/skills/flydocs-local/scripts/list_issues.py +0 -34
  130. package/template/.claude/skills/flydocs-local/scripts/priority.py +0 -37
  131. package/template/.claude/skills/flydocs-local/scripts/project_update.py +0 -67
  132. package/template/.claude/skills/flydocs-local/scripts/status_summary.py +0 -16
  133. package/template/.claude/skills/flydocs-local/scripts/transition.py +0 -24
  134. package/template/.claude/skills/flydocs-local/scripts/update_description.py +0 -35
  135. package/template/.claude/skills/flydocs-local/scripts/update_issue.py +0 -84
  136. package/template/.flydocs/hooks/auto-approve.py +0 -71
  137. package/template/.flydocs/hooks/prompt-submit.py +0 -277
  138. package/template/.flydocs/scripts/skill_manager.py +0 -541
  139. package/template/.flydocs/templates/bug.md +0 -166
  140. package/template/.flydocs/templates/chore.md +0 -110
  141. package/template/.flydocs/templates/feature.md +0 -173
  142. package/template/.flydocs/templates/idea.md +0 -122
  143. /package/template/{.flydocs → .claude}/hooks/post-edit.py +0 -0
  144. /package/template/.claude/skills/{flydocs-estimates/references → flydocs-workflow/reference}/provider-costs.md +0 -0
  145. /package/template/.claude/skills/flydocs-workflow/templates/{bug.md → issues/bug.md} +0 -0
  146. /package/template/.claude/skills/flydocs-workflow/templates/{chore.md → issues/chore.md} +0 -0
  147. /package/template/.claude/skills/flydocs-workflow/templates/{feature.md → issues/feature.md} +0 -0
  148. /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 active mechanism skill's `SKILL.md` for script calling conventions
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 `FLYDOCS_RELAY_API_KEY` is set in the environment (from `.env` or
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 (Linear) via flydocs connect
88
- 2. Create [N] issues in Linear with matching status
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
- mechanism skill from `flydocs-local` to `flydocs-cloud`.
103
+ tier, stores the API key, and configures the workflow skill for cloud access.
104
104
 
105
- **Step 1: Run flydocs connect.**
105
+ **Step 1: Get API key.**
106
106
 
107
- Instruct the user to run `flydocs connect --here` from their terminal
108
- (this is a CLI command, not an AI command). Explain what it does:
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
- Run this in your terminal:
112
- flydocs connect --here
113
-
114
- This will:
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
- **Step 2: Wait for completion.**
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 they ran `flydocs connect`, verify:
135
+ After the user confirms the connection, verify:
124
136
 
125
137
  1. Read `.flydocs/config.json` — `tier` should now be `cloud`
126
- 2. Check that `.claude/skills/flydocs-cloud/scripts/` exists
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-cloud/scripts/list_issues.py --limit 1
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` swaps
139
- the mechanism skill, the local scripts are gone read issue files directly.
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:** The local mechanism scripts are no longer available after
142
- Phase 1. Read the markdown files directly from `flydocs/issues/`.
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 cloud
166
- mechanism skill's `SKILL.md` first for exact calling conventions.
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-cloud/scripts/create_issue.py \
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 `create_issue.py` start in BACKLOG status. For issues
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-cloud/scripts/transition.py \
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 Linear.
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 Linear now)
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 Linear
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 skill swap modified several files.
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 cloud mechanism skill's `SKILL.md`** before running
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. **After `flydocs connect`, local scripts are gone.** Read issue files
324
- directly do not attempt to call `flydocs-local` scripts.
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 the active mechanism skill's `SKILL.md` for script calling conventions.
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 `create_project.py` from the active mechanism skill (cloud only).
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 `project_update.py` from the active mechanism skill (cloud only).
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 the active mechanism skill's `SKILL.md` for script calling conventions.
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 the active mechanism skill's `SKILL.md` for script calling conventions.
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 the active mechanism skill's `SKILL.md` for script calling conventions.
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 `list_issues.py --active` from the active mechanism skill and group results by status.
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 the active mechanism skill's `SKILL.md` for script calling conventions.
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 the active mechanism skill's `SKILL.md` for script calling conventions.
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