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
|
@@ -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
|
+
```
|