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,161 @@
1
+ import tailwindcssAnimate from 'tailwindcss-animate';
2
+
3
+ /** @type {import('tailwindcss').Config} */
4
+ export default {
5
+ darkMode: ['class'],
6
+ content: [
7
+ './index.html',
8
+ './src/**/*.{js,ts,jsx,tsx}',
9
+ ],
10
+ theme: {
11
+ container: {
12
+ center: true,
13
+ padding: '2rem',
14
+ screens: { '2xl': '1400px' },
15
+ },
16
+ extend: {
17
+ fontSize: {
18
+ 'xxs': ['11px', { lineHeight: '15px' }],
19
+ 'xs': ['12px', { lineHeight: '17px' }],
20
+ 'sm': ['13px', { lineHeight: '19px' }],
21
+ 'base': ['14px', { lineHeight: '20px' }],
22
+ 'lg': ['16px', { lineHeight: '22px' }],
23
+ 'xl': ['18px', { lineHeight: '24px' }],
24
+ '2xl': ['20px', { lineHeight: '26px' }],
25
+ },
26
+ colors: {
27
+ border: 'hsl(var(--border))',
28
+ input: 'hsl(var(--input))',
29
+ ring: 'hsl(var(--ring))',
30
+ background: 'hsl(var(--background))',
31
+ foreground: 'hsl(var(--foreground))',
32
+ primary: {
33
+ DEFAULT: 'hsl(var(--primary))',
34
+ foreground: 'hsl(var(--primary-foreground))',
35
+ },
36
+ secondary: {
37
+ DEFAULT: 'hsl(var(--secondary))',
38
+ foreground: 'hsl(var(--secondary-foreground))',
39
+ },
40
+ destructive: {
41
+ DEFAULT: 'hsl(var(--destructive))',
42
+ foreground: 'hsl(var(--destructive-foreground))',
43
+ },
44
+ muted: {
45
+ DEFAULT: 'hsl(var(--muted))',
46
+ foreground: 'hsl(var(--muted-foreground))',
47
+ },
48
+ accent: {
49
+ DEFAULT: 'hsl(var(--accent))',
50
+ foreground: 'hsl(var(--accent-foreground))',
51
+ },
52
+ popover: {
53
+ DEFAULT: 'hsl(var(--popover))',
54
+ foreground: 'hsl(var(--popover-foreground))',
55
+ },
56
+ card: {
57
+ DEFAULT: 'hsl(var(--card))',
58
+ foreground: 'hsl(var(--card-foreground))',
59
+ },
60
+ // Hunter surface tokens
61
+ 'surface': '#12121a',
62
+ 'surface-light': '#1a1a28',
63
+ // Hunter accent tokens
64
+ 'bid-green': '#00c853',
65
+ 'ask-red': '#ff1744',
66
+ 'accent-blue': '#06b6d4',
67
+ 'warning-amber': '#ffab00',
68
+ 'info-cyan': '#40c4ff',
69
+ // Status colors — dynamic CSS variables injected by WorkflowProvider
70
+ 'status': {
71
+ 'icebox': 'hsl(var(--status-icebox))',
72
+ 'planning': 'hsl(var(--status-planning))',
73
+ 'backlog': 'hsl(var(--status-backlog))',
74
+ 'implementing': 'hsl(var(--status-implementing))',
75
+ 'review': 'hsl(var(--status-review))',
76
+ 'completed': 'hsl(var(--status-completed))',
77
+ 'dev': 'hsl(var(--status-dev))',
78
+ 'staging': 'hsl(var(--status-staging))',
79
+ 'production': 'hsl(var(--status-production))',
80
+ },
81
+ // Category and agent colors — injected as CSS variables from orbital.config.json
82
+ // Use var(--category-<name>) and var(--agent-<name>) in components
83
+ 'category': {
84
+ 'feature': 'var(--category-feature, #536dfe)',
85
+ 'bugfix': 'var(--category-bugfix, #ff1744)',
86
+ 'refactor': 'var(--category-refactor, #8B5CF6)',
87
+ 'infrastructure': 'var(--category-infrastructure, #40c4ff)',
88
+ 'docs': 'var(--category-docs, #6B7280)',
89
+ },
90
+ 'agent': {
91
+ 'attacker': 'var(--agent-attacker, #ff1744)',
92
+ 'chaos': 'var(--agent-chaos, #F97316)',
93
+ 'solana': 'var(--agent-solana, #8B5CF6)',
94
+ 'frontend': 'var(--agent-frontend, #EC4899)',
95
+ 'architect': 'var(--agent-architect, #536dfe)',
96
+ 'devops': 'var(--agent-devops, #40c4ff)',
97
+ 'rules': 'var(--agent-rules, #6B7280)',
98
+ },
99
+ },
100
+ borderRadius: {
101
+ lg: '0.375rem',
102
+ md: '0.25rem',
103
+ sm: '0.125rem',
104
+ },
105
+ fontFamily: {
106
+ sans: ['var(--font-family)', 'monospace'],
107
+ mono: ['var(--font-family)', 'monospace'],
108
+ },
109
+ animation: {
110
+ 'fade-in': 'fadeIn 0.3s ease-in-out',
111
+ 'slide-up': 'slideUp 0.3s ease-out',
112
+ 'slide-right': 'slideRight 0.3s ease-out',
113
+ 'pulse-dot': 'pulseDot 2s ease-in-out infinite',
114
+ 'pulse-border': 'pulseBorder 2s ease-in-out infinite',
115
+ 'accordion-down': 'accordion-down 0.2s ease-out',
116
+ 'accordion-up': 'accordion-up 0.2s ease-out',
117
+ 'glow-pulse': 'glowPulse 2s ease-in-out infinite',
118
+ 'breathe': 'breathe 3s ease-in-out infinite',
119
+ },
120
+ keyframes: {
121
+ fadeIn: {
122
+ '0%': { opacity: '0' },
123
+ '100%': { opacity: '1' },
124
+ },
125
+ slideUp: {
126
+ '0%': { transform: 'translateY(10px)', opacity: '0' },
127
+ '100%': { transform: 'translateY(0)', opacity: '1' },
128
+ },
129
+ slideRight: {
130
+ '0%': { transform: 'translateX(-10px)', opacity: '0' },
131
+ '100%': { transform: 'translateX(0)', opacity: '1' },
132
+ },
133
+ pulseDot: {
134
+ '0%, 100%': { opacity: '1' },
135
+ '50%': { opacity: '0.3' },
136
+ },
137
+ pulseBorder: {
138
+ '0%, 100%': { borderColor: 'rgba(0, 188, 212, 0.3)' },
139
+ '50%': { borderColor: 'rgba(0, 188, 212, 0.8)' },
140
+ },
141
+ 'accordion-down': {
142
+ from: { height: '0' },
143
+ to: { height: 'var(--radix-accordion-content-height)' },
144
+ },
145
+ 'accordion-up': {
146
+ from: { height: 'var(--radix-accordion-content-height)' },
147
+ to: { height: '0' },
148
+ },
149
+ glowPulse: {
150
+ '0%, 100%': { boxShadow: '0 0 8px rgba(0,188,212,0.25)' },
151
+ '50%': { boxShadow: '0 0 18px rgba(0,188,212,0.5)' },
152
+ },
153
+ breathe: {
154
+ '0%, 100%': { opacity: '1', transform: 'scale(1)' },
155
+ '50%': { opacity: '0.85', transform: 'scale(1.02)' },
156
+ },
157
+ },
158
+ },
159
+ },
160
+ plugins: [tailwindcssAnimate],
161
+ };
@@ -0,0 +1,180 @@
1
+ ---
2
+ name: auto-invoke
3
+ description: Always loaded during task triage. Defines which agents trigger for which file patterns.
4
+ tokens: ~3K
5
+ load-when: Always (embedded in task triage)
6
+ last-verified: 2026-01-11
7
+ ---
8
+
9
+ # Agent Auto-Invocation Rules
10
+
11
+ ## Overview
12
+
13
+ Agents are automatically invoked based on three layers of triggers. You never need to manually request an agent.
14
+
15
+ ---
16
+
17
+ ## Layer 1: Hard Triggers (Non-Negotiable)
18
+
19
+ These file patterns **ALWAYS** trigger specific agents, no exceptions.
20
+
21
+ *File patterns are configurable via `orbital.config.json` and `.claude/config/agent-triggers.json`.*
22
+
23
+ ### High-Risk Files -> Full Security Review
24
+
25
+ | File Pattern | Agents Triggered | Reason |
26
+ |--------------|------------------|--------|
27
+ | `encrypt*.ts` | Attacker | Secret handling |
28
+ | `auth*.ts` | Attacker | Authentication |
29
+ | `controllers/*.ts` (new routes) | Attacker + Architect | API surface |
30
+ | `middleware/*.ts` | Attacker + Architect | Auth/security middleware |
31
+
32
+ ### Domain Files -> Expert Review
33
+
34
+ | File Pattern | Agents Triggered | Reason |
35
+ |--------------|------------------|--------|
36
+ | `frontend/src/**/*` | Frontend Designer | UI components |
37
+ | `migrations/*` | Architect | Schema changes |
38
+ | `config/*.ts` | Chaos | Configuration changes |
39
+ | `*.test.ts` | Rules Enforcer | Test quality |
40
+
41
+ ### Infrastructure Files -> Architecture Review
42
+
43
+ | File Pattern | Agents Triggered | Reason |
44
+ |--------------|------------------|--------|
45
+ | `Dockerfile` | Architect + Chaos | Container config |
46
+ | `.github/workflows/*.yml` | Architect + Chaos | CI/CD pipeline |
47
+ | `docker-compose.yml` | Architect | Local dev setup |
48
+
49
+ ---
50
+
51
+ ## Layer 2: Smart Triggers (Task-Based)
52
+
53
+ ### Feature Development
54
+ ```
55
+ Task contains: "add", "create", "implement", "new feature"
56
+ Trigger: Architect + Chaos + Frontend Designer + [domain experts]
57
+ ```
58
+
59
+ ### Bug Fixes
60
+ ```
61
+ Task contains: "fix", "bug", "broken", "not working"
62
+ Trigger: Chaos + [domain expert for affected area]
63
+ ```
64
+
65
+ ### Refactoring
66
+ ```
67
+ Task contains: "refactor", "restructure", "split", "extract"
68
+ Trigger: Architect + [domain expert] + Chaos
69
+ ```
70
+
71
+ ### Security Work
72
+ ```
73
+ Task contains: "auth", "permission", "encrypt", "secret", "token", "password"
74
+ Trigger: Attacker (SECURITY MODE - runs twice)
75
+ ```
76
+
77
+ ---
78
+
79
+ ## Layer 3: Always-On
80
+
81
+ | Agent | When | Mode |
82
+ |-------|------|------|
83
+ | Rules Enforcer | Before EVERY commit | Blocking |
84
+
85
+ ---
86
+
87
+ ## Invocation Modes
88
+
89
+ ### Full Mode (Default)
90
+ All triggered agents run. For features, refactors, significant changes.
91
+
92
+ ### Quick Mode
93
+ Only Rules Enforcer. Request with: `"quick mode: [task]"`
94
+ **Cannot use for**: Security files, new endpoints.
95
+
96
+ ### Security Mode (Automatic)
97
+ Attacker runs before AND after implementation.
98
+ Auto-triggered for: Auth, encryption, user input handling.
99
+
100
+ ---
101
+
102
+ ## High-Signal Diff Patterns
103
+
104
+ When reviewing diffs, **escalate attention** if you see these patterns. They indicate higher-risk changes even within already-triggered files.
105
+
106
+ ### Critical Patterns (Double Review)
107
+
108
+ | Pattern in Diff | Why It Matters | Action |
109
+ |-----------------|----------------|--------|
110
+ | `privateKey`, `secretKey`, `apiKey` | Secret handling | Attacker: verify no logging/exposure |
111
+ | New `catch` block without error classification | Error handling gap | Verify classification added |
112
+ | Removed `finally` block | Resource leak risk | Chaos: verify cleanup still happens |
113
+
114
+ ### Incomplete Implementation Patterns (BLOCKING)
115
+
116
+ | Pattern in Diff | Why It Matters | Action |
117
+ |-----------------|----------------|--------|
118
+ | `PLACEHOLDER`, `STUB_`, `DUMMY_` strings | Incomplete implementation | BLOCK - must implement or throw |
119
+ | `mockData`, `fakeUser`, `dummyData` | Mock data in prod | Move to test fixtures |
120
+ | `// for now`, `// TODO:`, `// FIXME:` | Untracked shortcut | Complete or link to ticket |
121
+ | `\|\| 'default-secret'` with secret/key/token | Hardcoded secret fallback | BLOCK - require env var |
122
+
123
+ ### Elevated Patterns (Extra Scrutiny)
124
+
125
+ | Pattern in Diff | Why It Matters | Action |
126
+ |-----------------|----------------|--------|
127
+ | New `setTimeout`/`setInterval` | Potential memory leak | Chaos: verify cleanup on unmount |
128
+ | `status` or `state` transitions | State machine change | Verify valid transition |
129
+ | New `res.json` in controller | Response format | Architect: verify consistent format |
130
+
131
+ ### Attention Patterns (Cross-Reference)
132
+
133
+ | Pattern in Diff | Cross-Reference With |
134
+ |-----------------|---------------------|
135
+ | New endpoint parameter | Attacker: check validation exists |
136
+ | Database column change | Architect: check migration exists |
137
+ | New WebSocket emit | Frontend Designer: check frontend handles it |
138
+ | Error message text change | Frontend Designer: check user-facing clarity |
139
+
140
+ ---
141
+
142
+ ## Scope-Aware Context
143
+
144
+ When agents are invoked for **scope reviews**, they receive focused context from the scope document rather than raw code.
145
+
146
+ ### Context Extraction
147
+
148
+ Provide agents with:
149
+ 1. **SPECIFICATION section** (primary)
150
+ 2. **PROCESS > Decisions & Reasoning** (secondary)
151
+ 3. **PROCESS > Uncertainties** (if relevant)
152
+ 4. **Files Summary table** -- determines which agents to invoke
153
+
154
+ ### Structured Output for Agent Review
155
+
156
+ Each agent should return findings in this format:
157
+
158
+ ```
159
+ [AGENT_NAME] Review:
160
+
161
+ CRITICAL:
162
+ - [Issue]: [Description] -> [Recommendation]
163
+
164
+ HIGH:
165
+ - [Issue]: [Description] -> [Recommendation]
166
+
167
+ MEDIUM:
168
+ - [Issue]: [Description]
169
+
170
+ VERIFIED OK:
171
+ - [What was checked and found correct]
172
+ ```
173
+
174
+ ---
175
+
176
+ ## Related
177
+
178
+ - [README.md](./README.md) - System overview
179
+ - [CONFLICT-RESOLUTION.md](./CONFLICT-RESOLUTION.md) - When agents disagree
180
+ - [SKILL-TRIGGERS.md](./SKILL-TRIGGERS.md) - Skill auto-suggestion rules
@@ -0,0 +1,128 @@
1
+ ---
2
+ name: conflict-resolution
3
+ description: Loaded when agents disagree. Defines priority hierarchy and escalation procedures.
4
+ tokens: ~1.5K
5
+ load-when: When agents disagree
6
+ last-verified: 2026-01-11
7
+ ---
8
+
9
+ # Agent Conflict Resolution
10
+
11
+ ## Overview
12
+
13
+ When multiple agents have conflicting recommendations, conflicts are categorized and resolved appropriately.
14
+
15
+ ---
16
+
17
+ ## Conflict Categories
18
+
19
+ ### Minor Conflicts (Auto-Resolve)
20
+
21
+ Automatically resolved using priority hierarchy:
22
+ - Style preferences
23
+ - Implementation approach when both options are valid
24
+ - "Nice to have" suggestions that contradict
25
+ - Optimization preferences with no security/safety impact
26
+
27
+ ### Major Conflicts (Human Decision Required)
28
+
29
+ Escalated to you for a decision:
30
+ - Security vs. functionality trade-offs
31
+ - Architectural decisions with long-term implications
32
+ - When two agents both flag 🚫 BLOCKER on opposing advice
33
+ - When resolution significantly changes scope or approach
34
+ - Performance vs. security trade-offs
35
+
36
+ ---
37
+
38
+ ## Priority Hierarchy
39
+
40
+ For auto-resolving minor conflicts:
41
+
42
+ ```
43
+ ┌─────────────────────────────────────────────────────────────┐
44
+ │ PRIORITY ORDER (highest to lowest) │
45
+ ├─────────────────────────────────────────────────────────────┤
46
+ │ │
47
+ │ 1. 🗡️ ATTACKER │
48
+ │ Security concerns ALWAYS win │
49
+ │ │
50
+ │ 2. 💥 CHAOS AGENT │
51
+ │ Reliability/failure modes are second │
52
+ │ │
53
+ │ 3. DOMAIN EXPERTS │
54
+ │ Domain correctness │
55
+ │ │
56
+ │ 4. 🏗️ ARCHITECT │
57
+ │ Patterns and structure │
58
+ │ │
59
+ │ 5. 🎨 FRONTEND DESIGNER │
60
+ │ UX and aesthetic preferences │
61
+ │ │
62
+ │ 6. 📋 RULES ENFORCER │
63
+ │ Code style rules │
64
+ │ │
65
+ └─────────────────────────────────────────────────────────────┘
66
+ ```
67
+
68
+ **Core Principle:** Security > Reliability > Correctness > Patterns > Aesthetics
69
+
70
+ ---
71
+
72
+ ## Major Conflict Format
73
+
74
+ When a major conflict requires your decision:
75
+
76
+ ```
77
+ ┌─────────────────────────────────────────────────────────────┐
78
+ │ ⚠️ AGENT CONFLICT - Decision Required │
79
+ ├─────────────────────────────────────────────────────────────┤
80
+ │ │
81
+ │ CONFLICT TYPE: [Security vs Functionality / etc.] │
82
+ │ │
83
+ │ ─────────────────────────────────────────────────────────── │
84
+ │ │
85
+ │ 🗡️ ATTACKER says: │
86
+ │ "[Their recommendation]" │
87
+ │ │
88
+ │ Reasoning: [Why they recommend this] │
89
+ │ Risk if ignored: [What could go wrong] │
90
+ │ │
91
+ │ ─────────────────────────────────────────────────────────── │
92
+ │ │
93
+ │ 🏗️ ARCHITECT says: │
94
+ │ "[Their opposing recommendation]" │
95
+ │ │
96
+ │ Reasoning: [Why they recommend this] │
97
+ │ Risk if ignored: [What could go wrong] │
98
+ │ │
99
+ │ ─────────────────────────────────────────────────────────── │
100
+ │ │
101
+ │ MY RECOMMENDATION: [Agent X - brief reason] │
102
+ │ │
103
+ │ But this is your call. Which approach? │
104
+ │ A) Follow [Agent X] │
105
+ │ B) Follow [Agent Y] │
106
+ │ C) Hybrid approach │
107
+ │ │
108
+ └─────────────────────────────────────────────────────────────┘
109
+ ```
110
+
111
+ ---
112
+
113
+ ## Recording Decisions
114
+
115
+ When you decide on a major conflict, document it:
116
+
117
+ ```typescript
118
+ // DECISION 2026-01-11: Using in-memory rate limiting over Redis-based
119
+ // Reason: Reduces complexity for initial launch
120
+ // Revisit: When scaling beyond single server
121
+ ```
122
+
123
+ ---
124
+
125
+ ## Related
126
+
127
+ - [README.md](./README.md) - System overview
128
+ - [AUTO-INVOKE.md](./AUTO-INVOKE.md) - When agents are triggered
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: quick-reference
3
+ description: One-page overview of the agent system. Quick reference for agent triggers and priorities.
4
+ ---
5
+
6
+ # Agent System Quick Reference
7
+
8
+ *One-page overview. Print this or keep it open.*
9
+
10
+ ---
11
+
12
+ ## Trigger Matrix
13
+
14
+ | Files Changed | Agents Activated | Mode |
15
+ |---------------|------------------|------|
16
+ | `encrypt*.ts`, `auth*.ts` | 🗡️ | SECURITY |
17
+ | `controllers/*.ts` (new routes) | 🗡️ 🏗️ | SECURITY |
18
+ | `frontend/src/**/*` | 🎨 | FULL |
19
+ | `migrations/*` | 🏗️ | FULL |
20
+ | `config/*.ts` | 💥 | FULL |
21
+ | `middleware/*.ts` | 🗡️ 🏗️ | SECURITY |
22
+
23
+ *Additional patterns are configurable via orbital.config.json and agent-triggers.json.*
24
+
25
+ ---
26
+
27
+ ## The 5 Critical Questions
28
+
29
+ Ask these for EVERY change:
30
+
31
+ 1. **🗡️ What user input reaches this code? Is it validated?**
32
+ 2. **🗡️ Can user A trigger this with user B's resource ID?**
33
+ 3. **💥 What state are we in if this line throws?**
34
+ 4. **💥 Is this idempotent on retry?**
35
+ 5. **🏗️ Does this fit our existing patterns?**
36
+
37
+ ---
38
+
39
+ ## Priority Order (Conflicts)
40
+
41
+ When agents disagree, this order wins:
42
+
43
+ ```
44
+ 🗡️ Security (1st) → 💥 Reliability (2nd) → Domain Correctness (3rd)
45
+ → 🏗️ Patterns (4th) → 🎨 Aesthetics (5th)
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Workflow Modes
51
+
52
+ | Mode | When | What Runs |
53
+ |------|------|-----------|
54
+ | **FULL** | Default for features | All triggered agents |
55
+ | **QUICK** | `"quick mode: [task]"` | Only Rules Enforcer |
56
+ | **SECURITY** | Auth/encryption/sensitive | Attacker runs twice (before + after) |
57
+
58
+ ---
59
+
60
+ ## Review Completion Checklist
61
+
62
+ Before implementing:
63
+ ```
64
+ [] All triggered agents applied
65
+ [] Attack vectors identified (if security-related)
66
+ [] Failure modes listed (always)
67
+ ```
68
+
69
+ After implementing:
70
+ ```
71
+ [] Red team stress test passed
72
+ [] No unresolved blockers
73
+ [] Test gaps identified
74
+ [] Rules Enforcer passed
75
+ ```
76
+
77
+ Before committing:
78
+ ```
79
+ [] Learned Patterns updated?
80
+ [] Known Issues updated?
81
+ ```
82
+
83
+ ---
84
+
85
+ ## Agent Responsibilities (1-liner each)
86
+
87
+ | Agent | Core Question |
88
+ |-------|---------------|
89
+ | Attacker | "How would I exploit this?" |
90
+ | Chaos | "What breaks when things go wrong?" |
91
+ | Frontend Designer | "What does the user see/experience?" |
92
+ | Architect | "Does this fit our patterns?" |
93
+ | Rules Enforcer | "Do all project rules pass?" |
94
+
95
+ ---
96
+
97
+ ## Quick Commands
98
+
99
+ ```bash
100
+ # Full verification before commit (configure in orbital.config.json)
101
+ # npm run type-check && npm run lint && npm run build && npm test
102
+ ```
103
+
104
+ ---
105
+
106
+ ## When Stuck
107
+
108
+ - **Agent not activating?** Check trigger patterns in AUTO-INVOKE.md
109
+ - **Agents disagree?** Use priority order above, escalate majors to user
110
+ - **Rule violation?** See fix guide in rules-enforcer.md
111
+ - **Pattern unclear?** Check agent docs in `.claude/agents/`
112
+
113
+ ---
114
+
115
+ ## Related Files
116
+
117
+ ```
118
+ .claude/agents/AUTO-INVOKE.md - Trigger rules
119
+ .claude/agents/CONFLICT-RESOLUTION.md - Priority handling
120
+ .claude/agents/workflows/ - Mode-specific workflows
121
+ .claude/quick/rules.md - Project rules
122
+ ```