@flydocs/cli 0.6.0-alpha.3 → 0.6.0-alpha.30

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 (151) hide show
  1. package/dist/cli.js +2054 -470
  2. package/package.json +1 -1
  3. package/template/.claude/CLAUDE.md +43 -48
  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 +359 -72
  12. package/template/.claude/commands/flydocs-upgrade.md +26 -27
  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 +212 -0
  25. package/template/.claude/hooks/post-pr-check.py +108 -0
  26. package/template/.claude/hooks/post-transition-check.py +281 -0
  27. package/template/.claude/hooks/prompt-submit.py +554 -0
  28. package/template/.claude/hooks/session-start.py +262 -0
  29. package/template/.claude/hooks/stop-gate.py +162 -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 +260 -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 +724 -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 +738 -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/test_enforcement.py +225 -0
  56. package/template/.claude/skills/flydocs-workflow/scripts/workspace.py +902 -0
  57. package/template/.claude/skills/flydocs-workflow/session.md +87 -29
  58. package/template/.claude/skills/flydocs-workflow/stages/activate.md +18 -7
  59. package/template/.claude/skills/flydocs-workflow/stages/capture.md +10 -5
  60. package/template/.claude/skills/flydocs-workflow/stages/close.md +4 -3
  61. package/template/.claude/skills/flydocs-workflow/stages/implement.md +33 -9
  62. package/template/.claude/skills/flydocs-workflow/stages/refine.md +22 -6
  63. package/template/.claude/skills/flydocs-workflow/stages/review.md +16 -4
  64. package/template/.claude/skills/flydocs-workflow/stages/validate.md +3 -1
  65. package/template/.claude/skills/flydocs-workflow/templates/pr/default.md +33 -0
  66. package/template/.cursor/agents/implementation-agent.md +1 -1
  67. package/template/.cursor/agents/pm-agent.md +2 -2
  68. package/template/.cursor/hooks.json +10 -3
  69. package/template/.env.example +6 -6
  70. package/template/.flydocs/config.json +5 -18
  71. package/template/.flydocs/templates/README.md +13 -14
  72. package/template/.flydocs/templates/bug.md +17 -153
  73. package/template/.flydocs/templates/chore.md +10 -98
  74. package/template/.flydocs/templates/feature.md +12 -158
  75. package/template/.flydocs/templates/idea.md +11 -111
  76. package/template/.flydocs/templates/quick-capture.md +4 -8
  77. package/template/.flydocs/version +1 -1
  78. package/template/AGENTS.md +44 -32
  79. package/template/CHANGELOG.md +37 -0
  80. package/template/flydocs/README.md +1 -3
  81. package/template/flydocs/context/project.md +6 -3
  82. package/template/flydocs/design-system/README.md +3 -3
  83. package/template/flydocs/knowledge/INDEX.md +38 -53
  84. package/template/flydocs/knowledge/README.md +60 -9
  85. package/template/flydocs/knowledge/templates/decision.md +47 -0
  86. package/template/flydocs/knowledge/templates/feature.md +35 -0
  87. package/template/flydocs/knowledge/templates/note.md +25 -0
  88. package/template/manifest.json +24 -20
  89. package/template/.claude/skills/flydocs-cloud/SKILL.md +0 -113
  90. package/template/.claude/skills/flydocs-cloud/cursor-rule.mdc +0 -50
  91. package/template/.claude/skills/flydocs-cloud/scripts/assign.py +0 -22
  92. package/template/.claude/skills/flydocs-cloud/scripts/assign_cycle.py +0 -28
  93. package/template/.claude/skills/flydocs-cloud/scripts/assign_milestone.py +0 -22
  94. package/template/.claude/skills/flydocs-cloud/scripts/comment.py +0 -29
  95. package/template/.claude/skills/flydocs-cloud/scripts/create_issue.py +0 -66
  96. package/template/.claude/skills/flydocs-cloud/scripts/create_milestone.py +0 -35
  97. package/template/.claude/skills/flydocs-cloud/scripts/create_project.py +0 -33
  98. package/template/.claude/skills/flydocs-cloud/scripts/create_team.py +0 -39
  99. package/template/.claude/skills/flydocs-cloud/scripts/estimate.py +0 -29
  100. package/template/.claude/skills/flydocs-cloud/scripts/flydocs_api.py +0 -210
  101. package/template/.claude/skills/flydocs-cloud/scripts/get_issue.py +0 -24
  102. package/template/.claude/skills/flydocs-cloud/scripts/link.py +0 -28
  103. package/template/.claude/skills/flydocs-cloud/scripts/list_cycles.py +0 -28
  104. package/template/.claude/skills/flydocs-cloud/scripts/list_issues.py +0 -44
  105. package/template/.claude/skills/flydocs-cloud/scripts/list_labels.py +0 -19
  106. package/template/.claude/skills/flydocs-cloud/scripts/list_milestones.py +0 -28
  107. package/template/.claude/skills/flydocs-cloud/scripts/list_projects.py +0 -31
  108. package/template/.claude/skills/flydocs-cloud/scripts/list_providers.py +0 -19
  109. package/template/.claude/skills/flydocs-cloud/scripts/list_teams.py +0 -19
  110. package/template/.claude/skills/flydocs-cloud/scripts/priority.py +0 -29
  111. package/template/.claude/skills/flydocs-cloud/scripts/project_update.py +0 -45
  112. package/template/.claude/skills/flydocs-cloud/scripts/set_labels.py +0 -68
  113. package/template/.claude/skills/flydocs-cloud/scripts/set_provider.py +0 -46
  114. package/template/.claude/skills/flydocs-cloud/scripts/set_team.py +0 -41
  115. package/template/.claude/skills/flydocs-cloud/scripts/transition.py +0 -26
  116. package/template/.claude/skills/flydocs-cloud/scripts/update_description.py +0 -36
  117. package/template/.claude/skills/flydocs-cloud/scripts/update_issue.py +0 -82
  118. package/template/.claude/skills/flydocs-context-graph/SKILL.md +0 -87
  119. package/template/.claude/skills/flydocs-context-graph/schema.md +0 -78
  120. package/template/.claude/skills/flydocs-context-graph/scripts/graph_context.py +0 -338
  121. package/template/.claude/skills/flydocs-context7/SKILL.md +0 -105
  122. package/template/.claude/skills/flydocs-context7/cursor-rule.mdc +0 -49
  123. package/template/.claude/skills/flydocs-context7/scripts/context7.py +0 -293
  124. package/template/.claude/skills/flydocs-estimates/SKILL.md +0 -384
  125. package/template/.claude/skills/flydocs-figma/SKILL.md +0 -377
  126. package/template/.claude/skills/flydocs-figma/references/PROMPTING.md +0 -108
  127. package/template/.claude/skills/flydocs-figma/references/TROUBLESHOOTING.md +0 -112
  128. package/template/.claude/skills/flydocs-local/SKILL.md +0 -103
  129. package/template/.claude/skills/flydocs-local/cursor-rule.mdc +0 -43
  130. package/template/.claude/skills/flydocs-local/scripts/assign.py +0 -20
  131. package/template/.claude/skills/flydocs-local/scripts/comment.py +0 -27
  132. package/template/.claude/skills/flydocs-local/scripts/create_issue.py +0 -44
  133. package/template/.claude/skills/flydocs-local/scripts/estimate.py +0 -37
  134. package/template/.claude/skills/flydocs-local/scripts/get_issue.py +0 -20
  135. package/template/.claude/skills/flydocs-local/scripts/link.py +0 -41
  136. package/template/.claude/skills/flydocs-local/scripts/list_issues.py +0 -34
  137. package/template/.claude/skills/flydocs-local/scripts/priority.py +0 -37
  138. package/template/.claude/skills/flydocs-local/scripts/project_update.py +0 -67
  139. package/template/.claude/skills/flydocs-local/scripts/status_summary.py +0 -16
  140. package/template/.claude/skills/flydocs-local/scripts/transition.py +0 -24
  141. package/template/.claude/skills/flydocs-local/scripts/update_description.py +0 -35
  142. package/template/.claude/skills/flydocs-local/scripts/update_issue.py +0 -84
  143. package/template/.flydocs/hooks/auto-approve.py +0 -71
  144. package/template/.flydocs/hooks/prompt-submit.py +0 -277
  145. package/template/.flydocs/scripts/skill_manager.py +0 -541
  146. /package/template/{.flydocs → .claude}/hooks/post-edit.py +0 -0
  147. /package/template/.claude/skills/{flydocs-estimates/references → flydocs-workflow/reference}/provider-costs.md +0 -0
  148. /package/template/.claude/skills/flydocs-workflow/templates/{bug.md → issues/bug.md} +0 -0
  149. /package/template/.claude/skills/flydocs-workflow/templates/{chore.md → issues/chore.md} +0 -0
  150. /package/template/.claude/skills/flydocs-workflow/templates/{feature.md → issues/feature.md} +0 -0
  151. /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"
@@ -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,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 prepares the cloud mechanism skill.
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: Swap mechanism skill.**
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 mechanism skill swap (installs
131
- `flydocs-cloud`, removes `flydocs-local`).
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 swap, verify:
135
+ After the user confirms the connection, verify:
136
136
 
137
137
  1. Read `.flydocs/config.json` — `tier` should now be `cloud`
138
- 2. Check that `.claude/skills/flydocs-cloud/scripts/` exists
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-cloud/scripts/list_issues.py --limit 1
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` swaps
151
- 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.
152
151
 
153
- **IMPORTANT:** The local mechanism scripts are no longer available after
154
- 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.
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 cloud
178
- 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.
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-cloud/scripts/create_issue.py \
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 `create_issue.py` start in BACKLOG status. For issues
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-cloud/scripts/transition.py \
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 Linear.
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 Linear now)
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 Linear
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 skill swap modified several files.
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 cloud mechanism skill's `SKILL.md`** before running
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. **After `flydocs connect`, local scripts are gone.** Read issue files
336
- 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.
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 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