orbital-command 0.1.0

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 (325) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +396 -0
  3. package/bin/orbital.js +362 -0
  4. package/dist/assets/WorkflowVisualizer-BZ21PIIF.js +84 -0
  5. package/dist/assets/WorkflowVisualizer-BZV40eAE.css +1 -0
  6. package/dist/assets/charts-D__PA1zp.js +72 -0
  7. package/dist/assets/index-D1G6i0nS.css +1 -0
  8. package/dist/assets/index-DpItvKpf.js +419 -0
  9. package/dist/assets/ui-BvF022GT.js +53 -0
  10. package/dist/assets/vendor-Dzv9lrRc.js +59 -0
  11. package/dist/index.html +19 -0
  12. package/dist/scanner-sweep.png +0 -0
  13. package/dist/server/server/adapters/index.js +34 -0
  14. package/dist/server/server/adapters/iterm2-adapter.js +29 -0
  15. package/dist/server/server/adapters/subprocess-adapter.js +21 -0
  16. package/dist/server/server/adapters/terminal-adapter.js +1 -0
  17. package/dist/server/server/config.js +156 -0
  18. package/dist/server/server/database.js +90 -0
  19. package/dist/server/server/index.js +372 -0
  20. package/dist/server/server/init.js +811 -0
  21. package/dist/server/server/parsers/event-parser.js +64 -0
  22. package/dist/server/server/parsers/scope-parser.js +188 -0
  23. package/dist/server/server/routes/config-routes.js +163 -0
  24. package/dist/server/server/routes/data-routes.js +461 -0
  25. package/dist/server/server/routes/dispatch-routes.js +215 -0
  26. package/dist/server/server/routes/git-routes.js +92 -0
  27. package/dist/server/server/routes/scope-routes.js +215 -0
  28. package/dist/server/server/routes/sprint-routes.js +116 -0
  29. package/dist/server/server/routes/version-routes.js +130 -0
  30. package/dist/server/server/routes/workflow-routes.js +185 -0
  31. package/dist/server/server/schema.js +90 -0
  32. package/dist/server/server/services/batch-orchestrator.js +253 -0
  33. package/dist/server/server/services/claude-session-service.js +352 -0
  34. package/dist/server/server/services/config-service.js +132 -0
  35. package/dist/server/server/services/deploy-service.js +51 -0
  36. package/dist/server/server/services/event-service.js +63 -0
  37. package/dist/server/server/services/gate-service.js +83 -0
  38. package/dist/server/server/services/git-service.js +309 -0
  39. package/dist/server/server/services/github-service.js +145 -0
  40. package/dist/server/server/services/readiness-service.js +184 -0
  41. package/dist/server/server/services/scope-cache.js +72 -0
  42. package/dist/server/server/services/scope-service.js +424 -0
  43. package/dist/server/server/services/sprint-orchestrator.js +312 -0
  44. package/dist/server/server/services/sprint-service.js +293 -0
  45. package/dist/server/server/services/workflow-service.js +397 -0
  46. package/dist/server/server/utils/cc-hooks-parser.js +49 -0
  47. package/dist/server/server/utils/dispatch-utils.js +305 -0
  48. package/dist/server/server/utils/logger.js +86 -0
  49. package/dist/server/server/utils/terminal-launcher.js +388 -0
  50. package/dist/server/server/utils/worktree-manager.js +98 -0
  51. package/dist/server/server/watchers/event-watcher.js +81 -0
  52. package/dist/server/server/watchers/scope-watcher.js +33 -0
  53. package/dist/server/shared/api-types.js +5 -0
  54. package/dist/server/shared/default-workflow.json +616 -0
  55. package/dist/server/shared/workflow-config.js +44 -0
  56. package/dist/server/shared/workflow-engine.js +353 -0
  57. package/index.html +15 -0
  58. package/package.json +110 -0
  59. package/postcss.config.js +6 -0
  60. package/schemas/orbital.config.schema.json +83 -0
  61. package/scripts/postinstall.js +24 -0
  62. package/scripts/start.sh +20 -0
  63. package/server/adapters/index.ts +41 -0
  64. package/server/adapters/iterm2-adapter.ts +37 -0
  65. package/server/adapters/subprocess-adapter.ts +25 -0
  66. package/server/adapters/terminal-adapter.ts +24 -0
  67. package/server/config.ts +234 -0
  68. package/server/database.ts +107 -0
  69. package/server/index.ts +452 -0
  70. package/server/init.ts +891 -0
  71. package/server/parsers/event-parser.ts +74 -0
  72. package/server/parsers/scope-parser.ts +240 -0
  73. package/server/routes/config-routes.ts +182 -0
  74. package/server/routes/data-routes.ts +548 -0
  75. package/server/routes/dispatch-routes.ts +275 -0
  76. package/server/routes/git-routes.ts +112 -0
  77. package/server/routes/scope-routes.ts +262 -0
  78. package/server/routes/sprint-routes.ts +142 -0
  79. package/server/routes/version-routes.ts +156 -0
  80. package/server/routes/workflow-routes.ts +198 -0
  81. package/server/schema.ts +90 -0
  82. package/server/services/batch-orchestrator.ts +286 -0
  83. package/server/services/claude-session-service.ts +441 -0
  84. package/server/services/config-service.ts +151 -0
  85. package/server/services/deploy-service.ts +98 -0
  86. package/server/services/event-service.ts +98 -0
  87. package/server/services/gate-service.ts +126 -0
  88. package/server/services/git-service.ts +391 -0
  89. package/server/services/github-service.ts +183 -0
  90. package/server/services/readiness-service.ts +250 -0
  91. package/server/services/scope-cache.ts +81 -0
  92. package/server/services/scope-service.ts +476 -0
  93. package/server/services/sprint-orchestrator.ts +361 -0
  94. package/server/services/sprint-service.ts +415 -0
  95. package/server/services/workflow-service.ts +461 -0
  96. package/server/utils/cc-hooks-parser.ts +70 -0
  97. package/server/utils/dispatch-utils.ts +395 -0
  98. package/server/utils/logger.ts +109 -0
  99. package/server/utils/terminal-launcher.ts +462 -0
  100. package/server/utils/worktree-manager.ts +104 -0
  101. package/server/watchers/event-watcher.ts +100 -0
  102. package/server/watchers/scope-watcher.ts +38 -0
  103. package/shared/api-types.ts +20 -0
  104. package/shared/default-workflow.json +616 -0
  105. package/shared/workflow-config.ts +170 -0
  106. package/shared/workflow-engine.ts +427 -0
  107. package/src/App.tsx +33 -0
  108. package/src/components/AgentBadge.tsx +40 -0
  109. package/src/components/BatchPreflightModal.tsx +115 -0
  110. package/src/components/CardDisplayToggle.tsx +74 -0
  111. package/src/components/ColumnHeaderActions.tsx +55 -0
  112. package/src/components/ColumnMenu.tsx +99 -0
  113. package/src/components/DeployHistory.tsx +141 -0
  114. package/src/components/DispatchModal.tsx +164 -0
  115. package/src/components/DispatchPopover.tsx +139 -0
  116. package/src/components/DragOverlay.tsx +25 -0
  117. package/src/components/DriftSidebar.tsx +140 -0
  118. package/src/components/EnvironmentStrip.tsx +88 -0
  119. package/src/components/ErrorBoundary.tsx +62 -0
  120. package/src/components/FilterChip.tsx +105 -0
  121. package/src/components/GateIndicator.tsx +33 -0
  122. package/src/components/IdeaDetailModal.tsx +190 -0
  123. package/src/components/IdeaFormDialog.tsx +113 -0
  124. package/src/components/KanbanColumn.tsx +201 -0
  125. package/src/components/MarkdownRenderer.tsx +114 -0
  126. package/src/components/NeonGrid.tsx +128 -0
  127. package/src/components/PromotionQueue.tsx +89 -0
  128. package/src/components/ScopeCard.tsx +234 -0
  129. package/src/components/ScopeDetailModal.tsx +255 -0
  130. package/src/components/ScopeFilterBar.tsx +152 -0
  131. package/src/components/SearchInput.tsx +102 -0
  132. package/src/components/SessionPanel.tsx +335 -0
  133. package/src/components/SprintContainer.tsx +303 -0
  134. package/src/components/SprintDependencyDialog.tsx +78 -0
  135. package/src/components/SprintPreflightModal.tsx +138 -0
  136. package/src/components/StatusBar.tsx +168 -0
  137. package/src/components/SwimCell.tsx +67 -0
  138. package/src/components/SwimLaneRow.tsx +94 -0
  139. package/src/components/SwimlaneBoardView.tsx +108 -0
  140. package/src/components/VersionBadge.tsx +139 -0
  141. package/src/components/ViewModeSelector.tsx +114 -0
  142. package/src/components/config/AgentChip.tsx +53 -0
  143. package/src/components/config/AgentCreateDialog.tsx +321 -0
  144. package/src/components/config/AgentEditor.tsx +175 -0
  145. package/src/components/config/DirectoryTree.tsx +582 -0
  146. package/src/components/config/FileEditor.tsx +550 -0
  147. package/src/components/config/HookChip.tsx +50 -0
  148. package/src/components/config/StageCard.tsx +198 -0
  149. package/src/components/config/TransitionZone.tsx +173 -0
  150. package/src/components/config/UnifiedWorkflowPipeline.tsx +216 -0
  151. package/src/components/config/WorkflowPipeline.tsx +161 -0
  152. package/src/components/source-control/BranchList.tsx +93 -0
  153. package/src/components/source-control/BranchPanel.tsx +105 -0
  154. package/src/components/source-control/CommitLog.tsx +100 -0
  155. package/src/components/source-control/CommitRow.tsx +47 -0
  156. package/src/components/source-control/GitHubPanel.tsx +110 -0
  157. package/src/components/source-control/GitHubSetupGuide.tsx +52 -0
  158. package/src/components/source-control/GitOverviewBar.tsx +101 -0
  159. package/src/components/source-control/PullRequestList.tsx +69 -0
  160. package/src/components/source-control/WorktreeList.tsx +80 -0
  161. package/src/components/ui/badge.tsx +41 -0
  162. package/src/components/ui/button.tsx +55 -0
  163. package/src/components/ui/card.tsx +78 -0
  164. package/src/components/ui/dialog.tsx +94 -0
  165. package/src/components/ui/popover.tsx +33 -0
  166. package/src/components/ui/scroll-area.tsx +54 -0
  167. package/src/components/ui/separator.tsx +28 -0
  168. package/src/components/ui/tabs.tsx +52 -0
  169. package/src/components/ui/toggle-switch.tsx +35 -0
  170. package/src/components/ui/tooltip.tsx +27 -0
  171. package/src/components/workflow/AddEdgeDialog.tsx +217 -0
  172. package/src/components/workflow/AddListDialog.tsx +201 -0
  173. package/src/components/workflow/ChecklistEditor.tsx +239 -0
  174. package/src/components/workflow/CommandPrefixManager.tsx +118 -0
  175. package/src/components/workflow/ConfigSettingsPanel.tsx +189 -0
  176. package/src/components/workflow/DirectionSelector.tsx +133 -0
  177. package/src/components/workflow/DispatchConfigPanel.tsx +180 -0
  178. package/src/components/workflow/EdgeDetailPanel.tsx +236 -0
  179. package/src/components/workflow/EdgePropertyEditor.tsx +251 -0
  180. package/src/components/workflow/EditToolbar.tsx +138 -0
  181. package/src/components/workflow/HookDetailPanel.tsx +250 -0
  182. package/src/components/workflow/HookExecutionLog.tsx +24 -0
  183. package/src/components/workflow/HookSourceModal.tsx +129 -0
  184. package/src/components/workflow/HooksDashboard.tsx +363 -0
  185. package/src/components/workflow/ListPropertyEditor.tsx +251 -0
  186. package/src/components/workflow/MigrationPreviewDialog.tsx +237 -0
  187. package/src/components/workflow/MovementRulesPanel.tsx +188 -0
  188. package/src/components/workflow/NodeDetailPanel.tsx +245 -0
  189. package/src/components/workflow/PresetSelector.tsx +414 -0
  190. package/src/components/workflow/SkillCommandBuilder.tsx +174 -0
  191. package/src/components/workflow/WorkflowEdgeComponent.tsx +145 -0
  192. package/src/components/workflow/WorkflowNode.tsx +147 -0
  193. package/src/components/workflow/graphLayout.ts +186 -0
  194. package/src/components/workflow/mergeHooks.ts +85 -0
  195. package/src/components/workflow/useEditHistory.ts +88 -0
  196. package/src/components/workflow/useWorkflowEditor.ts +262 -0
  197. package/src/components/workflow/validateConfig.ts +70 -0
  198. package/src/hooks/useActiveDispatches.ts +198 -0
  199. package/src/hooks/useBoardSettings.ts +170 -0
  200. package/src/hooks/useCardDisplay.ts +57 -0
  201. package/src/hooks/useCcHooks.ts +24 -0
  202. package/src/hooks/useConfigTree.ts +51 -0
  203. package/src/hooks/useEnforcementRules.ts +46 -0
  204. package/src/hooks/useEvents.ts +59 -0
  205. package/src/hooks/useFileEditor.ts +165 -0
  206. package/src/hooks/useGates.ts +57 -0
  207. package/src/hooks/useIdeaActions.ts +53 -0
  208. package/src/hooks/useKanbanDnd.ts +410 -0
  209. package/src/hooks/useOrbitalConfig.ts +54 -0
  210. package/src/hooks/usePipeline.ts +47 -0
  211. package/src/hooks/usePipelineData.ts +338 -0
  212. package/src/hooks/useReconnect.ts +25 -0
  213. package/src/hooks/useScopeFilters.ts +125 -0
  214. package/src/hooks/useScopeSessions.ts +44 -0
  215. package/src/hooks/useScopes.ts +67 -0
  216. package/src/hooks/useSearch.ts +67 -0
  217. package/src/hooks/useSettings.tsx +187 -0
  218. package/src/hooks/useSocket.ts +25 -0
  219. package/src/hooks/useSourceControl.ts +105 -0
  220. package/src/hooks/useSprintPreflight.ts +55 -0
  221. package/src/hooks/useSprints.ts +154 -0
  222. package/src/hooks/useStatusBarHighlight.ts +18 -0
  223. package/src/hooks/useSwimlaneBoardSettings.ts +104 -0
  224. package/src/hooks/useTheme.ts +9 -0
  225. package/src/hooks/useTransitionReadiness.ts +53 -0
  226. package/src/hooks/useVersion.ts +155 -0
  227. package/src/hooks/useViolations.ts +65 -0
  228. package/src/hooks/useWorkflow.tsx +125 -0
  229. package/src/hooks/useZoomModifier.ts +19 -0
  230. package/src/index.css +797 -0
  231. package/src/layouts/DashboardLayout.tsx +113 -0
  232. package/src/lib/collisionDetection.ts +20 -0
  233. package/src/lib/scope-fields.ts +61 -0
  234. package/src/lib/swimlane.ts +146 -0
  235. package/src/lib/utils.ts +15 -0
  236. package/src/main.tsx +19 -0
  237. package/src/socket.ts +11 -0
  238. package/src/types/index.ts +497 -0
  239. package/src/views/AgentFeed.tsx +339 -0
  240. package/src/views/DeployPipeline.tsx +59 -0
  241. package/src/views/EnforcementView.tsx +378 -0
  242. package/src/views/PrimitivesConfig.tsx +500 -0
  243. package/src/views/QualityGates.tsx +1012 -0
  244. package/src/views/ScopeBoard.tsx +454 -0
  245. package/src/views/SessionTimeline.tsx +516 -0
  246. package/src/views/Settings.tsx +183 -0
  247. package/src/views/SourceControl.tsx +95 -0
  248. package/src/views/WorkflowVisualizer.tsx +382 -0
  249. package/tailwind.config.js +161 -0
  250. package/templates/agents/AUTO-INVOKE.md +180 -0
  251. package/templates/agents/CONFLICT-RESOLUTION.md +128 -0
  252. package/templates/agents/QUICK-REFERENCE.md +122 -0
  253. package/templates/agents/README.md +188 -0
  254. package/templates/agents/SKILL-TRIGGERS.md +100 -0
  255. package/templates/agents/blue-team/frontend-designer.md +424 -0
  256. package/templates/agents/green-team/architect.md +526 -0
  257. package/templates/agents/green-team/rules-enforcer.md +131 -0
  258. package/templates/agents/red-team/attacker-learned.md +24 -0
  259. package/templates/agents/red-team/attacker.md +486 -0
  260. package/templates/agents/red-team/chaos.md +548 -0
  261. package/templates/agents/reference/component-registry.md +82 -0
  262. package/templates/agents/workflows/full-mode.md +218 -0
  263. package/templates/agents/workflows/quick-mode.md +118 -0
  264. package/templates/agents/workflows/security-mode.md +283 -0
  265. package/templates/anti-patterns/dangerous-shortcuts.md +427 -0
  266. package/templates/config/agent-triggers.json +92 -0
  267. package/templates/hooks/agent-team-gate.sh +31 -0
  268. package/templates/hooks/agent-trigger.sh +97 -0
  269. package/templates/hooks/block-push.sh +66 -0
  270. package/templates/hooks/block-workarounds.sh +61 -0
  271. package/templates/hooks/blocker-check.sh +28 -0
  272. package/templates/hooks/completion-checklist.sh +28 -0
  273. package/templates/hooks/decision-capture.sh +15 -0
  274. package/templates/hooks/dependency-check.sh +27 -0
  275. package/templates/hooks/end-session.sh +31 -0
  276. package/templates/hooks/exploration-logger.sh +37 -0
  277. package/templates/hooks/files-changed-summary.sh +37 -0
  278. package/templates/hooks/get-session-id.sh +49 -0
  279. package/templates/hooks/git-commit-guard.sh +34 -0
  280. package/templates/hooks/init-session.sh +93 -0
  281. package/templates/hooks/orbital-emit.sh +79 -0
  282. package/templates/hooks/orbital-report-deploy.sh +78 -0
  283. package/templates/hooks/orbital-report-gates.sh +40 -0
  284. package/templates/hooks/orbital-report-violation.sh +36 -0
  285. package/templates/hooks/orbital-scope-update.sh +53 -0
  286. package/templates/hooks/phase-verify-reminder.sh +26 -0
  287. package/templates/hooks/review-gate-check.sh +82 -0
  288. package/templates/hooks/scope-commit-logger.sh +37 -0
  289. package/templates/hooks/scope-create-cleanup.sh +36 -0
  290. package/templates/hooks/scope-create-gate.sh +80 -0
  291. package/templates/hooks/scope-create-tracker.sh +17 -0
  292. package/templates/hooks/scope-file-sync.sh +53 -0
  293. package/templates/hooks/scope-gate.sh +35 -0
  294. package/templates/hooks/scope-helpers.sh +188 -0
  295. package/templates/hooks/scope-lifecycle-gate.sh +139 -0
  296. package/templates/hooks/scope-prepare.sh +244 -0
  297. package/templates/hooks/scope-transition.sh +172 -0
  298. package/templates/hooks/session-enforcer.sh +143 -0
  299. package/templates/hooks/time-tracker.sh +33 -0
  300. package/templates/lessons-learned.md +15 -0
  301. package/templates/orbital.config.json +35 -0
  302. package/templates/presets/development.json +42 -0
  303. package/templates/presets/gitflow.json +712 -0
  304. package/templates/presets/minimal.json +23 -0
  305. package/templates/quick/rules.md +218 -0
  306. package/templates/scopes/_template.md +255 -0
  307. package/templates/settings-hooks.json +98 -0
  308. package/templates/skills/git-commit/SKILL.md +85 -0
  309. package/templates/skills/git-dev/SKILL.md +99 -0
  310. package/templates/skills/git-hotfix/SKILL.md +223 -0
  311. package/templates/skills/git-main/SKILL.md +84 -0
  312. package/templates/skills/git-production/SKILL.md +165 -0
  313. package/templates/skills/git-staging/SKILL.md +112 -0
  314. package/templates/skills/scope-create/SKILL.md +81 -0
  315. package/templates/skills/scope-fix-review/SKILL.md +168 -0
  316. package/templates/skills/scope-implement/SKILL.md +110 -0
  317. package/templates/skills/scope-post-review/SKILL.md +144 -0
  318. package/templates/skills/scope-pre-review/SKILL.md +211 -0
  319. package/templates/skills/scope-verify/SKILL.md +201 -0
  320. package/templates/skills/session-init/SKILL.md +62 -0
  321. package/templates/skills/session-resume/SKILL.md +201 -0
  322. package/templates/skills/test-checks/SKILL.md +171 -0
  323. package/templates/skills/test-code-review/SKILL.md +252 -0
  324. package/tsconfig.json +25 -0
  325. package/vite.config.ts +38 -0
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: git-dev
3
+ description: Merges feature branch into dev with direct merge (no PR). Use when feature work is committed and ready to integrate into the dev branch.
4
+ user-invocable: true
5
+ ---
6
+
7
+ # /git-dev — Merge Feature Branch into Dev
8
+
9
+ Direct merge from feature branch into dev. The review gate already provides the quality gate, so no PR is needed for this step.
10
+
11
+ ## Prerequisites
12
+
13
+ - On a feature branch (not main/staging/dev)
14
+ - All changes committed (clean working tree)
15
+ - Feature branch has scope work committed via `/git-commit`
16
+
17
+ ## Workflow
18
+
19
+ ### Step 0: Record Session ID
20
+
21
+ 1. Run: `bash .claude/hooks/get-session-id.sh`
22
+ 2. For each scope in `scopes/completed/`:
23
+ - Append session UUID to `sessions.prDev` in frontmatter
24
+
25
+ ### Step 1: Verify Ready State
26
+
27
+ ```bash
28
+ # Check you're on a feature branch
29
+ BRANCH=$(git branch --show-current)
30
+
31
+ # Block if on main/staging/dev
32
+ if [[ "$BRANCH" == "main" || "$BRANCH" == "staging" || "$BRANCH" == "dev" ]]; then
33
+ echo "Must be on a feature branch, not $BRANCH"
34
+ exit 1
35
+ fi
36
+
37
+ # Check for uncommitted changes
38
+ git status --porcelain
39
+ ```
40
+
41
+ ### Step 2: Scope Transition (local only)
42
+
43
+ Find scopes in `scopes/completed/`:
44
+ 1. For each scope file in `scopes/completed/*.md`:
45
+ - `mv scopes/completed/{file} scopes/dev/`
46
+ - Update frontmatter: `status: dev`
47
+ - Update DASHBOARD: `🔀 **Status**: Merged to Dev`
48
+
49
+ If BATCH_SCOPE_IDS is set, only transition those specific scopes.
50
+
51
+ ### Step 3: Merge into Dev
52
+
53
+ ```bash
54
+ # Save current branch name
55
+ FEATURE_BRANCH=$(git branch --show-current)
56
+
57
+ # Fetch latest dev
58
+ git fetch origin dev
59
+
60
+ # Checkout dev and merge
61
+ git checkout dev
62
+ git merge "$FEATURE_BRANCH"
63
+ git push origin dev
64
+
65
+ # Return to feature branch
66
+ git checkout "$FEATURE_BRANCH"
67
+ ```
68
+
69
+ If merge conflicts occur, resolve them before continuing.
70
+
71
+ ### Step 4: Signal Completion
72
+
73
+ ```bash
74
+ bash .claude/hooks/orbital-emit.sh AGENT_COMPLETED '{"outcome":"success","action":"pr_dev"}' --scope "{NNN}"
75
+ ```
76
+
77
+ ## Output
78
+
79
+ ```
80
+ ╔═══════════════════════════════════════════════════════════════╗
81
+ ║ Merged feature branch into dev ║
82
+ ╠═══════════════════════════════════════════════════════════════╣
83
+ ║ Branch: feat/my-feature → dev ║
84
+ ║ Scopes transitioned: 093, 094 → dev ║
85
+ ║ ║
86
+ ║ Next: /git-staging to create a PR from dev to staging ║
87
+ ╚═══════════════════════════════════════════════════════════════╝
88
+ ```
89
+
90
+ ## Batch Support
91
+
92
+ When dispatched by the batch orchestrator with `BATCH_SCOPE_IDS`:
93
+ - Only transition the specified scope IDs
94
+ - The batch orchestrator tracks completion via `onScopeStatusChanged`
95
+
96
+ ## Related
97
+
98
+ - `/git-commit` — Commit work to feature branch (previous step)
99
+ - `/git-staging` — Create PR from dev to staging (next step)
@@ -0,0 +1,223 @@
1
+ ---
2
+ name: git-hotfix
3
+ description: Applies emergency fixes by branching from main with expedited workflow. Use only for critical production issues, genuine emergencies, or urgent security fixes.
4
+ user-invocable: true
5
+ ---
6
+
7
+ # /git-hotfix
8
+
9
+ Emergency workflow for critical production fixes.
10
+
11
+ ---
12
+
13
+ ## When to Use Hotfix
14
+
15
+ **Only for production emergencies:**
16
+
17
+ - [ ] Users affected right now
18
+ - [ ] Money/funds at risk
19
+ - [ ] Security vulnerability active
20
+ - [ ] Core functionality broken
21
+
22
+ **NOT for:**
23
+ - Performance improvements
24
+ - Minor bugs
25
+ - Features that were missed
26
+ - "Nice to have" fixes
27
+
28
+ ---
29
+
30
+ ## Hotfix Rules
31
+
32
+ 1. **Branch from main** (not staging)
33
+ 2. **Minimal fix only** - no refactoring, no "while I'm here"
34
+ 3. **Direct PR to main** - bypasses staging for speed
35
+ 4. **Backport to staging** - sync after production is fixed
36
+
37
+ ---
38
+
39
+ ## Execution
40
+
41
+ ### Step 0: Detect Branching Mode
42
+
43
+ ```bash
44
+ BRANCHING_MODE=$(grep '^WORKFLOW_BRANCHING_MODE=' .claude/config/workflow-manifest.sh 2>/dev/null | cut -d'"' -f2)
45
+ [ -z "$BRANCHING_MODE" ] && BRANCHING_MODE="trunk"
46
+ ```
47
+
48
+ ### Step 1: Create Hotfix Branch
49
+
50
+ ```bash
51
+ # Start from main (production code)
52
+ git checkout main
53
+ git pull origin main
54
+
55
+ # Create hotfix branch
56
+ git checkout -b hotfix/brief-description
57
+
58
+ # Example: hotfix/api-auth-race-condition
59
+ ```
60
+
61
+ ### Step 2: Implement Minimal Fix
62
+
63
+ **Rules:**
64
+ - Fix ONLY the broken thing
65
+ - No cleanup, no refactoring
66
+ - No "improvements" while you're there
67
+ - Keep the diff as small as possible
68
+
69
+ ```bash
70
+ # Make your fix
71
+ # ...edit files...
72
+
73
+ # Verify quality gates — run configured commands from orbital.config.json
74
+ # Run commands.typeCheck, commands.lint, commands.test (skip any that are null)
75
+ ```
76
+
77
+ ### Step 3: Create PR to Main
78
+
79
+ ```bash
80
+ # Push hotfix branch
81
+ git push -u origin hotfix/brief-description
82
+
83
+ # Create PR directly to main
84
+ gh pr create --base main \
85
+ --title "hotfix: brief description of fix" \
86
+ --body "## Emergency Hotfix
87
+
88
+ **Issue:** [Brief description of production issue]
89
+
90
+ **Root Cause:** [What caused it]
91
+
92
+ **Fix:** [What this PR does]
93
+
94
+ ## Verification
95
+
96
+ - [ ] Fix verified locally
97
+ - [ ] Quality gates pass
98
+ - [ ] Minimal changes only
99
+
100
+ ## Post-Merge
101
+
102
+ - [ ] Monitor production logs
103
+ - [ ] Backport to staging
104
+ - [ ] Document in lessons-learned.md"
105
+ ```
106
+
107
+ ### Step 4: Fast-Track Review and Merge
108
+
109
+ ```bash
110
+ # Check CI
111
+ gh pr checks
112
+
113
+ # If CI passes and fix is verified, merge
114
+ # Use MERGE commit (not squash) for main
115
+ gh pr merge --merge
116
+ ```
117
+
118
+ ### Step 5: Verify Production
119
+
120
+ ```bash
121
+ # Wait 3 min for deploy
122
+
123
+ # Health check (read healthChecks.production from orbital.config.json, skip if not configured)
124
+ # curl -s <healthChecks.production URL> | jq
125
+
126
+ # Watch logs using your deployment platform's CLI
127
+ ```
128
+
129
+ ### Step 6: Backport to Staging (Gitflow Only)
130
+
131
+ **Skip this step if `BRANCHING_MODE=trunk`** (no staging branch in trunk mode).
132
+
133
+ **Critical:** Staging must stay in sync with main.
134
+
135
+ ```bash
136
+ # Get the merge commit SHA from main
137
+ git checkout main
138
+ git pull origin main
139
+ HOTFIX_SHA=$(git rev-parse HEAD)
140
+
141
+ # Switch to staging
142
+ git checkout staging
143
+ git pull origin staging
144
+
145
+ # Cherry-pick the hotfix
146
+ git cherry-pick $HOTFIX_SHA
147
+
148
+ # Push to staging
149
+ git push origin staging
150
+ ```
151
+
152
+ If cherry-pick has conflicts:
153
+ ```bash
154
+ # Resolve conflicts
155
+ git add .
156
+ git cherry-pick --continue
157
+
158
+ # Or if too messy, create a regular PR
159
+ git cherry-pick --abort
160
+ git checkout -b backport/hotfix-description
161
+ # ... apply fix manually ...
162
+ gh pr create --base staging
163
+ ```
164
+
165
+ ---
166
+
167
+ ## Hotfix Checklist
168
+
169
+ ```
170
+ Pre-Merge:
171
+ [ ] Hotfix branches from main (not staging)
172
+ [ ] Fix is minimal - no extras
173
+ [ ] Quality gates pass
174
+ [ ] CI checks pass
175
+
176
+ Post-Merge:
177
+ [ ] Production health verified
178
+ [ ] Issue confirmed resolved
179
+ [ ] Backported to staging
180
+ [ ] Documented in lessons-learned.md
181
+ [ ] Team notified
182
+ ```
183
+
184
+ ---
185
+
186
+ ## Post-Mortem
187
+
188
+ After the emergency is handled:
189
+
190
+ 1. **Document what happened** in `.claude/lessons-learned.md`
191
+ 2. **Identify root cause** - why wasn't this caught on staging?
192
+ 3. **Create follow-up ticket** - proper fix if hotfix was a band-aid
193
+ 4. **Update monitoring** - add alerting for this scenario
194
+
195
+ Template for lessons-learned.md:
196
+ ```markdown
197
+ ## [Date] Hotfix: [Title]
198
+
199
+ **Issue:** What broke
200
+ **Impact:** Who was affected, for how long
201
+ **Root Cause:** Why it happened
202
+ **Fix:** What we did
203
+ **Prevention:** How to prevent similar issues
204
+ ```
205
+
206
+ ---
207
+
208
+ ## Common Hotfix Scenarios
209
+
210
+ | Scenario | Approach |
211
+ |----------|----------|
212
+ | API returning 500s | Add error handling, return graceful error |
213
+ | Database query timeout | Add index, simplify query |
214
+ | Rate limit too aggressive | Increase limit temporarily |
215
+ | Environment variable wrong | Fix in deployment platform dashboard (no deploy needed) |
216
+ | Critical business logic bug | Minimal targeted fix, revert if necessary |
217
+
218
+ ---
219
+
220
+ ## Related
221
+
222
+ - `/git-production` — Production release PR
223
+ - `/git-staging` — Staging PR workflow
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: git-main
3
+ description: Push or PR scope work to the main branch. Mode-aware - detects trunk vs worktree branching from workflow manifest.
4
+ user-invocable: true
5
+ ---
6
+
7
+ # /git-main — Push/PR to Main
8
+
9
+ Push or create a PR to merge scope work into the main branch.
10
+
11
+ ## Workflow
12
+
13
+ ### Step 0: Detect Branching Mode
14
+
15
+ ```bash
16
+ BRANCHING_MODE=$(grep '^WORKFLOW_BRANCHING_MODE=' .claude/config/workflow-manifest.sh 2>/dev/null | cut -d'"' -f2)
17
+ [ -z "$BRANCHING_MODE" ] && BRANCHING_MODE="trunk"
18
+ ```
19
+
20
+ ### Step 1: Record Session ID
21
+
22
+ 1. Run: `bash .claude/hooks/get-session-id.sh` — capture the UUID output
23
+ 2. For each scope in `scopes/completed/`:
24
+ - Append session UUID to `sessions.pushToMain` in frontmatter
25
+
26
+ ### Step 2: Check Current Branch
27
+
28
+ ```bash
29
+ CURRENT_BRANCH=$(git branch --show-current)
30
+ ```
31
+
32
+ ### Step 3: Execute (Mode-Dependent)
33
+
34
+ #### Trunk Mode (`BRANCHING_MODE=trunk`)
35
+
36
+ **If on `main`:**
37
+ ```bash
38
+ git push origin main
39
+ ```
40
+
41
+ **If on a feature branch:**
42
+ - Ask the user: "You're on branch `$CURRENT_BRANCH`. Create a PR to main, or merge directly?"
43
+ - **PR**: `gh pr create --base main --title "scope(NNN): title" --body "..."`
44
+ - **Direct merge**: `git checkout main && git merge $CURRENT_BRANCH && git push origin main`
45
+
46
+ #### Worktree Mode (`BRANCHING_MODE=worktree`)
47
+
48
+ Always on a feature branch in worktree mode:
49
+ ```bash
50
+ gh pr create --base main \
51
+ --title "scope(NNN): title" \
52
+ --body "## Summary
53
+ Merges scope NNN work into main.
54
+
55
+ ## Scopes
56
+ - NNN: title"
57
+ ```
58
+
59
+ ### Step 4: Scope Transition
60
+
61
+ For each completed scope being pushed:
62
+ ```bash
63
+ bash .claude/hooks/scope-transition.sh --from completed --to main --scope NNN
64
+ ```
65
+
66
+ ### Step 5: Signal Completion
67
+
68
+ ```bash
69
+ bash .claude/hooks/orbital-emit.sh AGENT_COMPLETED '{"outcome":"success","action":"pr_main"}' --scope "NNN"
70
+ ```
71
+
72
+ ## Batch Support
73
+
74
+ When `BATCH_SCOPE_IDS` and `MERGE_MODE` env vars are set:
75
+
76
+ ```bash
77
+ MERGE_MODE=${MERGE_MODE:-push} # push, pr, or direct
78
+ ```
79
+
80
+ - **push**: `git push origin main`
81
+ - **pr**: `gh pr create --base main`
82
+ - **direct**: `git checkout main && git merge ... && git push origin main`
83
+
84
+ Transition all scopes in `BATCH_SCOPE_IDS` (comma-separated).
@@ -0,0 +1,165 @@
1
+ ---
2
+ name: git-production
3
+ description: Creates release pull requests from staging to main for production deployment. Use when staging is validated, ready for production release, or creating release PRs.
4
+ user-invocable: true
5
+ ---
6
+
7
+ # /git-production
8
+
9
+ Workflow for creating a release PR from staging to main.
10
+
11
+ ---
12
+
13
+ ## Prerequisites
14
+
15
+ **Critical:** This creates a production release. Verify:
16
+
17
+ - [ ] Changes have been on staging for at least 1 hour
18
+ - [ ] Staging has been manually verified
19
+ - [ ] No critical issues reported on staging
20
+ - [ ] Appropriate deployment window (avoid peak hours)
21
+ - [ ] Rollback plan identified
22
+
23
+ ---
24
+
25
+ ## Execution
26
+
27
+ ### Step 1: Verify Staging Health
28
+
29
+ > **Automated:** The `scope-lifecycle-gate.sh` hook records the session UUID
30
+ > and transitions staging scopes to production when BATCH_SCOPE_IDS is set.
31
+
32
+ ```bash
33
+ # Check staging is healthy (read healthChecks.staging from orbital.config.json, skip if not configured)
34
+ # curl -s <healthChecks.staging URL> | jq
35
+
36
+ # See what will be released
37
+ git fetch origin
38
+ git log origin/main..origin/staging --oneline
39
+ ```
40
+
41
+ **Review these commits carefully.** Understand what's being released.
42
+
43
+ ### Step 2: Scope Status Transition
44
+
45
+ > **Automated:** The `scope-lifecycle-gate.sh` hook transitions staging scopes to production when BATCH_SCOPE_IDS is set.
46
+
47
+ ### Step 3: Create Release PR
48
+
49
+ ```bash
50
+ # Create the release PR
51
+ gh pr create \
52
+ --base main \
53
+ --head staging \
54
+ --title "release: $(date +%Y-%m-%d) deployment" \
55
+ --body "## Release Contents
56
+
57
+ $(git log origin/main..origin/staging --oneline)
58
+
59
+ ## Pre-Release Checklist
60
+
61
+ - [ ] Staging stable for 1+ hours
62
+ - [ ] Manual verification completed
63
+ - [ ] No critical issues on staging
64
+ - [ ] Rollback plan identified
65
+
66
+ ## Post-Release Verification
67
+
68
+ - [ ] Health check passes
69
+ - [ ] Version endpoint shows correct commit
70
+ - [ ] No error spikes in logs
71
+ - [ ] Key functionality verified
72
+
73
+ ## Rollback
74
+
75
+ If issues occur, follow your project's rollback procedure."
76
+ ```
77
+
78
+ ### Step 4: Review and Approve
79
+
80
+ ```bash
81
+ # View the PR
82
+ gh pr view --web
83
+
84
+ # Check CI status
85
+ gh pr checks
86
+ ```
87
+
88
+ **MANUAL STEP:** Get team review/approval if required.
89
+
90
+ ### Step 5: Merge (Triggers Deploy)
91
+
92
+ ```bash
93
+ # Use MERGE commit for production releases (preserves history)
94
+ gh pr merge --merge
95
+
96
+ # Your CI/CD pipeline auto-deploys main to production (if configured)
97
+ ```
98
+
99
+ ### Step 6: Signal Completion
100
+
101
+ After the merge succeeds, emit the agent completion event if working on a dispatched scope:
102
+
103
+ ```bash
104
+ bash .claude/hooks/orbital-emit.sh AGENT_COMPLETED '{"outcome":"success","action":"pr_production"}' --scope "{NNN}"
105
+ ```
106
+
107
+ ### Step 7: Verify Production
108
+
109
+ Wait for deployment to complete (timing depends on your CI/CD pipeline), then:
110
+
111
+ ```bash
112
+ # Health check (read healthChecks.production from orbital.config.json, skip if not configured)
113
+ # curl -s <healthChecks.production URL> | jq
114
+
115
+ # Version check (read healthChecks.version from orbital.config.json, skip if not configured)
116
+ # curl -s <healthChecks.version URL> | jq
117
+
118
+ # Watch logs using your deployment platform's CLI
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Production Release Checklist
124
+
125
+ After merge:
126
+
127
+ - [ ] Health check returns 200 (if configured)
128
+ - [ ] Version matches expected commit (if configured)
129
+ - [ ] No new errors in logs (watch 5 min)
130
+ - [ ] Database migrations completed (if any)
131
+ - [ ] Key functionality verified
132
+ - [ ] Team notified of successful deployment
133
+
134
+ ---
135
+
136
+ ## If Something Goes Wrong
137
+
138
+ Follow your project's rollback procedure. Common approaches:
139
+ ```bash
140
+ # Via your deployment platform's dashboard (fastest)
141
+ # Go to Deployments → Previous deployment → Redeploy
142
+
143
+ # Or via git revert
144
+ git revert HEAD
145
+ git push origin main
146
+ ```
147
+
148
+ ---
149
+
150
+ ## Important Differences: Staging vs Production
151
+
152
+ | Aspect | Staging PR | Production PR |
153
+ |--------|-----------|---------------|
154
+ | Merge strategy | Squash | Merge (preserves history) |
155
+ | Source | Feature branch | staging branch |
156
+ | Target | staging | main |
157
+ | Review required | Optional | Recommended |
158
+ | Wait after deploy | 3 min | 5+ min monitoring |
159
+
160
+ ---
161
+
162
+ ## Related
163
+
164
+ - `/git-staging` — Create PR from dev to staging (previous step)
165
+ - `/git-hotfix` — Emergency fix workflow
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: git-staging
3
+ description: Creates GitHub PR from dev to staging for release visibility and CI gate. Use when dev branch work is ready for staging review.
4
+ user-invocable: true
5
+ ---
6
+
7
+ # /git-staging — GitHub PR from Dev to Staging
8
+
9
+ Creates a GitHub PR from dev to staging. Staging is a release candidate — the PR provides an audit trail, CI gate, and selective promotion visibility.
10
+
11
+ ## Prerequisites
12
+
13
+ - Changes merged into dev (via `/git-dev`)
14
+ - Dev branch is up to date with remote
15
+ - No merge conflicts with staging
16
+
17
+ ## Workflow
18
+
19
+ ### Step 1: Scope Transition (local only)
20
+
21
+ Find scopes in `scopes/dev/`:
22
+ 1. For each scope file in `scopes/dev/*.md`:
23
+ - `mv scopes/dev/{file} scopes/staging/`
24
+ - Update frontmatter: `status: staging`
25
+ - Update DASHBOARD: `🚀 **Status**: Staging PR Created`
26
+
27
+ If BATCH_SCOPE_IDS is set, only transition those specific scopes.
28
+
29
+ ### Step 2: Ensure Remote is Up to Date
30
+
31
+ ```bash
32
+ git push origin dev
33
+ ```
34
+
35
+ ### Step 3: Create GitHub PR
36
+
37
+ ```bash
38
+ gh pr create --base staging --head dev \
39
+ --title "release: <summary of scopes>" \
40
+ --body "## Summary
41
+
42
+ - Scope NNN: <title>
43
+ - Scope NNN: <title>
44
+
45
+ ## Changes
46
+
47
+ <bullet list of key changes>
48
+
49
+ ## Testing
50
+
51
+ - [ ] Quality gates pass on dev
52
+ - [ ] No regressions in staging tests
53
+ - [ ] Deployment verified healthy
54
+
55
+ ## Checklist
56
+
57
+ - [ ] No console.log statements
58
+ - [ ] No any types added
59
+ - [ ] Files under 400 lines"
60
+ ```
61
+
62
+ ### Step 4: Signal Completion
63
+
64
+ ```bash
65
+ bash .claude/hooks/orbital-emit.sh AGENT_COMPLETED '{"outcome":"success","action":"pr_staging"}' --scope "{NNN}"
66
+ ```
67
+
68
+ ### Step 5: Monitor CI
69
+
70
+ ```bash
71
+ gh pr checks
72
+ gh pr view --web
73
+ ```
74
+
75
+ ## Output
76
+
77
+ ```
78
+ ╔═══════════════════════════════════════════════════════════════╗
79
+ ║ PR created: dev → staging ║
80
+ ╠═══════════════════════════════════════════════════════════════╣
81
+ ║ PR: #NNN — release: <summary> ║
82
+ ║ Scopes transitioned: 093, 094 → staging ║
83
+ ║ ║
84
+ ║ Next: Review PR, merge, then /git-production ║
85
+ ╚═══════════════════════════════════════════════════════════════╝
86
+ ```
87
+
88
+ ## If PR Checks Fail
89
+
90
+ ```bash
91
+ # See what failed
92
+ gh pr checks
93
+
94
+ # Fix locally on dev, push
95
+ git checkout dev
96
+ # ... make fixes ...
97
+ git add <files>
98
+ git commit -m "fix: address CI feedback"
99
+ git push origin dev
100
+ # PR updates automatically
101
+ ```
102
+
103
+ ## Batch Support
104
+
105
+ When dispatched by the batch orchestrator with `BATCH_SCOPE_IDS`:
106
+ - Only transition the specified scope IDs
107
+ - The batch orchestrator tracks completion via `onScopeStatusChanged`
108
+
109
+ ## Related
110
+
111
+ - `/git-dev` — Merge feature→dev (previous step)
112
+ - `/git-production` — Release PR staging→main (next step)