@compilr-dev/cli 0.5.0 → 0.5.1
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 +236 -68
- package/dist/.tsbuildinfo.app +1 -0
- package/dist/.tsbuildinfo.data +1 -0
- package/dist/.tsbuildinfo.domain +1 -0
- package/dist/.tsbuildinfo.foundation +1 -0
- package/dist/agent.d.ts +61 -4
- package/dist/agent.js +241 -245
- package/dist/anchors/index.d.ts +1 -1
- package/dist/anchors/index.js +1 -1
- package/dist/anchors/project-anchors.d.ts +2 -2
- package/dist/anchors/project-anchors.js +1 -1
- package/dist/auth/api-client.d.ts +124 -0
- package/dist/auth/api-client.js +261 -0
- package/dist/auth/index.d.ts +172 -0
- package/dist/auth/index.js +545 -0
- package/dist/auth/storage.d.ts +52 -0
- package/dist/auth/storage.js +118 -0
- package/dist/changelog/index.d.ts +16 -0
- package/dist/changelog/index.js +24 -0
- package/dist/changelog/releases.d.ts +17 -0
- package/dist/changelog/releases.js +63 -0
- package/dist/commands-v2/handlers/auth.d.ts +10 -0
- package/dist/commands-v2/handlers/auth.js +118 -0
- package/dist/commands-v2/handlers/background.d.ts +14 -0
- package/dist/commands-v2/handlers/background.js +276 -0
- package/dist/commands-v2/handlers/context.js +266 -81
- package/dist/commands-v2/handlers/core.d.ts +1 -0
- package/dist/commands-v2/handlers/core.js +133 -8
- package/dist/commands-v2/handlers/debug.js +18 -0
- package/dist/commands-v2/handlers/delegations.d.ts +8 -0
- package/dist/commands-v2/handlers/delegations.js +29 -0
- package/dist/commands-v2/handlers/files.d.ts +8 -0
- package/dist/commands-v2/handlers/files.js +162 -0
- package/dist/commands-v2/handlers/filter.d.ts +9 -0
- package/dist/commands-v2/handlers/filter.js +130 -0
- package/dist/commands-v2/handlers/games.d.ts +7 -0
- package/dist/commands-v2/handlers/games.js +57 -0
- package/dist/commands-v2/handlers/index.d.ts +13 -0
- package/dist/commands-v2/handlers/index.js +39 -0
- package/dist/commands-v2/handlers/mcp.d.ts +8 -0
- package/dist/commands-v2/handlers/mcp.js +39 -0
- package/dist/commands-v2/handlers/notifications.d.ts +9 -0
- package/dist/commands-v2/handlers/notifications.js +34 -0
- package/dist/commands-v2/handlers/project.js +244 -23
- package/dist/commands-v2/handlers/reset.d.ts +11 -0
- package/dist/commands-v2/handlers/reset.js +118 -0
- package/dist/commands-v2/handlers/session.d.ts +161 -0
- package/dist/commands-v2/handlers/session.js +805 -0
- package/dist/commands-v2/handlers/settings.d.ts +2 -0
- package/dist/commands-v2/handlers/settings.js +217 -35
- package/dist/commands-v2/handlers/tasks.d.ts +5 -0
- package/dist/commands-v2/handlers/tasks.js +36 -0
- package/dist/commands-v2/handlers/team.d.ts +9 -0
- package/dist/commands-v2/handlers/team.js +549 -0
- package/dist/commands-v2/handlers/terminals.d.ts +9 -0
- package/dist/commands-v2/handlers/terminals.js +34 -0
- package/dist/commands-v2/index.d.ts +3 -2
- package/dist/commands-v2/index.js +4 -1
- package/dist/commands-v2/registry.d.ts +15 -0
- package/dist/commands-v2/registry.js +34 -0
- package/dist/commands-v2/types.d.ts +81 -3
- package/dist/commands.js +13 -0
- package/dist/compilr-diff-companion.vsix +0 -0
- package/dist/db/index.js +98 -4
- package/dist/db/repositories/document-repository.d.ts +2 -0
- package/dist/db/repositories/document-repository.js +5 -1
- package/dist/db/repositories/index.d.ts +2 -0
- package/dist/db/repositories/index.js +1 -0
- package/dist/db/repositories/plan-repository.d.ts +101 -0
- package/dist/db/repositories/plan-repository.js +275 -0
- package/dist/db/repositories/project-repository.d.ts +6 -0
- package/dist/db/repositories/project-repository.js +41 -0
- package/dist/db/repositories/work-item-repository.d.ts +15 -0
- package/dist/db/repositories/work-item-repository.js +69 -4
- package/dist/db/schema.d.ts +40 -3
- package/dist/db/schema.js +66 -3
- package/dist/episodes/index.d.ts +20 -0
- package/dist/episodes/index.js +27 -0
- package/dist/episodes/recorder.d.ts +51 -0
- package/dist/episodes/recorder.js +195 -0
- package/dist/episodes/significant-work.d.ts +21 -0
- package/dist/episodes/significant-work.js +56 -0
- package/dist/episodes/store.d.ts +38 -0
- package/dist/episodes/store.js +199 -0
- package/dist/episodes/types.d.ts +35 -0
- package/dist/episodes/types.js +6 -0
- package/dist/episodes/work-at-risk.d.ts +12 -0
- package/dist/episodes/work-at-risk.js +38 -0
- package/dist/episodes/work-summary-anchor.d.ts +23 -0
- package/dist/episodes/work-summary-anchor.js +73 -0
- package/dist/games/coins.d.ts +66 -0
- package/dist/games/coins.js +165 -0
- package/dist/games/game-base.d.ts +84 -0
- package/dist/games/game-base.js +204 -0
- package/dist/games/index.d.ts +16 -0
- package/dist/games/index.js +49 -0
- package/dist/games/scores.d.ts +69 -0
- package/dist/games/scores.js +191 -0
- package/dist/games/tetris/board.d.ts +59 -0
- package/dist/games/tetris/board.js +170 -0
- package/dist/games/tetris/index.d.ts +109 -0
- package/dist/games/tetris/index.js +610 -0
- package/dist/games/tetris/pieces.d.ts +44 -0
- package/dist/games/tetris/pieces.js +271 -0
- package/dist/games/tetris/renderer.d.ts +26 -0
- package/dist/games/tetris/renderer.js +77 -0
- package/dist/guide/guide-content.d.ts +23 -0
- package/dist/guide/guide-content.js +196 -0
- package/dist/guide/index.d.ts +8 -0
- package/dist/guide/index.js +7 -0
- package/dist/guide/shared-content.d.ts +37 -0
- package/dist/guide/shared-content.js +1272 -0
- package/dist/guide/tutorial-helpers.d.ts +57 -0
- package/dist/guide/tutorial-helpers.js +147 -0
- package/dist/handlers/ask-user-handlers.d.ts +32 -0
- package/dist/handlers/ask-user-handlers.js +104 -0
- package/dist/handlers/delegation-handlers.d.ts +34 -0
- package/dist/handlers/delegation-handlers.js +291 -0
- package/dist/handlers/permission-handler.d.ts +30 -0
- package/dist/handlers/permission-handler.js +205 -0
- package/dist/index.d.ts +11 -1
- package/dist/index.js +448 -271
- package/dist/input-handlers/memory-handler.d.ts +1 -1
- package/dist/input-handlers/memory-handler.js +2 -1
- package/dist/models/index.d.ts +10 -0
- package/dist/models/index.js +12 -0
- package/dist/models/model-registry.d.ts +38 -0
- package/dist/models/model-registry.js +69 -0
- package/dist/models/model-tiers.d.ts +28 -0
- package/dist/models/model-tiers.js +71 -0
- package/dist/models/model-validation.d.ts +25 -0
- package/dist/models/model-validation.js +291 -0
- package/dist/models/ollama-models.d.ts +73 -0
- package/dist/models/ollama-models.js +178 -0
- package/dist/models/provider-types.d.ts +6 -0
- package/dist/models/provider-types.js +1 -0
- package/dist/models/providers.d.ts +35 -0
- package/dist/models/providers.js +58 -0
- package/dist/models/types.d.ts +4 -0
- package/dist/models/types.js +4 -0
- package/dist/multi-agent/activity.d.ts +21 -0
- package/dist/multi-agent/activity.js +34 -0
- package/dist/multi-agent/agent-selection.d.ts +55 -0
- package/dist/multi-agent/agent-selection.js +90 -0
- package/dist/multi-agent/artifacts.d.ts +197 -0
- package/dist/multi-agent/artifacts.js +379 -0
- package/dist/multi-agent/checkpointer.d.ts +138 -0
- package/dist/multi-agent/checkpointer.js +471 -0
- package/dist/multi-agent/collision-utils.d.ts +16 -0
- package/dist/multi-agent/collision-utils.js +28 -0
- package/dist/multi-agent/context-resolver.d.ts +97 -0
- package/dist/multi-agent/context-resolver.js +316 -0
- package/dist/multi-agent/custom-agents.d.ts +83 -0
- package/dist/multi-agent/custom-agents.js +227 -0
- package/dist/multi-agent/delegation-tracker.d.ts +157 -0
- package/dist/multi-agent/delegation-tracker.js +243 -0
- package/dist/multi-agent/file-lock-hook.d.ts +29 -0
- package/dist/multi-agent/file-lock-hook.js +97 -0
- package/dist/multi-agent/file-locks.d.ts +58 -0
- package/dist/multi-agent/file-locks.js +194 -0
- package/dist/multi-agent/index.d.ts +24 -0
- package/dist/multi-agent/index.js +30 -0
- package/dist/multi-agent/mention-parser.d.ts +64 -0
- package/dist/multi-agent/mention-parser.js +146 -0
- package/dist/multi-agent/notification-manager.d.ts +84 -0
- package/dist/multi-agent/notification-manager.js +224 -0
- package/dist/multi-agent/pending-requests.d.ts +122 -0
- package/dist/multi-agent/pending-requests.js +155 -0
- package/dist/multi-agent/session-registry.d.ts +139 -0
- package/dist/multi-agent/session-registry.js +514 -0
- package/dist/multi-agent/shared-context.d.ts +293 -0
- package/dist/multi-agent/shared-context.js +671 -0
- package/dist/multi-agent/skill-requirements.d.ts +66 -0
- package/dist/multi-agent/skill-requirements.js +178 -0
- package/dist/multi-agent/task-assignment.d.ts +69 -0
- package/dist/multi-agent/task-assignment.js +123 -0
- package/dist/multi-agent/task-suggestion.d.ts +31 -0
- package/dist/multi-agent/task-suggestion.js +72 -0
- package/dist/multi-agent/team-agent.d.ts +201 -0
- package/dist/multi-agent/team-agent.js +488 -0
- package/dist/multi-agent/team.d.ts +286 -0
- package/dist/multi-agent/team.js +610 -0
- package/dist/multi-agent/tool-config.d.ts +110 -0
- package/dist/multi-agent/tool-config.js +661 -0
- package/dist/multi-agent/types.d.ts +211 -0
- package/dist/multi-agent/types.js +617 -0
- package/dist/prompts/plan-mode-prompt.d.ts +11 -0
- package/dist/prompts/plan-mode-prompt.js +95 -0
- package/dist/repl-helpers.js +3 -2
- package/dist/repl-v2.d.ts +401 -2
- package/dist/repl-v2.js +2577 -65
- package/dist/session/index.d.ts +6 -0
- package/dist/session/index.js +6 -0
- package/dist/session/project-session-manager.d.ts +158 -0
- package/dist/session/project-session-manager.js +650 -0
- package/dist/settings/index.d.ts +133 -13
- package/dist/settings/index.js +329 -24
- package/dist/settings/mcp-config.d.ts +76 -0
- package/dist/settings/mcp-config.js +143 -0
- package/dist/settings/paths.d.ts +4 -0
- package/dist/settings/paths.js +6 -0
- package/dist/shared-handlers.d.ts +62 -0
- package/dist/shared-handlers.js +48 -0
- package/dist/system-prompt/builder.d.ts +5 -0
- package/dist/system-prompt/builder.js +4 -0
- package/dist/system-prompt/index.d.ts +18 -0
- package/dist/system-prompt/index.js +18 -0
- package/dist/system-prompt/modules.d.ts +5 -0
- package/dist/system-prompt/modules.js +4 -0
- package/dist/tabbed-menu.js +2 -1
- package/dist/templates/compilr-md-import.d.ts +16 -0
- package/dist/templates/compilr-md-import.js +241 -0
- package/dist/templates/compilr-md.js +10 -61
- package/dist/templates/config-json.d.ts +1 -25
- package/dist/templates/index.d.ts +2 -0
- package/dist/templates/index.js +34 -73
- package/dist/tool-names.d.ts +108 -0
- package/dist/tool-names.js +227 -0
- package/dist/tools/anchor-tools.d.ts +4 -4
- package/dist/tools/anchor-tools.js +1 -1
- package/dist/tools/artifact-tools.d.ts +42 -0
- package/dist/tools/artifact-tools.js +328 -0
- package/dist/tools/ask-user-simple.d.ts +1 -1
- package/dist/tools/ask-user-simple.js +2 -1
- package/dist/tools/ask-user.d.ts +1 -1
- package/dist/tools/ask-user.js +2 -1
- package/dist/tools/backlog-wrappers.d.ts +5 -3
- package/dist/tools/backlog-wrappers.js +16 -1
- package/dist/tools/backlog.d.ts +2 -2
- package/dist/tools/backlog.js +1 -1
- package/dist/tools/db-tools.d.ts +8 -61
- package/dist/tools/db-tools.js +8 -13
- package/dist/tools/delegate-background.d.ts +27 -0
- package/dist/tools/delegate-background.js +115 -0
- package/dist/tools/delegate.d.ts +22 -0
- package/dist/tools/delegate.js +97 -0
- package/dist/tools/delegation-status.d.ts +16 -0
- package/dist/tools/delegation-status.js +128 -0
- package/dist/tools/document-db.d.ts +5 -5
- package/dist/tools/document-db.js +1 -1
- package/dist/tools/guide-tool.d.ts +12 -0
- package/dist/tools/guide-tool.js +59 -0
- package/dist/tools/handoff.d.ts +25 -0
- package/dist/tools/handoff.js +99 -0
- package/dist/tools/meta-tools.d.ts +26 -0
- package/dist/tools/meta-tools.js +47 -0
- package/dist/tools/plan-tools.d.ts +54 -0
- package/dist/tools/plan-tools.js +338 -0
- package/dist/tools/platform-adapter.d.ts +29 -0
- package/dist/tools/platform-adapter.js +394 -0
- package/dist/tools/project-db.d.ts +5 -73
- package/dist/tools/project-db.js +5 -336
- package/dist/tools/recall-work-tool.d.ts +18 -0
- package/dist/tools/recall-work-tool.js +82 -0
- package/dist/tools/workitem-db.d.ts +43 -11
- package/dist/tools/workitem-db.js +186 -5
- package/dist/tools.d.ts +67 -2
- package/dist/tools.js +237 -47
- package/dist/ui/autocomplete-controller.d.ts +42 -0
- package/dist/ui/autocomplete-controller.js +384 -0
- package/dist/ui/base/index.d.ts +1 -1
- package/dist/ui/base/index.js +1 -1
- package/dist/ui/base/overlay-base-v2.d.ts +10 -0
- package/dist/ui/base/overlay-base-v2.js +14 -0
- package/dist/ui/base/render-utils.d.ts +19 -0
- package/dist/ui/base/render-utils.js +25 -0
- package/dist/ui/base/tabbed-list-overlay-v2.d.ts +16 -1
- package/dist/ui/base/tabbed-list-overlay-v2.js +19 -1
- package/dist/ui/constants/labels.d.ts +14 -0
- package/dist/ui/constants/labels.js +51 -0
- package/dist/ui/conversation-store.d.ts +55 -0
- package/dist/ui/conversation-store.js +107 -0
- package/dist/ui/conversation.js +11 -13
- package/dist/ui/diff.d.ts +7 -1
- package/dist/ui/diff.js +85 -48
- package/dist/ui/ephemeral.js +3 -9
- package/dist/ui/file-autocomplete.d.ts +24 -0
- package/dist/ui/file-autocomplete.js +56 -0
- package/dist/ui/footer-renderer.d.ts +69 -0
- package/dist/ui/footer-renderer.js +431 -0
- package/dist/ui/footer.d.ts +74 -7
- package/dist/ui/footer.js +173 -16
- package/dist/ui/input-controller.d.ts +51 -0
- package/dist/ui/input-controller.js +176 -0
- package/dist/ui/input-prompt.d.ts +19 -0
- package/dist/ui/input-prompt.js +206 -14
- package/dist/ui/keyboard-handler.d.ts +57 -0
- package/dist/ui/keyboard-handler.js +557 -0
- package/dist/ui/live-region-facade.d.ts +42 -0
- package/dist/ui/live-region-facade.js +205 -0
- package/dist/ui/live-region.d.ts +0 -4
- package/dist/ui/live-region.js +6 -14
- package/dist/ui/mascot/renderer.d.ts +1 -1
- package/dist/ui/mascot/renderer.js +37 -2
- package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
- package/dist/ui/overlay/data/tutorial-content.js +9 -0
- package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
- package/dist/ui/overlay/data/tutorial-registry.js +116 -0
- package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
- package/dist/ui/overlay/data/tutorial-types.js +6 -0
- package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
- package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
- package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
- package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
- package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
- package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
- package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
- package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
- package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
- package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
- package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
- package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
- package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
- package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
- package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
- package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
- package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
- package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
- package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
- package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
- package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
- package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
- package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
- package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
- package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
- package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
- package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
- package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
- package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
- package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
- package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
- package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
- package/dist/ui/overlay/impl/agents-overlay-v2.js +6 -17
- package/dist/ui/overlay/impl/anchors-overlay-v2.js +30 -64
- package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
- package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
- package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
- package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
- package/dist/ui/overlay/impl/ask-user-overlay-v2.js +2 -5
- package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
- package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
- package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +4 -1
- package/dist/ui/overlay/impl/backlog-overlay-v2.js +55 -16
- package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
- package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
- package/dist/ui/overlay/impl/commands-overlay-v2.js +4 -6
- package/dist/ui/overlay/impl/config-overlay-v2.d.ts +12 -1
- package/dist/ui/overlay/impl/config-overlay-v2.js +164 -100
- package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
- package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
- package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +2 -0
- package/dist/ui/overlay/impl/dashboard-overlay-v2.js +26 -3
- package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
- package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
- package/dist/ui/overlay/impl/docs-overlay-v2.js +12 -9
- package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +7 -0
- package/dist/ui/overlay/impl/document-detail-overlay-v2.js +119 -78
- package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
- package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
- package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
- package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
- package/dist/ui/overlay/impl/help-overlay-v2.d.ts +26 -3
- package/dist/ui/overlay/impl/help-overlay-v2.js +20 -42
- package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
- package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
- package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
- package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
- package/dist/ui/overlay/impl/model-overlay-v2.d.ts +57 -13
- package/dist/ui/overlay/impl/model-overlay-v2.js +1086 -61
- package/dist/ui/overlay/impl/new-overlay-v2.d.ts +37 -6
- package/dist/ui/overlay/impl/new-overlay-v2.js +715 -65
- package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
- package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
- package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
- package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
- package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
- package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
- package/dist/ui/overlay/impl/permission-overlay-v2.js +5 -5
- package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
- package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
- package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
- package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
- package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
- package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
- package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +1 -0
- package/dist/ui/overlay/impl/projects-overlay-v2.js +278 -44
- package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
- package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
- package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
- package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
- package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
- package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
- package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
- package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
- package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
- package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
- package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
- package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
- package/dist/ui/overlay/impl/tools-overlay-v2.js +3 -7
- package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +30 -16
- package/dist/ui/overlay/impl/tutorial-overlay-v2.js +133 -956
- package/dist/ui/overlay/impl/workflow-overlay-v2.js +5 -1
- package/dist/ui/overlay/index.d.ts +20 -1
- package/dist/ui/overlay/index.js +19 -0
- package/dist/ui/overlay/types.d.ts +5 -0
- package/dist/ui/overlay-manager.d.ts +43 -0
- package/dist/ui/overlay-manager.js +238 -0
- package/dist/ui/overlays.js +4 -16
- package/dist/ui/permission-overlay.js +6 -5
- package/dist/ui/status-bar-controller.d.ts +33 -0
- package/dist/ui/status-bar-controller.js +99 -0
- package/dist/ui/subagent-renderer.js +3 -19
- package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
- package/dist/ui/terminal-autocomplete-utils.js +83 -0
- package/dist/ui/terminal-line-builders.d.ts +17 -0
- package/dist/ui/terminal-line-builders.js +42 -0
- package/dist/ui/terminal-render-item.d.ts +16 -0
- package/dist/ui/terminal-render-item.js +267 -0
- package/dist/ui/terminal-renderer.d.ts +7 -8
- package/dist/ui/terminal-renderer.js +7 -8
- package/dist/ui/terminal-types.d.ts +179 -0
- package/dist/ui/terminal-types.js +34 -0
- package/dist/ui/terminal-ui.d.ts +144 -276
- package/dist/ui/terminal-ui.js +384 -1861
- package/dist/ui/todo-zone.d.ts +19 -1
- package/dist/ui/todo-zone.js +71 -13
- package/dist/ui/tool-formatters.js +512 -1
- package/dist/ui/turn-metrics.d.ts +56 -0
- package/dist/ui/turn-metrics.js +75 -0
- package/dist/ui/types.d.ts +28 -0
- package/dist/ui/types.js +1 -0
- package/dist/ui/vscode-diff-ipc.d.ts +102 -0
- package/dist/ui/vscode-diff-ipc.js +385 -0
- package/dist/utils/credentials.d.ts +24 -5
- package/dist/utils/credentials.js +123 -9
- package/dist/utils/format-tokens.d.ts +13 -0
- package/dist/utils/format-tokens.js +18 -0
- package/dist/utils/git-config.d.ts +26 -0
- package/dist/utils/git-config.js +54 -0
- package/dist/utils/message-utils.d.ts +61 -0
- package/dist/utils/message-utils.js +72 -0
- package/dist/utils/model-tiers.d.ts +8 -1
- package/dist/utils/model-tiers.js +38 -16
- package/dist/utils/open-browser.d.ts +5 -0
- package/dist/utils/open-browser.js +32 -0
- package/dist/utils/path-safety.js +3 -2
- package/dist/utils/project-detection.d.ts +58 -0
- package/dist/utils/project-detection.js +424 -0
- package/dist/utils/project-memory.js +2 -1
- package/dist/utils/project-status.d.ts +2 -2
- package/dist/utils/startup-perf.d.ts +18 -0
- package/dist/utils/startup-perf.js +60 -0
- package/dist/utils/token-tracker.d.ts +62 -0
- package/dist/utils/token-tracker.js +150 -0
- package/dist/utils/token-types.d.ts +23 -0
- package/dist/utils/token-types.js +18 -0
- package/dist/utils/types/config-types.d.ts +32 -0
- package/dist/utils/types/config-types.js +8 -0
- package/dist/utils/update-checker.d.ts +28 -0
- package/dist/utils/update-checker.js +106 -0
- package/dist/utils/version.d.ts +7 -0
- package/dist/utils/version.js +10 -0
- package/dist/utils/vscode-detect.d.ts +39 -0
- package/dist/utils/vscode-detect.js +137 -0
- package/package.json +25 -12
- package/dist/commands/handler-types.d.ts +0 -68
- package/dist/commands/handler-types.js +0 -8
- package/dist/commands/handlers/agent-commands.d.ts +0 -13
- package/dist/commands/handlers/agent-commands.js +0 -305
- package/dist/commands/handlers/design-commands.d.ts +0 -15
- package/dist/commands/handlers/design-commands.js +0 -334
- package/dist/commands/handlers/index.d.ts +0 -20
- package/dist/commands/handlers/index.js +0 -43
- package/dist/commands/handlers/overlay-commands.d.ts +0 -21
- package/dist/commands/handlers/overlay-commands.js +0 -287
- package/dist/commands/handlers/project-commands.d.ts +0 -11
- package/dist/commands/handlers/project-commands.js +0 -167
- package/dist/commands/handlers/simple-commands.d.ts +0 -19
- package/dist/commands/handlers/simple-commands.js +0 -144
- package/dist/commands/registry.d.ts +0 -50
- package/dist/commands/registry.js +0 -75
- package/dist/index.old.d.ts +0 -7
- package/dist/index.old.js +0 -1014
- package/dist/repl.d.ts +0 -149
- package/dist/repl.js +0 -1151
- package/dist/templates/claude-md.d.ts +0 -7
- package/dist/templates/claude-md.js +0 -189
- package/dist/test-autocomplete.d.ts +0 -7
- package/dist/test-autocomplete.js +0 -85
- package/dist/test-tabbed-menu.d.ts +0 -7
- package/dist/test-tabbed-menu.js +0 -25
- package/dist/tool-selector.d.ts +0 -71
- package/dist/tool-selector.js +0 -184
- package/dist/ui/agents-overlay-v2.d.ts +0 -43
- package/dist/ui/agents-overlay-v2.js +0 -809
- package/dist/ui/agents-overlay.d.ts +0 -12
- package/dist/ui/agents-overlay.js +0 -863
- package/dist/ui/anchors-overlay.d.ts +0 -12
- package/dist/ui/anchors-overlay.js +0 -775
- package/dist/ui/arch-type-overlay.d.ts +0 -15
- package/dist/ui/arch-type-overlay.js +0 -201
- package/dist/ui/ask-user-overlay-v2.d.ts +0 -26
- package/dist/ui/ask-user-overlay-v2.js +0 -555
- package/dist/ui/ask-user-simple-overlay-v2.d.ts +0 -25
- package/dist/ui/ask-user-simple-overlay-v2.js +0 -215
- package/dist/ui/backlog-overlay.d.ts +0 -32
- package/dist/ui/backlog-overlay.js +0 -652
- package/dist/ui/commands-overlay-v2.d.ts +0 -33
- package/dist/ui/commands-overlay-v2.js +0 -441
- package/dist/ui/commands-overlay.d.ts +0 -16
- package/dist/ui/commands-overlay.js +0 -439
- package/dist/ui/config-overlay.d.ts +0 -35
- package/dist/ui/config-overlay.js +0 -707
- package/dist/ui/docs-overlay.d.ts +0 -17
- package/dist/ui/docs-overlay.js +0 -303
- package/dist/ui/footer-v2.d.ts +0 -222
- package/dist/ui/footer-v2.js +0 -1349
- package/dist/ui/help-overlay-v2.d.ts +0 -34
- package/dist/ui/help-overlay-v2.js +0 -309
- package/dist/ui/help-overlay.d.ts +0 -16
- package/dist/ui/help-overlay.js +0 -316
- package/dist/ui/init-overlay-v2.d.ts +0 -34
- package/dist/ui/init-overlay-v2.js +0 -600
- package/dist/ui/init-overlay.d.ts +0 -34
- package/dist/ui/init-overlay.js +0 -604
- package/dist/ui/input-prompt-v2.d.ts +0 -180
- package/dist/ui/input-prompt-v2.js +0 -999
- package/dist/ui/iteration-limit-overlay-v2.d.ts +0 -21
- package/dist/ui/iteration-limit-overlay-v2.js +0 -114
- package/dist/ui/keys-overlay-v2.d.ts +0 -41
- package/dist/ui/keys-overlay-v2.js +0 -248
- package/dist/ui/mascot-overlay-v2.d.ts +0 -41
- package/dist/ui/mascot-overlay-v2.js +0 -138
- package/dist/ui/mascot-overlay.d.ts +0 -21
- package/dist/ui/mascot-overlay.js +0 -146
- package/dist/ui/model-overlay-v2.d.ts +0 -49
- package/dist/ui/model-overlay-v2.js +0 -118
- package/dist/ui/model-overlay.d.ts +0 -27
- package/dist/ui/model-overlay.js +0 -221
- package/dist/ui/model-warning-overlay.d.ts +0 -30
- package/dist/ui/model-warning-overlay.js +0 -169
- package/dist/ui/new-overlay.d.ts +0 -34
- package/dist/ui/new-overlay.js +0 -604
- package/dist/ui/overlay/impl/init-overlay-v2.d.ts +0 -77
- package/dist/ui/overlay/impl/init-overlay-v2.js +0 -593
- package/dist/ui/overlay/overlay-types.d.ts +0 -128
- package/dist/ui/overlay/overlay-types.js +0 -22
- package/dist/ui/overlays/help-overlay-v2.d.ts +0 -28
- package/dist/ui/overlays/help-overlay-v2.js +0 -198
- package/dist/ui/overlays/index.d.ts +0 -11
- package/dist/ui/overlays/index.js +0 -11
- package/dist/ui/permission-overlay-v2.d.ts +0 -36
- package/dist/ui/permission-overlay-v2.js +0 -380
- package/dist/ui/projects-overlay.d.ts +0 -19
- package/dist/ui/projects-overlay.js +0 -484
- package/dist/ui/theme-overlay-v2.d.ts +0 -42
- package/dist/ui/theme-overlay-v2.js +0 -135
- package/dist/ui/theme-overlay.d.ts +0 -24
- package/dist/ui/theme-overlay.js +0 -127
- package/dist/ui/tools-overlay-v2.d.ts +0 -47
- package/dist/ui/tools-overlay-v2.js +0 -218
- package/dist/ui/tools-overlay.d.ts +0 -34
- package/dist/ui/tools-overlay.js +0 -230
- package/dist/ui/tutorial-overlay-v2.d.ts +0 -31
- package/dist/ui/tutorial-overlay-v2.js +0 -1035
- package/dist/ui/tutorial-overlay.d.ts +0 -11
- package/dist/ui/tutorial-overlay.js +0 -1034
- package/dist/ui/workflow-overlay.d.ts +0 -22
- package/dist/ui/workflow-overlay.js +0 -636
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Command Handler Types
|
|
3
|
-
*
|
|
4
|
-
* Defines the interfaces for the command handler system.
|
|
5
|
-
* Handlers are registered with the command registry and invoked
|
|
6
|
-
* by REPL.handleCommand() when a slash command is entered.
|
|
7
|
-
*/
|
|
8
|
-
import type { Agent } from '@compilr-dev/agents';
|
|
9
|
-
import type { Footer } from '../ui/footer.js';
|
|
10
|
-
import type { REPLState, AgentMode } from '../ui/types.js';
|
|
11
|
-
/**
|
|
12
|
-
* Context passed to command handlers.
|
|
13
|
-
* Contains all dependencies needed to execute commands.
|
|
14
|
-
*/
|
|
15
|
-
export interface CommandContext {
|
|
16
|
-
agent: Agent;
|
|
17
|
-
model: string;
|
|
18
|
-
currentModel: string;
|
|
19
|
-
provider: string;
|
|
20
|
-
version: string;
|
|
21
|
-
footer: Footer;
|
|
22
|
-
state: REPLState;
|
|
23
|
-
startTime: Date;
|
|
24
|
-
sessionInputTokens: number;
|
|
25
|
-
sessionOutputTokens: number;
|
|
26
|
-
sessionRequests: number;
|
|
27
|
-
onModeChange?: (mode: AgentMode) => void;
|
|
28
|
-
setShouldReturnToMenu: (value: boolean) => void;
|
|
29
|
-
processMessage: (message: string, options?: {
|
|
30
|
-
displayMessage?: string;
|
|
31
|
-
}) => Promise<void>;
|
|
32
|
-
handleCommand: (command: string, args: string) => Promise<boolean>;
|
|
33
|
-
setModel: (model: string) => void;
|
|
34
|
-
showTools: () => Promise<void>;
|
|
35
|
-
showTokens: () => void;
|
|
36
|
-
showContext: () => void;
|
|
37
|
-
showStatus: () => void;
|
|
38
|
-
showTodos: () => void;
|
|
39
|
-
handleCompact: () => Promise<void>;
|
|
40
|
-
handleExport: (args: string) => Promise<void>;
|
|
41
|
-
reloadProjectAnchors: (oldProjectId: string | null, newProjectId: string) => void;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Interface for a command handler.
|
|
45
|
-
*/
|
|
46
|
-
export interface CommandHandler {
|
|
47
|
-
/** Primary command name (without leading slash) */
|
|
48
|
-
name: string;
|
|
49
|
-
/** Optional aliases that resolve to this command */
|
|
50
|
-
aliases?: string[];
|
|
51
|
-
/** Short description for help text */
|
|
52
|
-
description: string;
|
|
53
|
-
/**
|
|
54
|
-
* Execute the command.
|
|
55
|
-
*
|
|
56
|
-
* @param args - Arguments passed after the command (e.g., "/build REQ-001" -> "REQ-001")
|
|
57
|
-
* @param ctx - Command context with dependencies
|
|
58
|
-
* @returns true to continue REPL, false to exit
|
|
59
|
-
*/
|
|
60
|
-
execute(args: string, ctx: CommandContext): Promise<boolean>;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Result of executing a command.
|
|
64
|
-
* - true: Command handled successfully, continue REPL
|
|
65
|
-
* - false: Exit REPL (e.g., /exit command)
|
|
66
|
-
* - null: Command not found in registry
|
|
67
|
-
*/
|
|
68
|
-
export type CommandResult = boolean | null;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Commands
|
|
3
|
-
*
|
|
4
|
-
* Commands that delegate work to the agent via processMessage:
|
|
5
|
-
* - build, note, prd, scaffold, workflow
|
|
6
|
-
*/
|
|
7
|
-
import type { CommandHandler } from '../handler-types.js';
|
|
8
|
-
export declare const noteCommand: CommandHandler;
|
|
9
|
-
export declare const prdCommand: CommandHandler;
|
|
10
|
-
export declare const workflowCommand: CommandHandler;
|
|
11
|
-
export declare const scaffoldCommand: CommandHandler;
|
|
12
|
-
export declare const buildCommand: CommandHandler;
|
|
13
|
-
export declare const agentCommands: CommandHandler[];
|
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Commands
|
|
3
|
-
*
|
|
4
|
-
* Commands that delegate work to the agent via processMessage:
|
|
5
|
-
* - build, note, prd, scaffold, workflow
|
|
6
|
-
*/
|
|
7
|
-
import fs from 'node:fs';
|
|
8
|
-
import * as conversation from '../../ui/conversation.js';
|
|
9
|
-
import { showWorkflowOverlay } from '../../ui/workflow-overlay.js';
|
|
10
|
-
import { findBacklogPath, parseBacklogItems } from '../../tools/backlog.js';
|
|
11
|
-
import { detectCompilrProject, getSkillPrompt, hasProjectFoundation, selectBuildItem, getUnmetDependencies, } from '../../repl-helpers.js';
|
|
12
|
-
// =============================================================================
|
|
13
|
-
// Note Command
|
|
14
|
-
// =============================================================================
|
|
15
|
-
export const noteCommand = {
|
|
16
|
-
name: 'note',
|
|
17
|
-
description: 'Create a session note',
|
|
18
|
-
async execute(args, ctx) {
|
|
19
|
-
// Check if project is initialized
|
|
20
|
-
const noteProject = detectCompilrProject();
|
|
21
|
-
if (!noteProject.found) {
|
|
22
|
-
conversation.printError('No .compilr project found. Run /new first.');
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
// Get session-notes skill prompt
|
|
26
|
-
const notePrompt = getSkillPrompt('session-notes');
|
|
27
|
-
if (!notePrompt) {
|
|
28
|
-
conversation.printError('Session-notes skill not found.');
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
// Check for optional title argument
|
|
32
|
-
const noteTitle = args.trim();
|
|
33
|
-
conversation.printInfo('📝 Creating session note...');
|
|
34
|
-
conversation.printInfo('');
|
|
35
|
-
// Resume footer animation before processing message
|
|
36
|
-
ctx.footer.resumeAnimation();
|
|
37
|
-
// Build message based on whether title was provided
|
|
38
|
-
const titleInstruction = noteTitle
|
|
39
|
-
? `The session title is: "${noteTitle}"`
|
|
40
|
-
: 'Please ask me for a title using ask_user_simple, or generate one from the session summary.';
|
|
41
|
-
await ctx.processMessage(`I want to create a session note capturing what we've done.
|
|
42
|
-
|
|
43
|
-
${notePrompt}
|
|
44
|
-
|
|
45
|
-
${titleInstruction}
|
|
46
|
-
|
|
47
|
-
Review the conversation context to understand what was accomplished, then create the session note file.`, {
|
|
48
|
-
displayMessage: noteTitle
|
|
49
|
-
? `Create session note: "${noteTitle}"`
|
|
50
|
-
: 'Create a session note for this session.',
|
|
51
|
-
});
|
|
52
|
-
return true;
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
// =============================================================================
|
|
56
|
-
// PRD Command
|
|
57
|
-
// =============================================================================
|
|
58
|
-
export const prdCommand = {
|
|
59
|
-
name: 'prd',
|
|
60
|
-
description: 'Update the Product Requirements Document',
|
|
61
|
-
async execute(args, ctx) {
|
|
62
|
-
// Check if project is initialized
|
|
63
|
-
const prdProject = detectCompilrProject();
|
|
64
|
-
if (!prdProject.found) {
|
|
65
|
-
conversation.printError('No .compilr project found. Run /new first.');
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
// Get prd skill prompt
|
|
69
|
-
const prdPrompt = getSkillPrompt('prd');
|
|
70
|
-
if (!prdPrompt) {
|
|
71
|
-
conversation.printError('PRD skill not found.');
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
// Check for optional section argument
|
|
75
|
-
const prdSection = args.trim().toLowerCase();
|
|
76
|
-
const validSections = ['vision', 'scope', 'technical', 'success'];
|
|
77
|
-
const sectionInstruction = validSections.includes(prdSection)
|
|
78
|
-
? `The user wants to update the "${prdSection}" section specifically.`
|
|
79
|
-
: 'Ask the user which section they want to update using ask_user_simple.';
|
|
80
|
-
conversation.printInfo('📄 Opening PRD for updates...');
|
|
81
|
-
conversation.printInfo('');
|
|
82
|
-
// Resume footer animation before processing message
|
|
83
|
-
ctx.footer.resumeAnimation();
|
|
84
|
-
await ctx.processMessage(`I want to update the Product Requirements Document.
|
|
85
|
-
|
|
86
|
-
${prdPrompt}
|
|
87
|
-
|
|
88
|
-
${sectionInstruction}
|
|
89
|
-
|
|
90
|
-
Start by reading the existing PRD.md file to understand current state.`, {
|
|
91
|
-
displayMessage: prdSection
|
|
92
|
-
? `Update PRD: ${prdSection} section`
|
|
93
|
-
: 'Update the Product Requirements Document',
|
|
94
|
-
});
|
|
95
|
-
return true;
|
|
96
|
-
},
|
|
97
|
-
};
|
|
98
|
-
// =============================================================================
|
|
99
|
-
// Workflow Command
|
|
100
|
-
// =============================================================================
|
|
101
|
-
export const workflowCommand = {
|
|
102
|
-
name: 'workflow',
|
|
103
|
-
description: 'Show the workflow overlay',
|
|
104
|
-
async execute(_args, ctx) {
|
|
105
|
-
// Loop: workflow → command → back to workflow → etc.
|
|
106
|
-
// User presses Esc in workflow to exit back to REPL
|
|
107
|
-
let stayInWorkflow = true;
|
|
108
|
-
while (stayInWorkflow) {
|
|
109
|
-
// Result may be undefined if user cancelled with Esc (base overlay casts undefined to TResult)
|
|
110
|
-
const result = await showWorkflowOverlay();
|
|
111
|
-
if (result?.command) {
|
|
112
|
-
// User selected a command from workflow, run it
|
|
113
|
-
await ctx.handleCommand(result.command.slice(1), ''); // Remove leading /, no args
|
|
114
|
-
// After command completes, loop back to workflow
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
// User cancelled workflow (Esc), exit to REPL
|
|
118
|
-
stayInWorkflow = false;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return true;
|
|
122
|
-
},
|
|
123
|
-
};
|
|
124
|
-
// =============================================================================
|
|
125
|
-
// Scaffold Command
|
|
126
|
-
// =============================================================================
|
|
127
|
-
export const scaffoldCommand = {
|
|
128
|
-
name: 'scaffold',
|
|
129
|
-
description: 'Create project scaffold/foundation',
|
|
130
|
-
async execute(_args, ctx) {
|
|
131
|
-
// Check if project is initialized
|
|
132
|
-
const scaffoldProject = detectCompilrProject();
|
|
133
|
-
if (!scaffoldProject.found) {
|
|
134
|
-
conversation.printError('No .compilr project found. Run /new first.');
|
|
135
|
-
return true;
|
|
136
|
-
}
|
|
137
|
-
// Get project path for context
|
|
138
|
-
const projectPathForScaffold = scaffoldProject.projectPath || process.cwd();
|
|
139
|
-
const scaffoldPathContext = `**IMPORTANT: Project Directory**
|
|
140
|
-
All code files MUST be created in: ${projectPathForScaffold}
|
|
141
|
-
Do NOT create files in the current working directory if it differs from the project path.
|
|
142
|
-
`;
|
|
143
|
-
// Check if foundation already exists
|
|
144
|
-
const foundationExists = hasProjectFoundation();
|
|
145
|
-
if (foundationExists) {
|
|
146
|
-
// Let agent confirm with user
|
|
147
|
-
conversation.printInfo('🔍 Project files detected...');
|
|
148
|
-
conversation.printInfo('');
|
|
149
|
-
ctx.footer.resumeAnimation();
|
|
150
|
-
await ctx.processMessage(`User wants to create a project scaffold, but a foundation may already exist.
|
|
151
|
-
|
|
152
|
-
${scaffoldPathContext}
|
|
153
|
-
|
|
154
|
-
Use detect_project to analyze the current state. Then use ask_user_simple:
|
|
155
|
-
"Project files already exist. What would you like to do?"
|
|
156
|
-
- "Continue anyway (may overwrite)"
|
|
157
|
-
- "Cancel"
|
|
158
|
-
|
|
159
|
-
If continuing, read COMPILR.md and PRD.md for tech stack info, then create the scaffold:
|
|
160
|
-
|
|
161
|
-
${getSkillPrompt('scaffold') ?? ''}`, { displayMessage: 'Create project scaffold (foundation exists).' });
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
// Get scaffold skill prompt
|
|
165
|
-
const scaffoldPrompt = getSkillPrompt('scaffold');
|
|
166
|
-
if (!scaffoldPrompt) {
|
|
167
|
-
conversation.printError('Scaffold skill not found.');
|
|
168
|
-
return true;
|
|
169
|
-
}
|
|
170
|
-
conversation.printInfo('🏗️ Creating project scaffold...');
|
|
171
|
-
conversation.printInfo('');
|
|
172
|
-
ctx.footer.resumeAnimation();
|
|
173
|
-
await ctx.processMessage(`I want to create the project scaffold (foundation).
|
|
174
|
-
|
|
175
|
-
${scaffoldPathContext}
|
|
176
|
-
|
|
177
|
-
${scaffoldPrompt}
|
|
178
|
-
|
|
179
|
-
Read COMPILR.md and PRD.md first to understand the tech stack, then create the appropriate scaffold.`, { displayMessage: 'Create project scaffold.' });
|
|
180
|
-
return true;
|
|
181
|
-
},
|
|
182
|
-
};
|
|
183
|
-
// =============================================================================
|
|
184
|
-
// Build Command
|
|
185
|
-
// =============================================================================
|
|
186
|
-
export const buildCommand = {
|
|
187
|
-
name: 'build',
|
|
188
|
-
description: 'Build a backlog item',
|
|
189
|
-
async execute(args, ctx) {
|
|
190
|
-
const itemId = args.trim() || undefined;
|
|
191
|
-
// Handle /build scaffold - redirect to scaffold handler
|
|
192
|
-
if (itemId?.toLowerCase() === 'scaffold') {
|
|
193
|
-
return ctx.handleCommand('scaffold', '');
|
|
194
|
-
}
|
|
195
|
-
// Check if project is initialized
|
|
196
|
-
const buildProject = detectCompilrProject();
|
|
197
|
-
if (!buildProject.found) {
|
|
198
|
-
conversation.printError('No .compilr project found. Run /new first.');
|
|
199
|
-
return true;
|
|
200
|
-
}
|
|
201
|
-
// Read backlog using the shared path detection
|
|
202
|
-
const buildBacklogPath = findBacklogPath();
|
|
203
|
-
if (!buildBacklogPath) {
|
|
204
|
-
conversation.printError('No backlog found. Run /design or /sketch first.');
|
|
205
|
-
return true;
|
|
206
|
-
}
|
|
207
|
-
// Parse backlog items
|
|
208
|
-
let buildItems = [];
|
|
209
|
-
try {
|
|
210
|
-
const backlogContent = fs.readFileSync(buildBacklogPath, 'utf-8');
|
|
211
|
-
buildItems = parseBacklogItems(backlogContent);
|
|
212
|
-
}
|
|
213
|
-
catch {
|
|
214
|
-
conversation.printError('Failed to read backlog file.');
|
|
215
|
-
return true;
|
|
216
|
-
}
|
|
217
|
-
if (buildItems.length === 0) {
|
|
218
|
-
conversation.printError('No backlog items found. Run /design or /sketch first.');
|
|
219
|
-
return true;
|
|
220
|
-
}
|
|
221
|
-
// Get project path for context
|
|
222
|
-
const projectPathForBuild = buildProject.projectPath || process.cwd();
|
|
223
|
-
const projectPathContext = `**IMPORTANT: Project Directory**
|
|
224
|
-
All code files MUST be created in: ${projectPathForBuild}
|
|
225
|
-
Do NOT create files in the current working directory if it differs from the project path.
|
|
226
|
-
`;
|
|
227
|
-
// Check foundation
|
|
228
|
-
const foundationExists = hasProjectFoundation();
|
|
229
|
-
if (!foundationExists) {
|
|
230
|
-
// Let agent handle foundation check via skill
|
|
231
|
-
conversation.printInfo('🔍 Checking project foundation...');
|
|
232
|
-
conversation.printInfo('');
|
|
233
|
-
ctx.footer.resumeAnimation();
|
|
234
|
-
await ctx.processMessage(`I want to build a feature from the backlog, but first check if the project has a foundation.
|
|
235
|
-
|
|
236
|
-
${projectPathContext}
|
|
237
|
-
|
|
238
|
-
Use detect_project to check the current state. If there's no code foundation (no src/, no package.json or equivalent), use ask_user_simple to ask:
|
|
239
|
-
"No project foundation detected. Would you like to:"
|
|
240
|
-
- "Create scaffold first (recommended)"
|
|
241
|
-
- "Proceed with feature anyway"
|
|
242
|
-
- "Cancel"
|
|
243
|
-
|
|
244
|
-
If user chooses scaffold, read COMPILR.md and PRD.md for tech stack info, then create the project scaffold following these guidelines:
|
|
245
|
-
|
|
246
|
-
${getSkillPrompt('scaffold') ?? ''}
|
|
247
|
-
|
|
248
|
-
After scaffold is done (or if user chose to proceed anyway), continue with building the feature.`, { displayMessage: 'Check project foundation before building.' });
|
|
249
|
-
return true;
|
|
250
|
-
}
|
|
251
|
-
// Select item
|
|
252
|
-
const item = selectBuildItem(buildItems, itemId);
|
|
253
|
-
if (!item) {
|
|
254
|
-
if (itemId) {
|
|
255
|
-
const existingItem = buildItems.find(i => i.id.toUpperCase() === itemId.toUpperCase());
|
|
256
|
-
if (existingItem) {
|
|
257
|
-
conversation.printError(`Item ${itemId} is already ${existingItem.status === '✅' ? 'completed' : 'in progress'}.`);
|
|
258
|
-
}
|
|
259
|
-
else {
|
|
260
|
-
conversation.printError(`Item ${itemId} not found in backlog.`);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
conversation.printInfo('No pending items in backlog. All done! 🎉');
|
|
265
|
-
}
|
|
266
|
-
return true;
|
|
267
|
-
}
|
|
268
|
-
// Check dependencies
|
|
269
|
-
const unmetDeps = getUnmetDependencies(item, buildItems);
|
|
270
|
-
const depsWarning = unmetDeps.length > 0
|
|
271
|
-
? `\n\n**⚠️ UNMET DEPENDENCIES:**\n${unmetDeps.map(d => `- ${d.id}: ${d.title} (${d.status})`).join('\n')}\n\nThese items are not yet completed. Ask user to confirm before proceeding.`
|
|
272
|
-
: '';
|
|
273
|
-
// Get build skill prompt and replace placeholders
|
|
274
|
-
const buildPromptTemplate = getSkillPrompt('build');
|
|
275
|
-
if (!buildPromptTemplate) {
|
|
276
|
-
conversation.printError('Build skill not found.');
|
|
277
|
-
return true;
|
|
278
|
-
}
|
|
279
|
-
const buildPrompt = buildPromptTemplate
|
|
280
|
-
.replace(/\{\{item_id\}\}/g, item.id)
|
|
281
|
-
.replace(/\{\{item_title\}\}/g, item.title)
|
|
282
|
-
.replace(/\{\{item_description\}\}/g, item.description)
|
|
283
|
-
.replace(/\{\{item_type\}\}/g, item.type)
|
|
284
|
-
.replace(/\{\{item_priority\}\}/g, item.priority);
|
|
285
|
-
conversation.printInfo(`🔨 Building ${item.id}: ${item.title}`);
|
|
286
|
-
conversation.printInfo('');
|
|
287
|
-
ctx.footer.resumeAnimation();
|
|
288
|
-
await ctx.processMessage(`I want to implement backlog item ${item.id}.
|
|
289
|
-
|
|
290
|
-
${projectPathContext}
|
|
291
|
-
|
|
292
|
-
${buildPrompt}${depsWarning}`, { displayMessage: `Build ${item.id}: ${item.title}` });
|
|
293
|
-
return true;
|
|
294
|
-
},
|
|
295
|
-
};
|
|
296
|
-
// =============================================================================
|
|
297
|
-
// Export All Agent Commands
|
|
298
|
-
// =============================================================================
|
|
299
|
-
export const agentCommands = [
|
|
300
|
-
buildCommand,
|
|
301
|
-
noteCommand,
|
|
302
|
-
prdCommand,
|
|
303
|
-
scaffoldCommand,
|
|
304
|
-
workflowCommand,
|
|
305
|
-
];
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Design Commands
|
|
3
|
-
*
|
|
4
|
-
* Commands for project design and requirements:
|
|
5
|
-
* - design: Full project design workflow
|
|
6
|
-
* - sketch: Quick project outline
|
|
7
|
-
* - refine: Refine existing requirements
|
|
8
|
-
* - arch: Create architecture documentation
|
|
9
|
-
*/
|
|
10
|
-
import type { CommandHandler } from '../handler-types.js';
|
|
11
|
-
export declare const designCommand: CommandHandler;
|
|
12
|
-
export declare const sketchCommand: CommandHandler;
|
|
13
|
-
export declare const refineCommand: CommandHandler;
|
|
14
|
-
export declare const archCommand: CommandHandler;
|
|
15
|
-
export declare const designCommands: CommandHandler[];
|