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.
- package/LICENSE +21 -0
- package/README.md +396 -0
- package/bin/orbital.js +362 -0
- package/dist/assets/WorkflowVisualizer-BZ21PIIF.js +84 -0
- package/dist/assets/WorkflowVisualizer-BZV40eAE.css +1 -0
- package/dist/assets/charts-D__PA1zp.js +72 -0
- package/dist/assets/index-D1G6i0nS.css +1 -0
- package/dist/assets/index-DpItvKpf.js +419 -0
- package/dist/assets/ui-BvF022GT.js +53 -0
- package/dist/assets/vendor-Dzv9lrRc.js +59 -0
- package/dist/index.html +19 -0
- package/dist/scanner-sweep.png +0 -0
- package/dist/server/server/adapters/index.js +34 -0
- package/dist/server/server/adapters/iterm2-adapter.js +29 -0
- package/dist/server/server/adapters/subprocess-adapter.js +21 -0
- package/dist/server/server/adapters/terminal-adapter.js +1 -0
- package/dist/server/server/config.js +156 -0
- package/dist/server/server/database.js +90 -0
- package/dist/server/server/index.js +372 -0
- package/dist/server/server/init.js +811 -0
- package/dist/server/server/parsers/event-parser.js +64 -0
- package/dist/server/server/parsers/scope-parser.js +188 -0
- package/dist/server/server/routes/config-routes.js +163 -0
- package/dist/server/server/routes/data-routes.js +461 -0
- package/dist/server/server/routes/dispatch-routes.js +215 -0
- package/dist/server/server/routes/git-routes.js +92 -0
- package/dist/server/server/routes/scope-routes.js +215 -0
- package/dist/server/server/routes/sprint-routes.js +116 -0
- package/dist/server/server/routes/version-routes.js +130 -0
- package/dist/server/server/routes/workflow-routes.js +185 -0
- package/dist/server/server/schema.js +90 -0
- package/dist/server/server/services/batch-orchestrator.js +253 -0
- package/dist/server/server/services/claude-session-service.js +352 -0
- package/dist/server/server/services/config-service.js +132 -0
- package/dist/server/server/services/deploy-service.js +51 -0
- package/dist/server/server/services/event-service.js +63 -0
- package/dist/server/server/services/gate-service.js +83 -0
- package/dist/server/server/services/git-service.js +309 -0
- package/dist/server/server/services/github-service.js +145 -0
- package/dist/server/server/services/readiness-service.js +184 -0
- package/dist/server/server/services/scope-cache.js +72 -0
- package/dist/server/server/services/scope-service.js +424 -0
- package/dist/server/server/services/sprint-orchestrator.js +312 -0
- package/dist/server/server/services/sprint-service.js +293 -0
- package/dist/server/server/services/workflow-service.js +397 -0
- package/dist/server/server/utils/cc-hooks-parser.js +49 -0
- package/dist/server/server/utils/dispatch-utils.js +305 -0
- package/dist/server/server/utils/logger.js +86 -0
- package/dist/server/server/utils/terminal-launcher.js +388 -0
- package/dist/server/server/utils/worktree-manager.js +98 -0
- package/dist/server/server/watchers/event-watcher.js +81 -0
- package/dist/server/server/watchers/scope-watcher.js +33 -0
- package/dist/server/shared/api-types.js +5 -0
- package/dist/server/shared/default-workflow.json +616 -0
- package/dist/server/shared/workflow-config.js +44 -0
- package/dist/server/shared/workflow-engine.js +353 -0
- package/index.html +15 -0
- package/package.json +110 -0
- package/postcss.config.js +6 -0
- package/schemas/orbital.config.schema.json +83 -0
- package/scripts/postinstall.js +24 -0
- package/scripts/start.sh +20 -0
- package/server/adapters/index.ts +41 -0
- package/server/adapters/iterm2-adapter.ts +37 -0
- package/server/adapters/subprocess-adapter.ts +25 -0
- package/server/adapters/terminal-adapter.ts +24 -0
- package/server/config.ts +234 -0
- package/server/database.ts +107 -0
- package/server/index.ts +452 -0
- package/server/init.ts +891 -0
- package/server/parsers/event-parser.ts +74 -0
- package/server/parsers/scope-parser.ts +240 -0
- package/server/routes/config-routes.ts +182 -0
- package/server/routes/data-routes.ts +548 -0
- package/server/routes/dispatch-routes.ts +275 -0
- package/server/routes/git-routes.ts +112 -0
- package/server/routes/scope-routes.ts +262 -0
- package/server/routes/sprint-routes.ts +142 -0
- package/server/routes/version-routes.ts +156 -0
- package/server/routes/workflow-routes.ts +198 -0
- package/server/schema.ts +90 -0
- package/server/services/batch-orchestrator.ts +286 -0
- package/server/services/claude-session-service.ts +441 -0
- package/server/services/config-service.ts +151 -0
- package/server/services/deploy-service.ts +98 -0
- package/server/services/event-service.ts +98 -0
- package/server/services/gate-service.ts +126 -0
- package/server/services/git-service.ts +391 -0
- package/server/services/github-service.ts +183 -0
- package/server/services/readiness-service.ts +250 -0
- package/server/services/scope-cache.ts +81 -0
- package/server/services/scope-service.ts +476 -0
- package/server/services/sprint-orchestrator.ts +361 -0
- package/server/services/sprint-service.ts +415 -0
- package/server/services/workflow-service.ts +461 -0
- package/server/utils/cc-hooks-parser.ts +70 -0
- package/server/utils/dispatch-utils.ts +395 -0
- package/server/utils/logger.ts +109 -0
- package/server/utils/terminal-launcher.ts +462 -0
- package/server/utils/worktree-manager.ts +104 -0
- package/server/watchers/event-watcher.ts +100 -0
- package/server/watchers/scope-watcher.ts +38 -0
- package/shared/api-types.ts +20 -0
- package/shared/default-workflow.json +616 -0
- package/shared/workflow-config.ts +170 -0
- package/shared/workflow-engine.ts +427 -0
- package/src/App.tsx +33 -0
- package/src/components/AgentBadge.tsx +40 -0
- package/src/components/BatchPreflightModal.tsx +115 -0
- package/src/components/CardDisplayToggle.tsx +74 -0
- package/src/components/ColumnHeaderActions.tsx +55 -0
- package/src/components/ColumnMenu.tsx +99 -0
- package/src/components/DeployHistory.tsx +141 -0
- package/src/components/DispatchModal.tsx +164 -0
- package/src/components/DispatchPopover.tsx +139 -0
- package/src/components/DragOverlay.tsx +25 -0
- package/src/components/DriftSidebar.tsx +140 -0
- package/src/components/EnvironmentStrip.tsx +88 -0
- package/src/components/ErrorBoundary.tsx +62 -0
- package/src/components/FilterChip.tsx +105 -0
- package/src/components/GateIndicator.tsx +33 -0
- package/src/components/IdeaDetailModal.tsx +190 -0
- package/src/components/IdeaFormDialog.tsx +113 -0
- package/src/components/KanbanColumn.tsx +201 -0
- package/src/components/MarkdownRenderer.tsx +114 -0
- package/src/components/NeonGrid.tsx +128 -0
- package/src/components/PromotionQueue.tsx +89 -0
- package/src/components/ScopeCard.tsx +234 -0
- package/src/components/ScopeDetailModal.tsx +255 -0
- package/src/components/ScopeFilterBar.tsx +152 -0
- package/src/components/SearchInput.tsx +102 -0
- package/src/components/SessionPanel.tsx +335 -0
- package/src/components/SprintContainer.tsx +303 -0
- package/src/components/SprintDependencyDialog.tsx +78 -0
- package/src/components/SprintPreflightModal.tsx +138 -0
- package/src/components/StatusBar.tsx +168 -0
- package/src/components/SwimCell.tsx +67 -0
- package/src/components/SwimLaneRow.tsx +94 -0
- package/src/components/SwimlaneBoardView.tsx +108 -0
- package/src/components/VersionBadge.tsx +139 -0
- package/src/components/ViewModeSelector.tsx +114 -0
- package/src/components/config/AgentChip.tsx +53 -0
- package/src/components/config/AgentCreateDialog.tsx +321 -0
- package/src/components/config/AgentEditor.tsx +175 -0
- package/src/components/config/DirectoryTree.tsx +582 -0
- package/src/components/config/FileEditor.tsx +550 -0
- package/src/components/config/HookChip.tsx +50 -0
- package/src/components/config/StageCard.tsx +198 -0
- package/src/components/config/TransitionZone.tsx +173 -0
- package/src/components/config/UnifiedWorkflowPipeline.tsx +216 -0
- package/src/components/config/WorkflowPipeline.tsx +161 -0
- package/src/components/source-control/BranchList.tsx +93 -0
- package/src/components/source-control/BranchPanel.tsx +105 -0
- package/src/components/source-control/CommitLog.tsx +100 -0
- package/src/components/source-control/CommitRow.tsx +47 -0
- package/src/components/source-control/GitHubPanel.tsx +110 -0
- package/src/components/source-control/GitHubSetupGuide.tsx +52 -0
- package/src/components/source-control/GitOverviewBar.tsx +101 -0
- package/src/components/source-control/PullRequestList.tsx +69 -0
- package/src/components/source-control/WorktreeList.tsx +80 -0
- package/src/components/ui/badge.tsx +41 -0
- package/src/components/ui/button.tsx +55 -0
- package/src/components/ui/card.tsx +78 -0
- package/src/components/ui/dialog.tsx +94 -0
- package/src/components/ui/popover.tsx +33 -0
- package/src/components/ui/scroll-area.tsx +54 -0
- package/src/components/ui/separator.tsx +28 -0
- package/src/components/ui/tabs.tsx +52 -0
- package/src/components/ui/toggle-switch.tsx +35 -0
- package/src/components/ui/tooltip.tsx +27 -0
- package/src/components/workflow/AddEdgeDialog.tsx +217 -0
- package/src/components/workflow/AddListDialog.tsx +201 -0
- package/src/components/workflow/ChecklistEditor.tsx +239 -0
- package/src/components/workflow/CommandPrefixManager.tsx +118 -0
- package/src/components/workflow/ConfigSettingsPanel.tsx +189 -0
- package/src/components/workflow/DirectionSelector.tsx +133 -0
- package/src/components/workflow/DispatchConfigPanel.tsx +180 -0
- package/src/components/workflow/EdgeDetailPanel.tsx +236 -0
- package/src/components/workflow/EdgePropertyEditor.tsx +251 -0
- package/src/components/workflow/EditToolbar.tsx +138 -0
- package/src/components/workflow/HookDetailPanel.tsx +250 -0
- package/src/components/workflow/HookExecutionLog.tsx +24 -0
- package/src/components/workflow/HookSourceModal.tsx +129 -0
- package/src/components/workflow/HooksDashboard.tsx +363 -0
- package/src/components/workflow/ListPropertyEditor.tsx +251 -0
- package/src/components/workflow/MigrationPreviewDialog.tsx +237 -0
- package/src/components/workflow/MovementRulesPanel.tsx +188 -0
- package/src/components/workflow/NodeDetailPanel.tsx +245 -0
- package/src/components/workflow/PresetSelector.tsx +414 -0
- package/src/components/workflow/SkillCommandBuilder.tsx +174 -0
- package/src/components/workflow/WorkflowEdgeComponent.tsx +145 -0
- package/src/components/workflow/WorkflowNode.tsx +147 -0
- package/src/components/workflow/graphLayout.ts +186 -0
- package/src/components/workflow/mergeHooks.ts +85 -0
- package/src/components/workflow/useEditHistory.ts +88 -0
- package/src/components/workflow/useWorkflowEditor.ts +262 -0
- package/src/components/workflow/validateConfig.ts +70 -0
- package/src/hooks/useActiveDispatches.ts +198 -0
- package/src/hooks/useBoardSettings.ts +170 -0
- package/src/hooks/useCardDisplay.ts +57 -0
- package/src/hooks/useCcHooks.ts +24 -0
- package/src/hooks/useConfigTree.ts +51 -0
- package/src/hooks/useEnforcementRules.ts +46 -0
- package/src/hooks/useEvents.ts +59 -0
- package/src/hooks/useFileEditor.ts +165 -0
- package/src/hooks/useGates.ts +57 -0
- package/src/hooks/useIdeaActions.ts +53 -0
- package/src/hooks/useKanbanDnd.ts +410 -0
- package/src/hooks/useOrbitalConfig.ts +54 -0
- package/src/hooks/usePipeline.ts +47 -0
- package/src/hooks/usePipelineData.ts +338 -0
- package/src/hooks/useReconnect.ts +25 -0
- package/src/hooks/useScopeFilters.ts +125 -0
- package/src/hooks/useScopeSessions.ts +44 -0
- package/src/hooks/useScopes.ts +67 -0
- package/src/hooks/useSearch.ts +67 -0
- package/src/hooks/useSettings.tsx +187 -0
- package/src/hooks/useSocket.ts +25 -0
- package/src/hooks/useSourceControl.ts +105 -0
- package/src/hooks/useSprintPreflight.ts +55 -0
- package/src/hooks/useSprints.ts +154 -0
- package/src/hooks/useStatusBarHighlight.ts +18 -0
- package/src/hooks/useSwimlaneBoardSettings.ts +104 -0
- package/src/hooks/useTheme.ts +9 -0
- package/src/hooks/useTransitionReadiness.ts +53 -0
- package/src/hooks/useVersion.ts +155 -0
- package/src/hooks/useViolations.ts +65 -0
- package/src/hooks/useWorkflow.tsx +125 -0
- package/src/hooks/useZoomModifier.ts +19 -0
- package/src/index.css +797 -0
- package/src/layouts/DashboardLayout.tsx +113 -0
- package/src/lib/collisionDetection.ts +20 -0
- package/src/lib/scope-fields.ts +61 -0
- package/src/lib/swimlane.ts +146 -0
- package/src/lib/utils.ts +15 -0
- package/src/main.tsx +19 -0
- package/src/socket.ts +11 -0
- package/src/types/index.ts +497 -0
- package/src/views/AgentFeed.tsx +339 -0
- package/src/views/DeployPipeline.tsx +59 -0
- package/src/views/EnforcementView.tsx +378 -0
- package/src/views/PrimitivesConfig.tsx +500 -0
- package/src/views/QualityGates.tsx +1012 -0
- package/src/views/ScopeBoard.tsx +454 -0
- package/src/views/SessionTimeline.tsx +516 -0
- package/src/views/Settings.tsx +183 -0
- package/src/views/SourceControl.tsx +95 -0
- package/src/views/WorkflowVisualizer.tsx +382 -0
- package/tailwind.config.js +161 -0
- package/templates/agents/AUTO-INVOKE.md +180 -0
- package/templates/agents/CONFLICT-RESOLUTION.md +128 -0
- package/templates/agents/QUICK-REFERENCE.md +122 -0
- package/templates/agents/README.md +188 -0
- package/templates/agents/SKILL-TRIGGERS.md +100 -0
- package/templates/agents/blue-team/frontend-designer.md +424 -0
- package/templates/agents/green-team/architect.md +526 -0
- package/templates/agents/green-team/rules-enforcer.md +131 -0
- package/templates/agents/red-team/attacker-learned.md +24 -0
- package/templates/agents/red-team/attacker.md +486 -0
- package/templates/agents/red-team/chaos.md +548 -0
- package/templates/agents/reference/component-registry.md +82 -0
- package/templates/agents/workflows/full-mode.md +218 -0
- package/templates/agents/workflows/quick-mode.md +118 -0
- package/templates/agents/workflows/security-mode.md +283 -0
- package/templates/anti-patterns/dangerous-shortcuts.md +427 -0
- package/templates/config/agent-triggers.json +92 -0
- package/templates/hooks/agent-team-gate.sh +31 -0
- package/templates/hooks/agent-trigger.sh +97 -0
- package/templates/hooks/block-push.sh +66 -0
- package/templates/hooks/block-workarounds.sh +61 -0
- package/templates/hooks/blocker-check.sh +28 -0
- package/templates/hooks/completion-checklist.sh +28 -0
- package/templates/hooks/decision-capture.sh +15 -0
- package/templates/hooks/dependency-check.sh +27 -0
- package/templates/hooks/end-session.sh +31 -0
- package/templates/hooks/exploration-logger.sh +37 -0
- package/templates/hooks/files-changed-summary.sh +37 -0
- package/templates/hooks/get-session-id.sh +49 -0
- package/templates/hooks/git-commit-guard.sh +34 -0
- package/templates/hooks/init-session.sh +93 -0
- package/templates/hooks/orbital-emit.sh +79 -0
- package/templates/hooks/orbital-report-deploy.sh +78 -0
- package/templates/hooks/orbital-report-gates.sh +40 -0
- package/templates/hooks/orbital-report-violation.sh +36 -0
- package/templates/hooks/orbital-scope-update.sh +53 -0
- package/templates/hooks/phase-verify-reminder.sh +26 -0
- package/templates/hooks/review-gate-check.sh +82 -0
- package/templates/hooks/scope-commit-logger.sh +37 -0
- package/templates/hooks/scope-create-cleanup.sh +36 -0
- package/templates/hooks/scope-create-gate.sh +80 -0
- package/templates/hooks/scope-create-tracker.sh +17 -0
- package/templates/hooks/scope-file-sync.sh +53 -0
- package/templates/hooks/scope-gate.sh +35 -0
- package/templates/hooks/scope-helpers.sh +188 -0
- package/templates/hooks/scope-lifecycle-gate.sh +139 -0
- package/templates/hooks/scope-prepare.sh +244 -0
- package/templates/hooks/scope-transition.sh +172 -0
- package/templates/hooks/session-enforcer.sh +143 -0
- package/templates/hooks/time-tracker.sh +33 -0
- package/templates/lessons-learned.md +15 -0
- package/templates/orbital.config.json +35 -0
- package/templates/presets/development.json +42 -0
- package/templates/presets/gitflow.json +712 -0
- package/templates/presets/minimal.json +23 -0
- package/templates/quick/rules.md +218 -0
- package/templates/scopes/_template.md +255 -0
- package/templates/settings-hooks.json +98 -0
- package/templates/skills/git-commit/SKILL.md +85 -0
- package/templates/skills/git-dev/SKILL.md +99 -0
- package/templates/skills/git-hotfix/SKILL.md +223 -0
- package/templates/skills/git-main/SKILL.md +84 -0
- package/templates/skills/git-production/SKILL.md +165 -0
- package/templates/skills/git-staging/SKILL.md +112 -0
- package/templates/skills/scope-create/SKILL.md +81 -0
- package/templates/skills/scope-fix-review/SKILL.md +168 -0
- package/templates/skills/scope-implement/SKILL.md +110 -0
- package/templates/skills/scope-post-review/SKILL.md +144 -0
- package/templates/skills/scope-pre-review/SKILL.md +211 -0
- package/templates/skills/scope-verify/SKILL.md +201 -0
- package/templates/skills/session-init/SKILL.md +62 -0
- package/templates/skills/session-resume/SKILL.md +201 -0
- package/templates/skills/test-checks/SKILL.md +171 -0
- package/templates/skills/test-code-review/SKILL.md +252 -0
- package/tsconfig.json +25 -0
- package/vite.config.ts +38 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Miguel
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
# Orbital Command
|
|
2
|
+
|
|
3
|
+
**Mission control for Claude Code projects.**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Orbital Command is a real-time project management dashboard purpose-built for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). It gives you a visual Kanban board, sprint orchestration, a workflow DAG editor, quality gates, source control integration, and a session timeline โ all driven by a file-based event bus that works even when the server is offline.
|
|
8
|
+
|
|
9
|
+
Think of it as the control tower that turns a collection of AI-assisted coding sessions into a coordinated engineering operation.
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- **Kanban Board** โ Drag-and-drop scope cards across customizable columns. Supports swim-lane grouping, filters, sprints, and batch dispatch.
|
|
14
|
+
- **Sprint Orchestration** โ Group scopes into sprints, resolve dependencies via topological sort, and batch-dispatch to parallel Claude Code sessions with preflight checks.
|
|
15
|
+
- **Workflow Engine** โ Visual DAG editor to define columns, transitions, hooks, checklists, and confirmation levels. Ships with 4 presets (default, gitflow, development, minimal).
|
|
16
|
+
- **Quality Gates** โ 13 automated checks (type-check, lint, build, tests, rule enforcement, placeholder detection, and more). Gate verdicts block or allow scope transitions automatically.
|
|
17
|
+
- **Agent System** โ 5 AI agent definitions organized in Red/Blue/Green teams with 3 review modes (quick, full, security). Dispatch reviews from the dashboard and see findings in real time.
|
|
18
|
+
- **Source Control** โ Git overview, commit history, branch tracking, worktree management, GitHub PR integration, and deployment drift analysis.
|
|
19
|
+
- **Session Timeline** โ Browse Claude Code sessions with token counts, tool usage stats, scope associations, and one-click session resumption.
|
|
20
|
+
- **Primitives Editor** โ Browse and edit agents, skills, and hooks directly from the dashboard with a built-in file editor and workflow pipeline visualization.
|
|
21
|
+
- **File-Based Event Bus** โ No daemon required. Hooks write JSON events to `.claude/orbital-events/`; the server picks them up on next start. Events queue naturally when the server is offline.
|
|
22
|
+
|
|
23
|
+
## Requirements
|
|
24
|
+
|
|
25
|
+
- **Node.js >= 18**
|
|
26
|
+
- **Claude Code** installed and available as `claude` on your PATH
|
|
27
|
+
- **C++ compiler** for the `better-sqlite3` native module:
|
|
28
|
+
- macOS: Xcode Command Line Tools (`xcode-select --install`)
|
|
29
|
+
- Linux: `build-essential` (`apt install build-essential`)
|
|
30
|
+
|
|
31
|
+
## Installation
|
|
32
|
+
|
|
33
|
+
**Global install (recommended for regular use):**
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm install -g github:SakaraLabs/orbital-command
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This registers the `orbital` command globally. Then in any project:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
orbital init
|
|
43
|
+
orbital dev
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Without global install:**
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npx github:SakaraLabs/orbital-command init
|
|
50
|
+
npx github:SakaraLabs/orbital-command dev
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Quick Start
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# 1. Navigate to your project
|
|
57
|
+
cd my-project
|
|
58
|
+
|
|
59
|
+
# 2. Scaffold Orbital Command (hooks, skills, agents, config)
|
|
60
|
+
orbital init
|
|
61
|
+
|
|
62
|
+
# 3. Launch the dashboard
|
|
63
|
+
orbital dev
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Open [http://localhost:4445](http://localhost:4445) in your browser. The API server runs on port 4444.
|
|
67
|
+
|
|
68
|
+
The `init` command is non-destructive โ it skips files that already exist. Pass `--force` to overwrite everything with the latest templates.
|
|
69
|
+
|
|
70
|
+
## What Gets Installed
|
|
71
|
+
|
|
72
|
+
After `orbital init`, your project receives:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
.claude/
|
|
76
|
+
orbital.config.json # Project configuration
|
|
77
|
+
settings.local.json # Hook registrations (merged, not overwritten)
|
|
78
|
+
hooks/ # 32 lifecycle hook scripts
|
|
79
|
+
skills/ # 16 skill definitions
|
|
80
|
+
agents/ # Agent team definitions + workflow docs
|
|
81
|
+
config/
|
|
82
|
+
workflow.json # Active workflow configuration
|
|
83
|
+
workflows/ # Workflow presets (default, gitflow, development, minimal)
|
|
84
|
+
agent-triggers.json # Auto-invoke rules for agents
|
|
85
|
+
scopes/
|
|
86
|
+
_template.md # Scope document template
|
|
87
|
+
icebox/ # Starting directory for scope documents
|
|
88
|
+
planning/ # (directories created per workflow preset)
|
|
89
|
+
...
|
|
90
|
+
.gitignore # Orbital patterns appended
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
| Category | Count | Description |
|
|
94
|
+
|----------|-------|-------------|
|
|
95
|
+
| Hooks | 32 | Shell scripts triggered by Claude Code lifecycle events |
|
|
96
|
+
| Skills | 16 | Scope lifecycle, git operations, testing, and session management |
|
|
97
|
+
| Agents | 5 | Red, Blue, and Green team agent definitions |
|
|
98
|
+
| Presets | 4 | `default` (7 columns), `gitflow` (9 columns), `development` (5 columns), `minimal` (3 columns) |
|
|
99
|
+
|
|
100
|
+
## Dashboard Views
|
|
101
|
+
|
|
102
|
+
| View | Path | Description |
|
|
103
|
+
|------|------|-------------|
|
|
104
|
+
| **Kanban** | `/` | Scope board with drag-and-drop, swim lanes, sprint containers, batch dispatch |
|
|
105
|
+
| **Primitives** | `/primitives` | Browse and edit agents, skills, and hooks with a directory tree and file editor |
|
|
106
|
+
| **Safeguards** | `/gates` | Quality gate status, violation trends, enforcement rules, override audit trail |
|
|
107
|
+
| **Repo** | `/repo` | Git overview, commit log, branches, worktrees, GitHub PRs, deployment history |
|
|
108
|
+
| **Sessions** | `/sessions` | Claude Code session timeline with token stats, tool usage, and resume capability |
|
|
109
|
+
| **Workflow** | `/workflow` | Visual DAG editor for columns, transitions, hooks, and presets |
|
|
110
|
+
| **Settings** | `/settings` | Theme toggle, font selection, and UI scale adjustment |
|
|
111
|
+
|
|
112
|
+
## CLI Reference
|
|
113
|
+
|
|
114
|
+
| Command | Description |
|
|
115
|
+
|---------|-------------|
|
|
116
|
+
| `orbital init` | Scaffold hooks, skills, agents, and config into the current project |
|
|
117
|
+
| `orbital init --force` | Re-scaffold, overwriting all existing files with latest templates |
|
|
118
|
+
| `orbital dev` | Start the API server and Vite dev server concurrently |
|
|
119
|
+
| `orbital build` | Production build of the dashboard frontend |
|
|
120
|
+
| `orbital emit <TYPE> [JSON]` | Emit an event to the file-based event bus |
|
|
121
|
+
| `orbital update` | Re-copy hooks, skills, agents, and presets (overwrites). Pass `--include-examples` to include domain-specific example agents |
|
|
122
|
+
| `orbital uninstall` | Remove all Orbital artifacts from the project. Preserves `scopes/` and event history |
|
|
123
|
+
|
|
124
|
+
## Workflow Presets
|
|
125
|
+
|
|
126
|
+
Orbital ships with 4 workflow presets. Switch between them at any time via the Workflow Visualizer in the dashboard.
|
|
127
|
+
|
|
128
|
+
### Default (7 columns, trunk-based)
|
|
129
|
+
|
|
130
|
+
**Icebox** โ **Planning** โ **Backlog** โ **Implementing** โ **Review** โ **Completed** โ **Main**
|
|
131
|
+
|
|
132
|
+
The standard trunk-based workflow. 13 transition edges including shortcuts (planning โ implementing), backward transitions for rework, and forward paths. 30 hooks for session management, scope lifecycle, quality gates, and event reporting. Best for most projects.
|
|
133
|
+
|
|
134
|
+
### Gitflow (9 columns, worktree isolation)
|
|
135
|
+
|
|
136
|
+
**Icebox** โ **Planning** โ **Backlog** โ **Implementing** โ **Review** โ **Completed** โ **Dev** โ **Staging** โ **Production**
|
|
137
|
+
|
|
138
|
+
Full gitflow with branch-per-scope worktree isolation. 16 transition edges, feature branches merged to dev, PRs to staging, and production releases. 30 hooks. Best for teams with formal release processes.
|
|
139
|
+
|
|
140
|
+
### Development (5 columns, trunk-based)
|
|
141
|
+
|
|
142
|
+
**Backlog** โ **Implementing** โ **Review** โ **Completed** โ **Dev**
|
|
143
|
+
|
|
144
|
+
Streamlined flow that drops planning and deploy stages. 6 transition edges, no hooks. Good for active development before you have a staging/production pipeline.
|
|
145
|
+
|
|
146
|
+
### Minimal (3 columns, trunk-based)
|
|
147
|
+
|
|
148
|
+
**To Do** โ **In Progress** โ **Done**
|
|
149
|
+
|
|
150
|
+
Simplest possible board. 2 transition edges, no hooks, no event inference. Good for experiments, hackathons, or projects that just need a task board.
|
|
151
|
+
|
|
152
|
+
## Skills
|
|
153
|
+
|
|
154
|
+
Skills are slash commands that Claude Code agents use to navigate your workflow. They're installed as markdown files in `.claude/skills/`.
|
|
155
|
+
|
|
156
|
+
### Scope Lifecycle
|
|
157
|
+
| Skill | Command | Purpose |
|
|
158
|
+
|-------|---------|---------|
|
|
159
|
+
| Create | `/scope-create` | Create a structured scope document with phases and success criteria |
|
|
160
|
+
| Implement | `/scope-implement` | Execute a scope end-to-end following defined phases |
|
|
161
|
+
| Pre-Review | `/scope-pre-review` | Run full agent team analysis before implementation |
|
|
162
|
+
| Post-Review | `/scope-post-review` | Orchestrate post-implementation quality gates and code review |
|
|
163
|
+
| Verify | `/scope-verify` | Formal review gate checking spec compliance and test results |
|
|
164
|
+
| Fix Review | `/scope-fix-review` | Execute all code review findings from agent team |
|
|
165
|
+
|
|
166
|
+
### Git Operations
|
|
167
|
+
| Skill | Command | Purpose |
|
|
168
|
+
|-------|---------|---------|
|
|
169
|
+
| Commit | `/git-commit` | Routes to proper git workflow (trunk/worktree aware) |
|
|
170
|
+
| Main | `/git-main` | Push or PR scope work to main branch |
|
|
171
|
+
| Dev | `/git-dev` | Merge feature branch into dev |
|
|
172
|
+
| Staging | `/git-staging` | Create PR from dev to staging |
|
|
173
|
+
| Production | `/git-production` | Create release PR from staging to main |
|
|
174
|
+
| Hotfix | `/git-hotfix` | Emergency fix branching from main |
|
|
175
|
+
|
|
176
|
+
### Testing & Sessions
|
|
177
|
+
| Skill | Command | Purpose |
|
|
178
|
+
|-------|---------|---------|
|
|
179
|
+
| Checks | `/test-checks` | Run 13 quality gates (lint, typecheck, rules, etc.) |
|
|
180
|
+
| Code Review | `/test-code-review` | Full validation suite with agent code review |
|
|
181
|
+
| Session Init | `/session-init` | Initialize work session with project context |
|
|
182
|
+
| Session Resume | `/session-resume` | Resume a previous session with saved context |
|
|
183
|
+
|
|
184
|
+
## Agent System
|
|
185
|
+
|
|
186
|
+
Agents are AI-powered review sessions with specialized perspectives. They run as parallel Claude Code sessions and report findings back to the dashboard.
|
|
187
|
+
|
|
188
|
+
### Red Team โ Adversarial
|
|
189
|
+
|
|
190
|
+
| Agent | Trigger | Focus |
|
|
191
|
+
|-------|---------|-------|
|
|
192
|
+
| **Attacker** ๐ก๏ธ | Security-sensitive changes | Credential extraction, injection vectors, API over-exposure, resource exhaustion, state corruption |
|
|
193
|
+
| **Chaos** ๐ฅ | New features, state changes, external calls | Partial completion, concurrent access conflicts, stale data, orphaned locks, queue backups |
|
|
194
|
+
|
|
195
|
+
### Blue Team โ Domain Experts
|
|
196
|
+
|
|
197
|
+
| Agent | Trigger | Focus |
|
|
198
|
+
|-------|---------|-------|
|
|
199
|
+
| **Frontend Designer** ๐จ | Frontend changes, user-facing features | React components, UX patterns, style consistency, data accuracy, real-time updates |
|
|
200
|
+
|
|
201
|
+
### Green Team โ Guardians
|
|
202
|
+
|
|
203
|
+
| Agent | Trigger | Focus |
|
|
204
|
+
|-------|---------|-------|
|
|
205
|
+
| **Architect** ๐๏ธ | New features, structural changes | Layer separation, module boundaries, pattern consistency, database integrity |
|
|
206
|
+
| **Rules Enforcer** ๐ | Every commit (blocking) | No `any` types, no console.log, file size limits, import ordering, project rules |
|
|
207
|
+
|
|
208
|
+
### Review Modes
|
|
209
|
+
|
|
210
|
+
Agents can run in three modes, configured per-transition in the workflow:
|
|
211
|
+
|
|
212
|
+
- **Quick** โ Fast feedback from relevant agents only
|
|
213
|
+
- **Full** โ Complete analysis from all agents
|
|
214
|
+
- **Security** โ Enhanced scrutiny with red team focus
|
|
215
|
+
|
|
216
|
+
## Quality Gates
|
|
217
|
+
|
|
218
|
+
Orbital tracks 13 automated quality checks that can block or allow scope transitions:
|
|
219
|
+
|
|
220
|
+
| Gate | What it checks |
|
|
221
|
+
|------|---------------|
|
|
222
|
+
| `type-check` | TypeScript compilation |
|
|
223
|
+
| `lint` | Linter rules |
|
|
224
|
+
| `build` | Build succeeds |
|
|
225
|
+
| `tests` | Test suite passes |
|
|
226
|
+
| `rule-enforcement` | Project-specific rules |
|
|
227
|
+
| `template-validation` | Template compliance |
|
|
228
|
+
| `doc-links` | Documentation links valid |
|
|
229
|
+
| `doc-freshness` | Docs not stale |
|
|
230
|
+
| `no-placeholders` | No TODO/FIXME left behind |
|
|
231
|
+
| `no-mock-data` | No hardcoded test data |
|
|
232
|
+
| `no-shortcuts` | No workaround hacks |
|
|
233
|
+
| `no-default-secrets` | No hardcoded credentials |
|
|
234
|
+
| `no-stale-scopes` | Scopes aren't abandoned |
|
|
235
|
+
|
|
236
|
+
Gates are reported by hooks and displayed in the Safeguards view with trend charts and override tracking.
|
|
237
|
+
|
|
238
|
+
## Configuration
|
|
239
|
+
|
|
240
|
+
All configuration lives in `.claude/orbital.config.json`:
|
|
241
|
+
|
|
242
|
+
```jsonc
|
|
243
|
+
{
|
|
244
|
+
"projectName": "My Project",
|
|
245
|
+
"scopesDir": "scopes",
|
|
246
|
+
"eventsDir": ".claude/orbital-events",
|
|
247
|
+
"dbDir": ".claude/orbital",
|
|
248
|
+
"configDir": ".claude/config",
|
|
249
|
+
"serverPort": 4444,
|
|
250
|
+
"clientPort": 4445,
|
|
251
|
+
|
|
252
|
+
"terminal": {
|
|
253
|
+
"adapter": "auto", // "auto" | "iterm2" | "subprocess" | "none"
|
|
254
|
+
"profilePrefix": "Orbital"
|
|
255
|
+
},
|
|
256
|
+
|
|
257
|
+
"claude": {
|
|
258
|
+
"executable": "claude",
|
|
259
|
+
"flags": ["--dangerously-skip-permissions"]
|
|
260
|
+
},
|
|
261
|
+
|
|
262
|
+
// Project-specific commands (null = disabled)
|
|
263
|
+
"commands": {
|
|
264
|
+
"typeCheck": null, // e.g. "npx tsc --noEmit"
|
|
265
|
+
"lint": null, // e.g. "npx eslint ."
|
|
266
|
+
"build": null, // e.g. "npm run build"
|
|
267
|
+
"test": null // e.g. "npm test"
|
|
268
|
+
},
|
|
269
|
+
|
|
270
|
+
"categories": ["feature", "bugfix", "refactor", "infrastructure", "docs"],
|
|
271
|
+
|
|
272
|
+
"agents": [
|
|
273
|
+
{ "id": "attacker", "label": "Attacker", "emoji": "๐ก๏ธ", "color": "#ff1744" },
|
|
274
|
+
{ "id": "chaos", "label": "Chaos", "emoji": "๐ฅ", "color": "#F97316" },
|
|
275
|
+
{ "id": "frontend-designer", "label": "Frontend Designer", "emoji": "๐จ", "color": "#EC4899" },
|
|
276
|
+
{ "id": "architect", "label": "Architect", "emoji": "๐๏ธ", "color": "#536dfe" },
|
|
277
|
+
{ "id": "rules-enforcer", "label": "Rules Enforcer", "emoji": "๐", "color": "#6B7280" }
|
|
278
|
+
]
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
## Architecture
|
|
283
|
+
|
|
284
|
+
```
|
|
285
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
286
|
+
โ Browser (React 18) โ
|
|
287
|
+
โ Kanban ยท Primitives ยท Safeguards ยท Repo ยท Sessions ยท DAG โ
|
|
288
|
+
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
289
|
+
โ Socket.io + REST (/api/orbital/*)
|
|
290
|
+
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
291
|
+
โ Express Server (:4444) โ
|
|
292
|
+
โ ScopeService ยท SprintOrchestrator ยท BatchOrchestrator โ
|
|
293
|
+
โ WorkflowService ยท GateService ยท GitService ยท ConfigService โ
|
|
294
|
+
โโโโโโโโฌโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
295
|
+
โ โ
|
|
296
|
+
โโโโโโผโโโโโ โโโโโโโโผโโโโโโโโ
|
|
297
|
+
โ SQLite โ โ Filesystem โ
|
|
298
|
+
โ (WAL) โ โ (scopes + โ
|
|
299
|
+
โ โ โ events) โ
|
|
300
|
+
โโโโโโโโโโโ โโโโโโโโโโโโโโโโ
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
| Layer | Technology | Role |
|
|
304
|
+
|-------|-----------|------|
|
|
305
|
+
| **Frontend** | React 18 + Vite + Tailwind CSS + Radix UI | Dashboard with drag-and-drop Kanban, Recharts visualizations, React Flow DAG editor |
|
|
306
|
+
| **Server** | Express + Socket.io | REST API under `/api/orbital/*`, real-time push, file watchers via chokidar |
|
|
307
|
+
| **Database** | SQLite via better-sqlite3 (WAL mode) | Zero-setup storage for sessions, events, gates, deploys, and sprints |
|
|
308
|
+
| **Event Bus** | Filesystem (`.claude/orbital-events/`) | JSON event files written by hooks; ingested on startup and watched in real time |
|
|
309
|
+
| **Workflow Engine** | Pure TypeScript (shared) | Config-driven transitions, validation, event inference, shell manifest generation |
|
|
310
|
+
| **Hooks** | Shell scripts (`.claude/hooks/`) | 32 scripts triggered by Claude Code lifecycle events (SessionStart, SessionEnd, PreToolUse, PostToolUse) |
|
|
311
|
+
| **Skills** | Markdown (`.claude/skills/`) | 16 skill definitions that teach Claude Code how to navigate your workflow |
|
|
312
|
+
| **Agents** | Markdown (`.claude/agents/`) | Team-based agent definitions dispatched as parallel Claude Code sessions |
|
|
313
|
+
|
|
314
|
+
## How It Works
|
|
315
|
+
|
|
316
|
+
### Scopes
|
|
317
|
+
Scopes are the unit of work in Orbital Command. Each scope is a markdown file with YAML frontmatter stored in `scopes/<column>/`. Moving a scope between columns on the board physically moves the file between directories.
|
|
318
|
+
|
|
319
|
+
```markdown
|
|
320
|
+
---
|
|
321
|
+
id: "042"
|
|
322
|
+
title: Add user authentication
|
|
323
|
+
status: implementing
|
|
324
|
+
category: feature
|
|
325
|
+
priority: high
|
|
326
|
+
blocked_by: ["041"]
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## Specification
|
|
330
|
+
...
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Event Flow
|
|
334
|
+
1. Claude Code hooks fire during sessions (tool use, session start/end)
|
|
335
|
+
2. Hooks write JSON event files to `.claude/orbital-events/`
|
|
336
|
+
3. The server's file watcher picks them up and ingests into SQLite
|
|
337
|
+
4. Socket.io pushes updates to the dashboard in real time
|
|
338
|
+
5. If the server is offline, events queue as files and get ingested on next start
|
|
339
|
+
|
|
340
|
+
### Dispatch
|
|
341
|
+
When you dispatch a scope from the dashboard, Orbital:
|
|
342
|
+
1. Validates the transition is allowed by the workflow
|
|
343
|
+
2. Resolves the skill command for the edge (e.g., `/scope-implement`)
|
|
344
|
+
3. Spawns a Claude Code session in a terminal (iTerm2 tabs or subprocess)
|
|
345
|
+
4. Tracks the session lifecycle via hooks
|
|
346
|
+
5. Updates scope status as events flow back
|
|
347
|
+
|
|
348
|
+
## FAQ
|
|
349
|
+
|
|
350
|
+
### Can I use this without Claude Code?
|
|
351
|
+
No. Orbital Command is purpose-built for Claude Code. The hooks, skills, agents, and session tracking all depend on Claude Code's lifecycle events and CLI.
|
|
352
|
+
|
|
353
|
+
### Do I need to keep the dashboard running?
|
|
354
|
+
No. The file-based event bus means hooks write events as JSON files regardless of whether the server is running. Events queue up and get ingested when you next run `orbital dev`.
|
|
355
|
+
|
|
356
|
+
### How do I customize the workflow columns?
|
|
357
|
+
Open the Workflow Visualizer (`/workflow` in the dashboard). You can add/remove columns, create transitions, attach hooks, and set confirmation levels. Or edit `.claude/config/workflow.json` directly. Changes take effect immediately.
|
|
358
|
+
|
|
359
|
+
### How do I add my own agents?
|
|
360
|
+
Create a markdown file in `.claude/agents/<team>/` following the structure of existing agents. Add the agent to the `agents` array in `orbital.config.json` to show it in the dashboard. Agents are dispatched as independent Claude Code sessions with the markdown file as their system prompt.
|
|
361
|
+
|
|
362
|
+
### What's the difference between trunk and worktree branching modes?
|
|
363
|
+
**Trunk mode** (default, development, minimal presets): All work happens on a single branch. Scopes commit directly. Simpler, good for solo or small teams.
|
|
364
|
+
|
|
365
|
+
**Worktree mode** (gitflow preset): Each scope gets its own git worktree and feature branch. Merges happen through PRs. Better for teams with formal review processes.
|
|
366
|
+
|
|
367
|
+
### How do sprints work?
|
|
368
|
+
Sprints group multiple scopes for batch execution. The orchestrator resolves dependencies using topological sort (Kahn's algorithm), organizes scopes into execution layers, then dispatches them in parallel with staggered 2-second intervals. One active batch per workflow column.
|
|
369
|
+
|
|
370
|
+
### How do I reset everything?
|
|
371
|
+
```bash
|
|
372
|
+
orbital uninstall # Remove all Orbital artifacts
|
|
373
|
+
orbital init --force # Re-scaffold from scratch
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
This preserves your `scopes/` directory and event history.
|
|
377
|
+
|
|
378
|
+
### Can I use a different terminal than iTerm2?
|
|
379
|
+
Yes. Set `terminal.adapter` in your config:
|
|
380
|
+
- `"auto"` โ Detects iTerm2 on macOS, falls back to subprocess
|
|
381
|
+
- `"iterm2"` โ macOS iTerm2 with categorized tab groups
|
|
382
|
+
- `"subprocess"` โ Generic subprocess spawning (works everywhere)
|
|
383
|
+
- `"none"` โ Disable terminal dispatch
|
|
384
|
+
|
|
385
|
+
## Contributing
|
|
386
|
+
|
|
387
|
+
1. Fork the repository and clone locally
|
|
388
|
+
2. Install dependencies: `npm install`
|
|
389
|
+
3. Start development: `npm run dev:local`
|
|
390
|
+
4. Typecheck: `npm run typecheck`
|
|
391
|
+
|
|
392
|
+
Open an issue first for large changes or new features.
|
|
393
|
+
|
|
394
|
+
## License
|
|
395
|
+
|
|
396
|
+
MIT
|