@gokulvenkatareddy/cortex 0.1.7
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/README.md +1295 -0
- package/apps/octogent/.github/workflows/ci.yml +40 -0
- package/apps/octogent/.shims/claude +4 -0
- package/apps/octogent/AGENTS.md +71 -0
- package/apps/octogent/CONTRIBUTING.md +72 -0
- package/apps/octogent/LICENSE +21 -0
- package/apps/octogent/README.md +184 -0
- package/apps/octogent/apps/api/AGENTS.md +32 -0
- package/apps/octogent/apps/api/package.json +19 -0
- package/apps/octogent/apps/api/src/agentStateDetection.ts +181 -0
- package/apps/octogent/apps/api/src/claudeSessionScanner.ts +235 -0
- package/apps/octogent/apps/api/src/claudeSkills.ts +182 -0
- package/apps/octogent/apps/api/src/claudeUsage.ts +922 -0
- package/apps/octogent/apps/api/src/cli.ts +595 -0
- package/apps/octogent/apps/api/src/codeIntelStore.ts +46 -0
- package/apps/octogent/apps/api/src/codexUsage.ts +278 -0
- package/apps/octogent/apps/api/src/createApiServer/codeIntelRoutes.ts +60 -0
- package/apps/octogent/apps/api/src/createApiServer/conversationRoutes.ts +128 -0
- package/apps/octogent/apps/api/src/createApiServer/deckRoutes.ts +873 -0
- package/apps/octogent/apps/api/src/createApiServer/gitParsers.ts +140 -0
- package/apps/octogent/apps/api/src/createApiServer/gitRoutes.ts +214 -0
- package/apps/octogent/apps/api/src/createApiServer/miscRoutes.ts +316 -0
- package/apps/octogent/apps/api/src/createApiServer/monitorParsers.ts +137 -0
- package/apps/octogent/apps/api/src/createApiServer/monitorRoutes.ts +95 -0
- package/apps/octogent/apps/api/src/createApiServer/requestHandler.ts +311 -0
- package/apps/octogent/apps/api/src/createApiServer/requestParsers.ts +25 -0
- package/apps/octogent/apps/api/src/createApiServer/routeHelpers.ts +97 -0
- package/apps/octogent/apps/api/src/createApiServer/security.ts +70 -0
- package/apps/octogent/apps/api/src/createApiServer/terminalParsers.ts +167 -0
- package/apps/octogent/apps/api/src/createApiServer/terminalRoutes.ts +315 -0
- package/apps/octogent/apps/api/src/createApiServer/types.ts +24 -0
- package/apps/octogent/apps/api/src/createApiServer/uiStateParsers.ts +255 -0
- package/apps/octogent/apps/api/src/createApiServer/upgradeHandler.ts +38 -0
- package/apps/octogent/apps/api/src/createApiServer/usageRoutes.ts +84 -0
- package/apps/octogent/apps/api/src/createApiServer.ts +176 -0
- package/apps/octogent/apps/api/src/deck/readDeckTentacles.ts +595 -0
- package/apps/octogent/apps/api/src/githubRepoSummary.ts +397 -0
- package/apps/octogent/apps/api/src/logging.ts +9 -0
- package/apps/octogent/apps/api/src/monitor/defaults.ts +3 -0
- package/apps/octogent/apps/api/src/monitor/index.ts +8 -0
- package/apps/octogent/apps/api/src/monitor/repository.ts +303 -0
- package/apps/octogent/apps/api/src/monitor/service.ts +349 -0
- package/apps/octogent/apps/api/src/monitor/types.ts +120 -0
- package/apps/octogent/apps/api/src/monitor/xProvider.ts +587 -0
- package/apps/octogent/apps/api/src/projectPersistence.ts +377 -0
- package/apps/octogent/apps/api/src/prompts/index.ts +10 -0
- package/apps/octogent/apps/api/src/prompts/promptResolver.ts +145 -0
- package/apps/octogent/apps/api/src/runtimeMetadata.ts +69 -0
- package/apps/octogent/apps/api/src/server.ts +80 -0
- package/apps/octogent/apps/api/src/setupState.ts +80 -0
- package/apps/octogent/apps/api/src/setupStatus.ts +174 -0
- package/apps/octogent/apps/api/src/startupPrerequisites.ts +146 -0
- package/apps/octogent/apps/api/src/terminalRuntime/channelMessaging.ts +87 -0
- package/apps/octogent/apps/api/src/terminalRuntime/claudeTranscript.ts +279 -0
- package/apps/octogent/apps/api/src/terminalRuntime/constants.ts +15 -0
- package/apps/octogent/apps/api/src/terminalRuntime/conversations.ts +492 -0
- package/apps/octogent/apps/api/src/terminalRuntime/gitOperations.ts +341 -0
- package/apps/octogent/apps/api/src/terminalRuntime/hookProcessor.ts +405 -0
- package/apps/octogent/apps/api/src/terminalRuntime/protocol.ts +46 -0
- package/apps/octogent/apps/api/src/terminalRuntime/ptyEnvironment.ts +50 -0
- package/apps/octogent/apps/api/src/terminalRuntime/registry.ts +423 -0
- package/apps/octogent/apps/api/src/terminalRuntime/sessionRuntime.ts +671 -0
- package/apps/octogent/apps/api/src/terminalRuntime/systemClients.ts +432 -0
- package/apps/octogent/apps/api/src/terminalRuntime/types.ts +157 -0
- package/apps/octogent/apps/api/src/terminalRuntime/worktreeManager.ts +135 -0
- package/apps/octogent/apps/api/src/terminalRuntime.ts +567 -0
- package/apps/octogent/apps/api/src/usageUtils.ts +16 -0
- package/apps/octogent/apps/api/src/ws-shim.d.ts +28 -0
- package/apps/octogent/apps/api/tests/agentStateDetection.test.ts +67 -0
- package/apps/octogent/apps/api/tests/claudeUsage.test.ts +583 -0
- package/apps/octogent/apps/api/tests/codexUsage.test.ts +107 -0
- package/apps/octogent/apps/api/tests/createApiServer.test.ts +3207 -0
- package/apps/octogent/apps/api/tests/githubRepoSummary.test.ts +100 -0
- package/apps/octogent/apps/api/tests/logging.test.ts +33 -0
- package/apps/octogent/apps/api/tests/monitorApi.test.ts +467 -0
- package/apps/octogent/apps/api/tests/monitorCore.test.ts +104 -0
- package/apps/octogent/apps/api/tests/promptResolver.test.ts +109 -0
- package/apps/octogent/apps/api/tests/protocol.test.ts +14 -0
- package/apps/octogent/apps/api/tests/sessionRuntime.test.ts +608 -0
- package/apps/octogent/apps/api/tests/startupPrerequisites.test.ts +70 -0
- package/apps/octogent/apps/api/tests/upgradeHandler.test.ts +40 -0
- package/apps/octogent/apps/api/tests/xMonitorProvider.test.ts +109 -0
- package/apps/octogent/apps/api/tsconfig.json +7 -0
- package/apps/octogent/apps/api/vitest.config.ts +7 -0
- package/apps/octogent/apps/web/AGENTS.md +38 -0
- package/apps/octogent/apps/web/index.html +13 -0
- package/apps/octogent/apps/web/package.json +32 -0
- package/apps/octogent/apps/web/public/octopus-favicon.svg +26 -0
- package/apps/octogent/apps/web/src/App.tsx +646 -0
- package/apps/octogent/apps/web/src/app/canvas/types.ts +34 -0
- package/apps/octogent/apps/web/src/app/codeIntelAggregation.ts +278 -0
- package/apps/octogent/apps/web/src/app/constants.ts +28 -0
- package/apps/octogent/apps/web/src/app/conversationNormalizers.ts +135 -0
- package/apps/octogent/apps/web/src/app/formatTimestamp.ts +18 -0
- package/apps/octogent/apps/web/src/app/githubMetrics.ts +76 -0
- package/apps/octogent/apps/web/src/app/githubNormalizers.ts +91 -0
- package/apps/octogent/apps/web/src/app/hooks/useAgentRuntimeStates.ts +18 -0
- package/apps/octogent/apps/web/src/app/hooks/useBackendLivenessPolling.ts +53 -0
- package/apps/octogent/apps/web/src/app/hooks/useCanvasGraphData.ts +449 -0
- package/apps/octogent/apps/web/src/app/hooks/useCanvasTransform.ts +260 -0
- package/apps/octogent/apps/web/src/app/hooks/useClaudeUsagePolling.ts +40 -0
- package/apps/octogent/apps/web/src/app/hooks/useClickOutside.ts +30 -0
- package/apps/octogent/apps/web/src/app/hooks/useCodeIntelRuntime.ts +83 -0
- package/apps/octogent/apps/web/src/app/hooks/useCodexUsagePolling.ts +35 -0
- package/apps/octogent/apps/web/src/app/hooks/useConsoleKeyboardShortcuts.ts +31 -0
- package/apps/octogent/apps/web/src/app/hooks/useConversationsRuntime.ts +377 -0
- package/apps/octogent/apps/web/src/app/hooks/useForceSimulation.ts +319 -0
- package/apps/octogent/apps/web/src/app/hooks/useGitHubPrimaryViewModel.ts +143 -0
- package/apps/octogent/apps/web/src/app/hooks/useGithubSummaryPolling.ts +28 -0
- package/apps/octogent/apps/web/src/app/hooks/useInitialColumnsHydration.ts +64 -0
- package/apps/octogent/apps/web/src/app/hooks/useMonitorRuntime.ts +220 -0
- package/apps/octogent/apps/web/src/app/hooks/usePersistedUiState.ts +536 -0
- package/apps/octogent/apps/web/src/app/hooks/usePollingData.ts +79 -0
- package/apps/octogent/apps/web/src/app/hooks/usePromptLibrary.ts +185 -0
- package/apps/octogent/apps/web/src/app/hooks/useTentacleGitLifecycle.ts +530 -0
- package/apps/octogent/apps/web/src/app/hooks/useTerminalCompletionNotification.ts +94 -0
- package/apps/octogent/apps/web/src/app/hooks/useTerminalMutations.ts +266 -0
- package/apps/octogent/apps/web/src/app/hooks/useTerminalStateReconciliation.ts +23 -0
- package/apps/octogent/apps/web/src/app/hooks/useUsageHeatmapPolling.ts +43 -0
- package/apps/octogent/apps/web/src/app/hooks/useWorkspaceSetup.ts +80 -0
- package/apps/octogent/apps/web/src/app/hotkeys.ts +31 -0
- package/apps/octogent/apps/web/src/app/monitorNormalizers.ts +145 -0
- package/apps/octogent/apps/web/src/app/notificationSounds.ts +164 -0
- package/apps/octogent/apps/web/src/app/terminalRuntimeStateStore.ts +261 -0
- package/apps/octogent/apps/web/src/app/terminalState.ts +21 -0
- package/apps/octogent/apps/web/src/app/types.ts +42 -0
- package/apps/octogent/apps/web/src/app/uiStateNormalizers.ts +113 -0
- package/apps/octogent/apps/web/src/app/usageNormalizers.ts +58 -0
- package/apps/octogent/apps/web/src/components/ActiveAgentsSidebar.tsx +60 -0
- package/apps/octogent/apps/web/src/components/ActivityPrimaryView.tsx +21 -0
- package/apps/octogent/apps/web/src/components/AgentStateBadge.tsx +47 -0
- package/apps/octogent/apps/web/src/components/CanvasPrimaryView.tsx +1532 -0
- package/apps/octogent/apps/web/src/components/ClearAllConversationsDialog.tsx +33 -0
- package/apps/octogent/apps/web/src/components/CodeIntelArcDiagram.tsx +245 -0
- package/apps/octogent/apps/web/src/components/CodeIntelPrimaryView.tsx +104 -0
- package/apps/octogent/apps/web/src/components/CodeIntelTreemap.tsx +138 -0
- package/apps/octogent/apps/web/src/components/ConsolePrimaryNav.tsx +31 -0
- package/apps/octogent/apps/web/src/components/ConversationsPrimaryView.tsx +243 -0
- package/apps/octogent/apps/web/src/components/DeckPrimaryView.tsx +613 -0
- package/apps/octogent/apps/web/src/components/DeleteTentacleDialog.tsx +91 -0
- package/apps/octogent/apps/web/src/components/EmptyOctopus.tsx +715 -0
- package/apps/octogent/apps/web/src/components/GitHubPrimaryView.tsx +494 -0
- package/apps/octogent/apps/web/src/components/MonitorPrimaryView.tsx +475 -0
- package/apps/octogent/apps/web/src/components/PrimaryViewRouter.tsx +99 -0
- package/apps/octogent/apps/web/src/components/PromptsPrimaryView.tsx +243 -0
- package/apps/octogent/apps/web/src/components/RuntimeStatusStrip.tsx +273 -0
- package/apps/octogent/apps/web/src/components/SettingsPrimaryView.tsx +92 -0
- package/apps/octogent/apps/web/src/components/SidebarActionPanel.tsx +124 -0
- package/apps/octogent/apps/web/src/components/SidebarConversationsList.tsx +279 -0
- package/apps/octogent/apps/web/src/components/SidebarPromptsList.tsx +116 -0
- package/apps/octogent/apps/web/src/components/TelemetryTape.tsx +106 -0
- package/apps/octogent/apps/web/src/components/TentacleGitActionsDialog.tsx +341 -0
- package/apps/octogent/apps/web/src/components/Terminal.tsx +524 -0
- package/apps/octogent/apps/web/src/components/TerminalPromptPicker.tsx +140 -0
- package/apps/octogent/apps/web/src/components/UsageHeatmap.tsx +702 -0
- package/apps/octogent/apps/web/src/components/canvas/CanvasTentaclePanel.tsx +485 -0
- package/apps/octogent/apps/web/src/components/canvas/CanvasTerminalColumn.tsx +89 -0
- package/apps/octogent/apps/web/src/components/canvas/DeleteAllTerminalsDialog.tsx +221 -0
- package/apps/octogent/apps/web/src/components/canvas/OctopusNode.tsx +307 -0
- package/apps/octogent/apps/web/src/components/canvas/SessionNode.tsx +185 -0
- package/apps/octogent/apps/web/src/components/deck/ActionCards.tsx +118 -0
- package/apps/octogent/apps/web/src/components/deck/AddTentacleForm.tsx +269 -0
- package/apps/octogent/apps/web/src/components/deck/DeckBottomActions.tsx +56 -0
- package/apps/octogent/apps/web/src/components/deck/TentaclePod.tsx +334 -0
- package/apps/octogent/apps/web/src/components/deck/WorkspaceSetupCard.tsx +105 -0
- package/apps/octogent/apps/web/src/components/deck/octopusVisuals.ts +72 -0
- package/apps/octogent/apps/web/src/components/terminalReplay.ts +62 -0
- package/apps/octogent/apps/web/src/components/terminalWheel.ts +54 -0
- package/apps/octogent/apps/web/src/components/ui/ActionButton.tsx +34 -0
- package/apps/octogent/apps/web/src/components/ui/ConfirmationDialog.tsx +86 -0
- package/apps/octogent/apps/web/src/components/ui/MarkdownContent.tsx +43 -0
- package/apps/octogent/apps/web/src/components/ui/SettingsToggle.tsx +34 -0
- package/apps/octogent/apps/web/src/components/ui/StatusBadge.tsx +24 -0
- package/apps/octogent/apps/web/src/main.tsx +17 -0
- package/apps/octogent/apps/web/src/runtime/HttpTerminalSnapshotReader.ts +87 -0
- package/apps/octogent/apps/web/src/runtime/runtimeEndpoints.ts +412 -0
- package/apps/octogent/apps/web/src/styles/chrome-and-buttons.css +272 -0
- package/apps/octogent/apps/web/src/styles/console-canvas-activity.css +358 -0
- package/apps/octogent/apps/web/src/styles/console-canvas-canvas.css +1843 -0
- package/apps/octogent/apps/web/src/styles/console-canvas-code-intel.css +227 -0
- package/apps/octogent/apps/web/src/styles/console-canvas-conversations.css +705 -0
- package/apps/octogent/apps/web/src/styles/console-canvas-deck.css +1524 -0
- package/apps/octogent/apps/web/src/styles/console-canvas-github.css +541 -0
- package/apps/octogent/apps/web/src/styles/console-canvas-monitor.css +595 -0
- package/apps/octogent/apps/web/src/styles/console-canvas-pixpack.css +81 -0
- package/apps/octogent/apps/web/src/styles/console-canvas-prompts.css +474 -0
- package/apps/octogent/apps/web/src/styles/console-canvas-settings.css +207 -0
- package/apps/octogent/apps/web/src/styles/console-chrome-status-nav.css +441 -0
- package/apps/octogent/apps/web/src/styles/console-overrides-telemetry.css +320 -0
- package/apps/octogent/apps/web/src/styles/console-theme-tokens.css +25 -0
- package/apps/octogent/apps/web/src/styles/cortex-theme.css +412 -0
- package/apps/octogent/apps/web/src/styles/foundation.css +100 -0
- package/apps/octogent/apps/web/src/styles/sidebar-and-scrollbars.css +447 -0
- package/apps/octogent/apps/web/src/styles/terminal-and-status.css +356 -0
- package/apps/octogent/apps/web/src/styles.css +25 -0
- package/apps/octogent/apps/web/src/types/ws.d.ts +23 -0
- package/apps/octogent/apps/web/tests/CanvasPrimaryView.test.tsx +347 -0
- package/apps/octogent/apps/web/tests/HttpTerminalSnapshotReader.test.tsx +54 -0
- package/apps/octogent/apps/web/tests/RuntimeStatusStrip.test.tsx +70 -0
- package/apps/octogent/apps/web/tests/Terminal.test.tsx +87 -0
- package/apps/octogent/apps/web/tests/add-tentacle-form.test.tsx +48 -0
- package/apps/octogent/apps/web/tests/app-github-runtime.test.tsx +162 -0
- package/apps/octogent/apps/web/tests/app-monitor-runtime.test.tsx +657 -0
- package/apps/octogent/apps/web/tests/app-shell-navigation.test.tsx +109 -0
- package/apps/octogent/apps/web/tests/app-swarm-refresh.test.tsx +268 -0
- package/apps/octogent/apps/web/tests/app-ui-state-persistence.test.tsx +116 -0
- package/apps/octogent/apps/web/tests/app-workspace-setup.test.tsx +217 -0
- package/apps/octogent/apps/web/tests/canvas-tentacle-panel.test.tsx +195 -0
- package/apps/octogent/apps/web/tests/delete-all-terminals-dialog.test.tsx +76 -0
- package/apps/octogent/apps/web/tests/githubMetrics.test.tsx +52 -0
- package/apps/octogent/apps/web/tests/hotkeys.test.tsx +44 -0
- package/apps/octogent/apps/web/tests/runtimeEndpoints.test.tsx +240 -0
- package/apps/octogent/apps/web/tests/setup.ts +39 -0
- package/apps/octogent/apps/web/tests/tentacle-pod.test.tsx +62 -0
- package/apps/octogent/apps/web/tests/terminalReplay.test.ts +71 -0
- package/apps/octogent/apps/web/tests/terminalState.test.tsx +49 -0
- package/apps/octogent/apps/web/tests/terminalWheel.test.tsx +51 -0
- package/apps/octogent/apps/web/tests/test-utils/appTestHarness.ts +48 -0
- package/apps/octogent/apps/web/tests/uiPrimitives.test.tsx +31 -0
- package/apps/octogent/apps/web/tests/useAgentRuntimeStates.test.tsx +47 -0
- package/apps/octogent/apps/web/tsconfig.json +8 -0
- package/apps/octogent/apps/web/vite.api.bundle.config.mts +32 -0
- package/apps/octogent/apps/web/vite.config.ts +22 -0
- package/apps/octogent/bin/octogent +3 -0
- package/apps/octogent/biome.json +21 -0
- package/apps/octogent/docs/concepts/mental-model.md +79 -0
- package/apps/octogent/docs/concepts/runtime-and-api.md +60 -0
- package/apps/octogent/docs/concepts/tentacles.md +85 -0
- package/apps/octogent/docs/getting-started/installation.md +54 -0
- package/apps/octogent/docs/getting-started/quickstart.md +79 -0
- package/apps/octogent/docs/guides/inter-agent-messaging.md +43 -0
- package/apps/octogent/docs/guides/orchestrating-child-agents.md +49 -0
- package/apps/octogent/docs/guides/working-with-todos.md +56 -0
- package/apps/octogent/docs/index.md +40 -0
- package/apps/octogent/docs/reference/api.md +103 -0
- package/apps/octogent/docs/reference/cli.md +71 -0
- package/apps/octogent/docs/reference/experimental-features.md +28 -0
- package/apps/octogent/docs/reference/filesystem-layout.md +62 -0
- package/apps/octogent/docs/reference/troubleshooting.md +49 -0
- package/apps/octogent/package.json +35 -0
- package/apps/octogent/packages/core/AGENTS.md +31 -0
- package/apps/octogent/packages/core/package.json +12 -0
- package/apps/octogent/packages/core/src/adapters/InMemoryTerminalSnapshotReader.ts +10 -0
- package/apps/octogent/packages/core/src/application/buildTerminalList.ts +13 -0
- package/apps/octogent/packages/core/src/domain/agentRuntime.ts +18 -0
- package/apps/octogent/packages/core/src/domain/channel.ts +8 -0
- package/apps/octogent/packages/core/src/domain/completionSound.ts +14 -0
- package/apps/octogent/packages/core/src/domain/conversation.ts +48 -0
- package/apps/octogent/packages/core/src/domain/deck.ts +33 -0
- package/apps/octogent/packages/core/src/domain/git.ts +32 -0
- package/apps/octogent/packages/core/src/domain/monitor.ts +62 -0
- package/apps/octogent/packages/core/src/domain/setup.ts +27 -0
- package/apps/octogent/packages/core/src/domain/terminal.ts +17 -0
- package/apps/octogent/packages/core/src/domain/uiState.ts +22 -0
- package/apps/octogent/packages/core/src/domain/usage.ts +60 -0
- package/apps/octogent/packages/core/src/index.ts +15 -0
- package/apps/octogent/packages/core/src/ports/TerminalSnapshotReader.ts +5 -0
- package/apps/octogent/packages/core/src/util/typeCoercion.ts +20 -0
- package/apps/octogent/packages/core/tests/buildTerminalList.test.ts +75 -0
- package/apps/octogent/packages/core/tsconfig.json +7 -0
- package/apps/octogent/packages/core/tsconfig.tsbuildinfo +1 -0
- package/apps/octogent/packages/core/vitest.config.ts +7 -0
- package/apps/octogent/pnpm-lock.yaml +3212 -0
- package/apps/octogent/pnpm-workspace.yaml +3 -0
- package/apps/octogent/prompts/meta-prompt-generator.md +223 -0
- package/apps/octogent/prompts/octoboss-clean-contexts.md +30 -0
- package/apps/octogent/prompts/octoboss-reorganize-tentacles.md +29 -0
- package/apps/octogent/prompts/octoboss-reorganize-todos.md +27 -0
- package/apps/octogent/prompts/sandbox-init.md +3 -0
- package/apps/octogent/prompts/swarm-parent.md +83 -0
- package/apps/octogent/prompts/swarm-worker.md +50 -0
- package/apps/octogent/prompts/tentacle-context-init.md +1 -0
- package/apps/octogent/prompts/tentacle-planner.md +110 -0
- package/apps/octogent/prompts/tentacle-reorganize-todos.md +20 -0
- package/apps/octogent/prompts/tentacle-update-tentacle.md +18 -0
- package/apps/octogent/scripts/build-package.mjs +23 -0
- package/apps/octogent/scripts/dev.mjs +158 -0
- package/apps/octogent/scripts/smoke-public-install.mjs +271 -0
- package/apps/octogent/static/images/octogent-header.png +0 -0
- package/apps/octogent/static/images/preview_1.jpg +0 -0
- package/apps/octogent/static/images/preview_2.jpg +0 -0
- package/apps/octogent/static/images/preview_3.jpg +0 -0
- package/apps/octogent/static/images/preview_4.jpg +0 -0
- package/apps/octogent/static/images/preview_5.jpg +0 -0
- package/apps/octogent/static/images/preview_6.jpg +0 -0
- package/apps/octogent/tsconfig.base.json +16 -0
- package/bin/AGI +3 -0
- package/bin/AGI-install-app +71 -0
- package/bin/AGI-ui +16 -0
- package/bin/AGI-voice +15 -0
- package/bin/AGI-web +16 -0
- package/bin/cortex +109 -0
- package/bin/cortex-octogent +99 -0
- package/bin/import-specifier.mjs +13 -0
- package/bin/import-specifier.test.mjs +13 -0
- package/bin/octo +150 -0
- package/dist/cli.mjs +555650 -0
- package/package.json +157 -0
- package/scripts/setup-wizard.ts +390 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import react from "@vitejs/plugin-react";
|
|
2
|
+
import { defineConfig } from "vite";
|
|
3
|
+
|
|
4
|
+
const apiProxyTarget = process.env.OCTOGENT_API_ORIGIN ?? "http://127.0.0.1:8787";
|
|
5
|
+
|
|
6
|
+
export default defineConfig({
|
|
7
|
+
plugins: [react()],
|
|
8
|
+
server: {
|
|
9
|
+
proxy: {
|
|
10
|
+
"/api": {
|
|
11
|
+
target: apiProxyTarget,
|
|
12
|
+
changeOrigin: true,
|
|
13
|
+
ws: true,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
test: {
|
|
18
|
+
environment: "jsdom",
|
|
19
|
+
setupFiles: "./tests/setup.ts",
|
|
20
|
+
include: ["tests/**/*.test.tsx"],
|
|
21
|
+
},
|
|
22
|
+
} as never);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
|
|
3
|
+
"formatter": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"indentStyle": "space",
|
|
6
|
+
"indentWidth": 2,
|
|
7
|
+
"lineWidth": 100
|
|
8
|
+
},
|
|
9
|
+
"linter": {
|
|
10
|
+
"enabled": true,
|
|
11
|
+
"rules": {
|
|
12
|
+
"recommended": true
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"organizeImports": {
|
|
16
|
+
"enabled": true
|
|
17
|
+
},
|
|
18
|
+
"files": {
|
|
19
|
+
"ignore": ["node_modules", "dist", "coverage"]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Mental Model
|
|
2
|
+
|
|
3
|
+
This page is for the exact model behind Octogent. The README is the pitch. This page is the boundary map.
|
|
4
|
+
|
|
5
|
+
## The main pieces
|
|
6
|
+
|
|
7
|
+
- the **developer** defines the jobs and reviews the output
|
|
8
|
+
- a **tentacle** holds the local context for one job
|
|
9
|
+
- a **terminal** is one live Claude Code session
|
|
10
|
+
- a **worker** is a terminal assigned to a narrower piece of work
|
|
11
|
+
- a **parent** is a terminal coordinating one or more workers
|
|
12
|
+
- a **channel** is a short-lived coordination path between terminals
|
|
13
|
+
|
|
14
|
+
## Tentacle vs terminal
|
|
15
|
+
|
|
16
|
+
These are different things.
|
|
17
|
+
|
|
18
|
+
- a **tentacle** is a folder with agent-readable files
|
|
19
|
+
- a **terminal** is a running session
|
|
20
|
+
|
|
21
|
+
Multiple terminals can point at the same tentacle. That matters for swarm work, because several workers may need the same local context while still remaining separate sessions.
|
|
22
|
+
|
|
23
|
+
## Tentacle vs worktree
|
|
24
|
+
|
|
25
|
+
These are also different things.
|
|
26
|
+
|
|
27
|
+
- a **tentacle** is the context layer
|
|
28
|
+
- a **worktree** is the git isolation layer
|
|
29
|
+
|
|
30
|
+
A tentacle can be used with:
|
|
31
|
+
|
|
32
|
+
- a shared-workspace terminal
|
|
33
|
+
- a worktree-backed terminal
|
|
34
|
+
|
|
35
|
+
The tentacle decides *what the job is about*. The worktree decides *where the code changes happen*.
|
|
36
|
+
|
|
37
|
+
## What belongs in files
|
|
38
|
+
|
|
39
|
+
The durable source of truth should live in files inside the tentacle.
|
|
40
|
+
|
|
41
|
+
That includes:
|
|
42
|
+
|
|
43
|
+
- context about the area
|
|
44
|
+
- notes and handoff information
|
|
45
|
+
- the current task list in `todo.md`
|
|
46
|
+
|
|
47
|
+
If another agent needs to understand the job later, the important information should already be there without depending on one old chat thread.
|
|
48
|
+
|
|
49
|
+
## What belongs in runtime state
|
|
50
|
+
|
|
51
|
+
The runtime owns:
|
|
52
|
+
|
|
53
|
+
- live terminal sessions
|
|
54
|
+
- websocket transport
|
|
55
|
+
- UI state
|
|
56
|
+
- transcripts
|
|
57
|
+
- message delivery state
|
|
58
|
+
|
|
59
|
+
That data helps the app run, but it is not the same thing as the durable job context.
|
|
60
|
+
|
|
61
|
+
## How delegation is supposed to work
|
|
62
|
+
|
|
63
|
+
The expected flow is:
|
|
64
|
+
|
|
65
|
+
1. the developer or a parent agent defines a job boundary
|
|
66
|
+
2. the tentacle files capture the local context
|
|
67
|
+
3. `todo.md` breaks the job into executable items
|
|
68
|
+
4. one or more child terminals take those items
|
|
69
|
+
5. workers report status through files and short messages
|
|
70
|
+
6. the parent or human reviews the result
|
|
71
|
+
|
|
72
|
+
If the boundary is vague, the orchestration gets worse. Octogent helps organize work, but it does not rescue a poorly defined job.
|
|
73
|
+
|
|
74
|
+
## What the project is actually trying to prove
|
|
75
|
+
|
|
76
|
+
- terminal coding agents can be treated as building blocks inside an orchestration layer
|
|
77
|
+
- file-based context is more reliable than trying to keep everything inside one long conversation
|
|
78
|
+
- one Claude Code session can coordinate other Claude Code sessions in a visible way
|
|
79
|
+
- simple task lists and short messages are enough for some useful multi-agent workflows
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Runtime And API
|
|
2
|
+
|
|
3
|
+
Octogent runs as a local API with a local web UI on top.
|
|
4
|
+
|
|
5
|
+
## Runtime shape
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
flowchart TD
|
|
9
|
+
Browser[Browser UI] --> HTTP[HTTP routes]
|
|
10
|
+
Browser --> WS[WebSocket terminal stream]
|
|
11
|
+
HTTP --> Runtime[Terminal runtime]
|
|
12
|
+
WS --> Runtime
|
|
13
|
+
Runtime --> PTY[PTY sessions]
|
|
14
|
+
Runtime --> Files["Project and global state"]
|
|
15
|
+
Runtime --> Hooks[Claude hook ingestion]
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## What the API does
|
|
19
|
+
|
|
20
|
+
- starts and restores terminal metadata
|
|
21
|
+
- serves the web UI when bundled assets are available
|
|
22
|
+
- manages PTY-backed terminal sessions
|
|
23
|
+
- creates worktrees for isolated terminals
|
|
24
|
+
- persists UI state and conversation state
|
|
25
|
+
- reads tentacle files and todo progress
|
|
26
|
+
- accepts hook events from Claude Code
|
|
27
|
+
- exposes channels for inter-agent messages
|
|
28
|
+
|
|
29
|
+
## Transport model
|
|
30
|
+
|
|
31
|
+
- HTTP for CRUD, metadata, and snapshots
|
|
32
|
+
- WebSocket for live terminal IO
|
|
33
|
+
- file-backed state for persistence
|
|
34
|
+
|
|
35
|
+
## Security defaults
|
|
36
|
+
|
|
37
|
+
- binds to `127.0.0.1` by default
|
|
38
|
+
- enforces loopback `Host` and `Origin` checks by default
|
|
39
|
+
- remote access must be enabled explicitly with `OCTOGENT_ALLOW_REMOTE_ACCESS=1`
|
|
40
|
+
|
|
41
|
+
## Persistence model
|
|
42
|
+
|
|
43
|
+
- project-local scaffold lives under `.octogent/`
|
|
44
|
+
- runtime state lives under `~/.octogent/projects/<project-id>/state/`
|
|
45
|
+
- transcript events persist independently from PTY scrollback
|
|
46
|
+
- PTY sessions do not survive API restarts
|
|
47
|
+
|
|
48
|
+
## Main API groups
|
|
49
|
+
|
|
50
|
+
- terminals and snapshots
|
|
51
|
+
- deck tentacles and todo operations
|
|
52
|
+
- prompts
|
|
53
|
+
- channels
|
|
54
|
+
- code intel
|
|
55
|
+
- hook ingestion
|
|
56
|
+
- usage and telemetry
|
|
57
|
+
- monitor
|
|
58
|
+
- conversations
|
|
59
|
+
|
|
60
|
+
For the exact endpoints, see [API reference](../reference/api.md).
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Tentacles
|
|
2
|
+
|
|
3
|
+
Tentacles are the core abstraction in Octogent.
|
|
4
|
+
|
|
5
|
+
## Definition
|
|
6
|
+
|
|
7
|
+
A tentacle is a folder under `.octogent/tentacles/<tentacle-id>/` that stores agent-readable markdown files.
|
|
8
|
+
|
|
9
|
+
The minimum useful files are:
|
|
10
|
+
|
|
11
|
+
- `CONTEXT.md`
|
|
12
|
+
- `todo.md`
|
|
13
|
+
|
|
14
|
+
Additional markdown files are allowed and are surfaced as tentacle vault files in the app.
|
|
15
|
+
|
|
16
|
+
## What a tentacle is for
|
|
17
|
+
|
|
18
|
+
Use a tentacle when you want a durable context layer for one slice of the codebase or one track of work.
|
|
19
|
+
|
|
20
|
+
Examples:
|
|
21
|
+
|
|
22
|
+
- API runtime
|
|
23
|
+
- frontend shell
|
|
24
|
+
- prompt system
|
|
25
|
+
- monitor integration
|
|
26
|
+
- release work
|
|
27
|
+
|
|
28
|
+
## What goes in `CONTEXT.md`
|
|
29
|
+
|
|
30
|
+
`CONTEXT.md` should explain:
|
|
31
|
+
|
|
32
|
+
- what this area owns
|
|
33
|
+
- the important files or directories
|
|
34
|
+
- what already exists
|
|
35
|
+
- constraints and edge cases
|
|
36
|
+
- what not to break
|
|
37
|
+
- any Claude Code skills that are especially useful for this tentacle, when relevant
|
|
38
|
+
|
|
39
|
+
The first heading and first non-empty paragraph are used by the runtime as the display name and description.
|
|
40
|
+
|
|
41
|
+
When a tentacle has suggested Claude Code skills, Octogent appends a managed block at the bottom of `CONTEXT.md`:
|
|
42
|
+
|
|
43
|
+
```md
|
|
44
|
+
<!-- octogent:suggested-skills:start -->
|
|
45
|
+
## Suggested Skills
|
|
46
|
+
|
|
47
|
+
You can use these skills if you need to.
|
|
48
|
+
|
|
49
|
+
- `skill-name`
|
|
50
|
+
<!-- octogent:suggested-skills:end -->
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## What goes in `todo.md`
|
|
54
|
+
|
|
55
|
+
`todo.md` should contain markdown checkbox items:
|
|
56
|
+
|
|
57
|
+
```md
|
|
58
|
+
# Todo
|
|
59
|
+
|
|
60
|
+
- [ ] add request validation for monitor config
|
|
61
|
+
- [ ] cover the invalid payload case in tests
|
|
62
|
+
- [x] wire the route into the request handler
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The runtime parses checkbox lines and computes progress.
|
|
66
|
+
|
|
67
|
+
## Tentacles and delegation
|
|
68
|
+
|
|
69
|
+
The point of a tentacle is not only documentation. It is operational context.
|
|
70
|
+
|
|
71
|
+
A worker attached to a tentacle can:
|
|
72
|
+
|
|
73
|
+
- read local notes first
|
|
74
|
+
- stay scoped to that area
|
|
75
|
+
- use the todo list as a work queue
|
|
76
|
+
- hand work to child agents without rebuilding context from scratch
|
|
77
|
+
|
|
78
|
+
## Tentacles and worktrees
|
|
79
|
+
|
|
80
|
+
Tentacles are not the same thing as worktrees.
|
|
81
|
+
|
|
82
|
+
- a tentacle is a context folder
|
|
83
|
+
- a worktree is an isolated git checkout for a terminal
|
|
84
|
+
|
|
85
|
+
You can use a tentacle with shared workspace terminals or worktree terminals.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Installation
|
|
2
|
+
|
|
3
|
+
Octogent is a local Node.js project with a local API and web UI.
|
|
4
|
+
|
|
5
|
+
## Requirements
|
|
6
|
+
|
|
7
|
+
- Node.js `22+`
|
|
8
|
+
- `claude` for the supported workflow
|
|
9
|
+
- `git` for worktree terminals
|
|
10
|
+
- `gh` for GitHub pull request features
|
|
11
|
+
- `curl` for the current Claude hook callback flow
|
|
12
|
+
|
|
13
|
+
The current docs are Claude Code-first. Some provider plumbing exists in the codebase, but it is not the supported story yet.
|
|
14
|
+
|
|
15
|
+
## Local development install
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pnpm install
|
|
19
|
+
pnpm dev
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Local global CLI install from a clone
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pnpm install
|
|
26
|
+
pnpm build
|
|
27
|
+
npm install -g .
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## npm registry install
|
|
31
|
+
|
|
32
|
+
Octogent is not published to the npm registry yet, so `npm install -g octogent` will fail with `404`.
|
|
33
|
+
|
|
34
|
+
## First run behavior
|
|
35
|
+
|
|
36
|
+
Running `octogent` inside a project directory will:
|
|
37
|
+
|
|
38
|
+
- create `.octogent/` if it does not exist
|
|
39
|
+
- add `.octogent` to `.gitignore` or create `.gitignore` when it is missing
|
|
40
|
+
- write a stable project ID to `.octogent/project.json`
|
|
41
|
+
- register the project under `~/.octogent/projects.json`
|
|
42
|
+
- move runtime state to `~/.octogent/projects/<project-id>/state/`
|
|
43
|
+
- choose an open local API port starting at `8787`
|
|
44
|
+
- open the browser unless `OCTOGENT_NO_OPEN=1`
|
|
45
|
+
- show a Deck setup card until the first tentacle is created
|
|
46
|
+
|
|
47
|
+
## Startup rules
|
|
48
|
+
|
|
49
|
+
- startup fails if neither `claude` nor another supported provider binary is available
|
|
50
|
+
- startup warns when optional integrations like `git`, `gh`, or `curl` are missing
|
|
51
|
+
|
|
52
|
+
## Next step
|
|
53
|
+
|
|
54
|
+
- [Quickstart](quickstart.md)
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Quickstart
|
|
2
|
+
|
|
3
|
+
This is the shortest useful path through the project.
|
|
4
|
+
|
|
5
|
+
## 1. Start the app
|
|
6
|
+
|
|
7
|
+
For local development:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm install
|
|
11
|
+
pnpm dev
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
For a local global CLI install from a clone:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pnpm install
|
|
18
|
+
pnpm build
|
|
19
|
+
npm install -g .
|
|
20
|
+
octogent
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Octogent is not published to npm yet, so `npm install -g octogent` is not currently a valid quick start path.
|
|
24
|
+
|
|
25
|
+
On a fresh workspace, Octogent opens the Deck setup flow first. The setup card verifies the
|
|
26
|
+
workspace files, `.gitignore`, and local prerequisites before you create tentacles.
|
|
27
|
+
|
|
28
|
+
## 2. Create or inspect a tentacle
|
|
29
|
+
|
|
30
|
+
If the app is already running, you can create a tentacle from the CLI:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
octogent tentacle create api-backend --description "API runtime and request handling"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Or use the Deck view in the UI.
|
|
37
|
+
|
|
38
|
+
Each tentacle becomes a folder under `.octogent/tentacles/<tentacle-id>/`.
|
|
39
|
+
|
|
40
|
+
## 3. Let the agent build the local context
|
|
41
|
+
|
|
42
|
+
The tentacle files are where the job keeps its local context:
|
|
43
|
+
|
|
44
|
+
- `CONTEXT.md` for the local model of that area
|
|
45
|
+
- `todo.md` for concrete tasks
|
|
46
|
+
- extra markdown files for notes, architecture, handoff, or examples
|
|
47
|
+
|
|
48
|
+
You do not need to treat these as manual setup that the developer always writes by hand. One of the points of Octogent is that **Claude Code** can help create, update, and maintain these files from inside the app as the work becomes clearer.
|
|
49
|
+
|
|
50
|
+
## 4. Create a terminal
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
octogent terminal create --name "API worker" --tentacle-id api-backend
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Use `--workspace-mode worktree` if you want an isolated git worktree.
|
|
57
|
+
|
|
58
|
+
## 5. Delegate from todo items
|
|
59
|
+
|
|
60
|
+
The runtime can parse incomplete items in `todo.md` and use them as inputs when spawning child agents from the Deck swarm flow. That means one item can become one worker, or a larger list can become a swarm.
|
|
61
|
+
|
|
62
|
+
## 6. Send a message
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
octogent channel send terminal-2 "Need review on the request parser changes"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## What to verify
|
|
69
|
+
|
|
70
|
+
- the tentacle folder exists
|
|
71
|
+
- the terminal appears in the UI
|
|
72
|
+
- `CONTEXT.md` and `todo.md` exist for that tentacle
|
|
73
|
+
- todo progress is visible
|
|
74
|
+
- messages show up in the target terminal channel
|
|
75
|
+
|
|
76
|
+
## Next reading
|
|
77
|
+
|
|
78
|
+
- [Mental Model](../concepts/mental-model.md)
|
|
79
|
+
- [Tentacles](../concepts/tentacles.md)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Inter-Agent Messaging
|
|
2
|
+
|
|
3
|
+
Octogent has a simple local channel system for messages between terminals.
|
|
4
|
+
|
|
5
|
+
## What it is for
|
|
6
|
+
|
|
7
|
+
Use channel messages for short coordination:
|
|
8
|
+
|
|
9
|
+
- ask for review
|
|
10
|
+
- report completion
|
|
11
|
+
- hand off a finding
|
|
12
|
+
- point another agent to a file or risk
|
|
13
|
+
|
|
14
|
+
It is not a replacement for proper context files.
|
|
15
|
+
|
|
16
|
+
## CLI usage
|
|
17
|
+
|
|
18
|
+
Send a message:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
octogent channel send <terminal-id> "Need review on the parser change"
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
List messages:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
octogent channel list <terminal-id>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## API usage
|
|
31
|
+
|
|
32
|
+
- `POST /api/channels/:terminalId/messages`
|
|
33
|
+
- `GET /api/channels/:terminalId/messages`
|
|
34
|
+
|
|
35
|
+
## Current behavior
|
|
36
|
+
|
|
37
|
+
- messages are stored in memory
|
|
38
|
+
- messages do not persist across API restarts
|
|
39
|
+
- delivery state is tracked by the API
|
|
40
|
+
|
|
41
|
+
## Practical rule
|
|
42
|
+
|
|
43
|
+
If a message needs to survive, write it into the tentacle files. Use the channel for short-lived coordination only.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Orchestrating Child Agents
|
|
2
|
+
|
|
3
|
+
Octogent uses child terminals to split work into parallel streams.
|
|
4
|
+
|
|
5
|
+
## Current model
|
|
6
|
+
|
|
7
|
+
- a parent terminal can exist as the main coordinator
|
|
8
|
+
- child terminals can be created with a parent terminal ID
|
|
9
|
+
- the Deck swarm flow can create one worker per incomplete todo item
|
|
10
|
+
- workers can run in shared mode or worktree mode
|
|
11
|
+
|
|
12
|
+
## When to use child agents
|
|
13
|
+
|
|
14
|
+
Use child agents when:
|
|
15
|
+
|
|
16
|
+
- tasks are independent enough to run in parallel
|
|
17
|
+
- the parent can define clean scopes
|
|
18
|
+
- each task fits one tentacle or one todo item
|
|
19
|
+
|
|
20
|
+
Do not use them when the work is too entangled and the agents will overwrite each other.
|
|
21
|
+
|
|
22
|
+
## Recommended workflow
|
|
23
|
+
|
|
24
|
+
1. create or pick a tentacle
|
|
25
|
+
2. write or refine `CONTEXT.md`
|
|
26
|
+
3. break the work into checkbox items in `todo.md`
|
|
27
|
+
4. spawn worker terminals from those items
|
|
28
|
+
5. review results in the parent terminal
|
|
29
|
+
6. use channel messages when workers need to coordinate
|
|
30
|
+
|
|
31
|
+
## Shared vs worktree
|
|
32
|
+
|
|
33
|
+
Use `shared` when:
|
|
34
|
+
|
|
35
|
+
- the tasks are read-heavy
|
|
36
|
+
- the changes are small
|
|
37
|
+
- you want fast setup
|
|
38
|
+
|
|
39
|
+
Use `worktree` when:
|
|
40
|
+
|
|
41
|
+
- the tasks touch overlapping files
|
|
42
|
+
- you want clean git isolation
|
|
43
|
+
- you expect larger code edits
|
|
44
|
+
|
|
45
|
+
## Limits
|
|
46
|
+
|
|
47
|
+
- PTY sessions do not survive API restarts
|
|
48
|
+
- channel messages are in-memory only
|
|
49
|
+
- delegation quality depends on the quality of `CONTEXT.md` and `todo.md`
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Working With Todos
|
|
2
|
+
|
|
3
|
+
Todos are the operational center of a tentacle.
|
|
4
|
+
|
|
5
|
+
## Format
|
|
6
|
+
|
|
7
|
+
Use markdown checkboxes in `todo.md`.
|
|
8
|
+
|
|
9
|
+
```md
|
|
10
|
+
# Todo
|
|
11
|
+
|
|
12
|
+
- [ ] inspect websocket reconnect path
|
|
13
|
+
- [ ] add regression test for idle grace handling
|
|
14
|
+
- [ ] update runtime docs
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The parser only treats checkbox lines as todo items.
|
|
18
|
+
|
|
19
|
+
## Good todo items
|
|
20
|
+
|
|
21
|
+
Good todo items are:
|
|
22
|
+
|
|
23
|
+
- specific
|
|
24
|
+
- testable
|
|
25
|
+
- narrow enough for one agent
|
|
26
|
+
- written so they still make sense without extra chat history
|
|
27
|
+
|
|
28
|
+
Bad todo items are vague and force the agent to rediscover the assignment.
|
|
29
|
+
|
|
30
|
+
## Suggested pattern
|
|
31
|
+
|
|
32
|
+
- keep one tentacle per work area
|
|
33
|
+
- keep one `todo.md` per tentacle
|
|
34
|
+
- write tasks at the level of a child agent assignment
|
|
35
|
+
- mark items done in the file, not only in the UI
|
|
36
|
+
|
|
37
|
+
## Why this matters
|
|
38
|
+
|
|
39
|
+
The current runtime reads `todo.md`, shows progress in the Deck view, and uses incomplete items when launching swarm work.
|
|
40
|
+
|
|
41
|
+
That means the todo file is both:
|
|
42
|
+
|
|
43
|
+
- a planning tool for the developer
|
|
44
|
+
- an execution source for delegation
|
|
45
|
+
|
|
46
|
+
## Example
|
|
47
|
+
|
|
48
|
+
```md
|
|
49
|
+
# Todo
|
|
50
|
+
|
|
51
|
+
- [ ] add API route for terminal rename
|
|
52
|
+
- [ ] test invalid terminal ids
|
|
53
|
+
- [ ] document rename flow in CLI reference
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
This gives you three clean delegation units instead of one oversized prompt.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Octogent Docs
|
|
2
|
+
|
|
3
|
+
These docs are written for contributors and future coding agents.
|
|
4
|
+
|
|
5
|
+
The short version:
|
|
6
|
+
|
|
7
|
+
- Octogent is a local control surface over Claude Code
|
|
8
|
+
- the main abstraction is the tentacle
|
|
9
|
+
- a tentacle is a context folder with markdown files and todos
|
|
10
|
+
- todos can be used as delegation units for child agents
|
|
11
|
+
- the API manages terminals, transport, persistence, and coordination
|
|
12
|
+
|
|
13
|
+
## Start here
|
|
14
|
+
|
|
15
|
+
- [Installation](getting-started/installation.md)
|
|
16
|
+
- [Quickstart](getting-started/quickstart.md)
|
|
17
|
+
- [Mental Model](concepts/mental-model.md)
|
|
18
|
+
|
|
19
|
+
## Concepts
|
|
20
|
+
|
|
21
|
+
- [Tentacles](concepts/tentacles.md)
|
|
22
|
+
- [Runtime and API](concepts/runtime-and-api.md)
|
|
23
|
+
|
|
24
|
+
## Guides
|
|
25
|
+
|
|
26
|
+
- [Working With Todos](guides/working-with-todos.md)
|
|
27
|
+
- [Orchestrating Child Agents](guides/orchestrating-child-agents.md)
|
|
28
|
+
- [Inter-Agent Messaging](guides/inter-agent-messaging.md)
|
|
29
|
+
|
|
30
|
+
## Reference
|
|
31
|
+
|
|
32
|
+
- [CLI](reference/cli.md)
|
|
33
|
+
- [Filesystem Layout](reference/filesystem-layout.md)
|
|
34
|
+
- [API](reference/api.md)
|
|
35
|
+
- [Experimental Features](reference/experimental-features.md)
|
|
36
|
+
- [Troubleshooting](reference/troubleshooting.md)
|
|
37
|
+
|
|
38
|
+
## Contributor policy
|
|
39
|
+
|
|
40
|
+
- [Contributing](../CONTRIBUTING.md)
|