@compilr-dev/cli 0.5.0 → 0.5.2
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 +108 -0
- package/README.md +237 -69
- 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 +286 -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 +295 -31
- 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 +6 -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 +5 -2
- package/dist/repl-v2.d.ts +401 -2
- package/dist/repl-v2.js +2588 -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 +113 -0
- package/dist/tool-names.js +239 -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.d.ts +2 -2
- package/dist/tools/backlog.js +1 -1
- package/dist/tools/db-tools.d.ts +13 -61
- package/dist/tools/db-tools.js +12 -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/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/platform-adapter.d.ts +35 -0
- package/dist/tools/platform-adapter.js +404 -0
- package/dist/tools/project-db.d.ts +5 -73
- package/dist/tools/project-db.js +5 -336
- package/dist/tools.d.ts +67 -2
- package/dist/tools.js +240 -48
- 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 +52 -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.d.ts +1 -0
- package/dist/ui/overlay/impl/workflow-overlay-v2.js +10 -4
- 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 +696 -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 +27 -13
- 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/tools/anchor-tools.d.ts +0 -31
- package/dist/tools/anchor-tools.js +0 -255
- package/dist/tools/backlog-wrappers.d.ts +0 -54
- package/dist/tools/backlog-wrappers.js +0 -338
- package/dist/tools/document-db.d.ts +0 -43
- package/dist/tools/document-db.js +0 -220
- package/dist/tools/workitem-db.d.ts +0 -103
- package/dist/tools/workitem-db.js +0 -549
- 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
|
@@ -0,0 +1,1272 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Content - Single Source of Truth
|
|
3
|
+
*
|
|
4
|
+
* Raw text content used by both:
|
|
5
|
+
* - compilr_guide tool (for AI agent)
|
|
6
|
+
* - /tutorial overlay (for user)
|
|
7
|
+
*
|
|
8
|
+
* Content is stored as plain text with simple structure.
|
|
9
|
+
* Styling is applied at render time by each consumer.
|
|
10
|
+
*/
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// Content Topics
|
|
13
|
+
// =============================================================================
|
|
14
|
+
export const CONTENT_TOPICS = [
|
|
15
|
+
// ===========================================================================
|
|
16
|
+
// Getting Help
|
|
17
|
+
// ===========================================================================
|
|
18
|
+
{
|
|
19
|
+
id: 'help',
|
|
20
|
+
title: 'Getting Help',
|
|
21
|
+
keywords: ['help', '/help', 'commands', 'assistance'],
|
|
22
|
+
sections: [
|
|
23
|
+
{
|
|
24
|
+
title: 'The /help command shows all available commands:',
|
|
25
|
+
items: ['compilr> /help'],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
title: 'Other ways to get help:',
|
|
29
|
+
items: [
|
|
30
|
+
'/commands - Detailed command reference',
|
|
31
|
+
'/tutorial - Interactive guides',
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
items: ['TIP: Type / and press Tab for autocomplete.'],
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
// ===========================================================================
|
|
40
|
+
// Overlay Navigation
|
|
41
|
+
// ===========================================================================
|
|
42
|
+
{
|
|
43
|
+
id: 'overlay-navigation',
|
|
44
|
+
title: 'Overlay Navigation',
|
|
45
|
+
keywords: ['overlay', 'navigation', 'keyboard', 'shortcuts'],
|
|
46
|
+
sections: [
|
|
47
|
+
{
|
|
48
|
+
title: 'When viewing overlays (like /tutorial, /backlog, /projects):',
|
|
49
|
+
items: [
|
|
50
|
+
'↑/↓ or j/k - Move up/down in lists',
|
|
51
|
+
'←/→ or h/l - Navigate pages or tabs',
|
|
52
|
+
'Tab - Switch between tabs',
|
|
53
|
+
'1-9 - Jump to tab by number',
|
|
54
|
+
'Enter - Select/confirm',
|
|
55
|
+
'q or Esc - Go back/close',
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
// ===========================================================================
|
|
61
|
+
// Dashboard Navigation
|
|
62
|
+
// ===========================================================================
|
|
63
|
+
{
|
|
64
|
+
id: 'dashboard',
|
|
65
|
+
title: 'Dashboard Navigation',
|
|
66
|
+
keywords: ['dashboard', 'menu', 'home', 'main screen', 'shortcuts'],
|
|
67
|
+
sections: [
|
|
68
|
+
{
|
|
69
|
+
title: 'Quick shortcuts from the Dashboard:',
|
|
70
|
+
items: [
|
|
71
|
+
'[n] - Open /new wizard to create a project',
|
|
72
|
+
'[p] - Open /projects to switch projects',
|
|
73
|
+
'[c] - Start Quick Chat (chat without project context)',
|
|
74
|
+
'[w] - Open /workflow settings',
|
|
75
|
+
],
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
title: 'Tab switching:',
|
|
79
|
+
items: [
|
|
80
|
+
'Tab - Switch between Dashboard and More tabs',
|
|
81
|
+
'1-2 - Jump directly to tab',
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
// ===========================================================================
|
|
87
|
+
// REPL Shortcuts
|
|
88
|
+
// ===========================================================================
|
|
89
|
+
{
|
|
90
|
+
id: 'repl',
|
|
91
|
+
title: 'REPL Interface',
|
|
92
|
+
keywords: ['repl', 'prompt', 'typing', 'shortcuts', 'input'],
|
|
93
|
+
sections: [
|
|
94
|
+
{
|
|
95
|
+
title: 'While typing in the REPL:',
|
|
96
|
+
items: [
|
|
97
|
+
'Enter - Send message',
|
|
98
|
+
'Esc Esc - Clear input (double tap)',
|
|
99
|
+
'Tab - Autocomplete commands and files',
|
|
100
|
+
'Down arrow - Navigate to status bar indicators (pending requests, background agents)',
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
title: 'While the AI is working:',
|
|
105
|
+
items: ['Esc - Stop gracefully'],
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
title: 'Special prefixes:',
|
|
109
|
+
items: [
|
|
110
|
+
'/ - Commands (e.g., /help, /design, /backlog)',
|
|
111
|
+
'@ - File references (e.g., @src/index.ts)',
|
|
112
|
+
'$ - Team agents (e.g., $arch, $pm, $qa)',
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
// ===========================================================================
|
|
118
|
+
// Useful Commands
|
|
119
|
+
// ===========================================================================
|
|
120
|
+
{
|
|
121
|
+
id: 'commands-quick',
|
|
122
|
+
title: 'Useful Commands',
|
|
123
|
+
keywords: ['commands', 'quick', 'reference'],
|
|
124
|
+
sections: [
|
|
125
|
+
{
|
|
126
|
+
title: 'Information:',
|
|
127
|
+
items: [
|
|
128
|
+
'/help - All commands',
|
|
129
|
+
'/commands - Command reference',
|
|
130
|
+
'/tutorial - Interactive guides',
|
|
131
|
+
'/status - Project and agent status',
|
|
132
|
+
],
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
title: 'Navigation:',
|
|
136
|
+
items: [
|
|
137
|
+
'/menu - Return to Dashboard',
|
|
138
|
+
'/projects - Switch projects',
|
|
139
|
+
'/clear - Clear the screen',
|
|
140
|
+
'/exit - Exit the CLI',
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
title: 'Context:',
|
|
145
|
+
items: [
|
|
146
|
+
'/context - View token usage',
|
|
147
|
+
'/compact - Summarize conversation',
|
|
148
|
+
],
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
// ===========================================================================
|
|
153
|
+
// Creating a Project
|
|
154
|
+
// ===========================================================================
|
|
155
|
+
{
|
|
156
|
+
id: 'creating-project',
|
|
157
|
+
title: 'Creating a New Project',
|
|
158
|
+
keywords: ['create', 'new', 'project', 'init', 'start', '/new'],
|
|
159
|
+
sections: [
|
|
160
|
+
{
|
|
161
|
+
title: 'Two ways to create a project:',
|
|
162
|
+
items: [
|
|
163
|
+
'From the Dashboard: Press [n] or select "/new Project" and press Enter.',
|
|
164
|
+
'From the REPL: Type /new and press Enter.',
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
title: 'The wizard guides you through 8 steps:',
|
|
169
|
+
items: [
|
|
170
|
+
'1. Choose "Start a new project"',
|
|
171
|
+
'2. Enter project name (lowercase, hyphens allowed, e.g., my-app)',
|
|
172
|
+
'3. Enter description (1-2 sentences about what you\'re building)',
|
|
173
|
+
'4. Choose documentation structure (Single repo or Two repos)',
|
|
174
|
+
'5. Choose tech stack (React+Node, React+Python, Vue+Node, or Custom)',
|
|
175
|
+
'6. Choose coding standards (TypeScript Strict, Relaxed, or Custom)',
|
|
176
|
+
'7. Initialize git repository (Yes/No, optionally add remote URL)',
|
|
177
|
+
'8. Choose workflow mode (Flexible or Guided)',
|
|
178
|
+
],
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
title: 'After creation, you get:',
|
|
182
|
+
items: [
|
|
183
|
+
'Project folder with initial structure',
|
|
184
|
+
'COMPILR.md file (AI reads this automatically)',
|
|
185
|
+
'.compilr/ folder with project config',
|
|
186
|
+
'Git repository with initial commit (if selected)',
|
|
187
|
+
],
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
// ===========================================================================
|
|
192
|
+
// Importing an Existing Project
|
|
193
|
+
// ===========================================================================
|
|
194
|
+
{
|
|
195
|
+
id: 'importing-project',
|
|
196
|
+
title: 'Importing an Existing Project',
|
|
197
|
+
keywords: ['import', 'existing', 'add', 'workflow', '/new', 'project'],
|
|
198
|
+
sections: [
|
|
199
|
+
{
|
|
200
|
+
title: 'Add compilr workflow to an existing codebase:',
|
|
201
|
+
items: [
|
|
202
|
+
'Run /new and select "Add workflow to existing project".',
|
|
203
|
+
'Your existing code is not modified — no files are changed, moved, or deleted.',
|
|
204
|
+
],
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
title: 'The wizard guides you through 5 steps:',
|
|
208
|
+
items: [
|
|
209
|
+
'1. Enter path to existing project (Tab for autocomplete)',
|
|
210
|
+
'2. Review detection results (name, language, framework, git remote, COMPILR.md)',
|
|
211
|
+
'3. Git repository setup (use detected remote, enter different, or skip)',
|
|
212
|
+
'4. Choose workflow mode (Flexible or Guided)',
|
|
213
|
+
'5. Confirm and import',
|
|
214
|
+
],
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
title: 'After import, you get:',
|
|
218
|
+
items: [
|
|
219
|
+
'.compilr/config.json added to your project directory',
|
|
220
|
+
'Database entry for project tracking',
|
|
221
|
+
'Project selected and ready to use on the Dashboard',
|
|
222
|
+
],
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
items: ['TIP: Projects outside your projects folder are tracked at their current location.'],
|
|
226
|
+
},
|
|
227
|
+
],
|
|
228
|
+
},
|
|
229
|
+
// ===========================================================================
|
|
230
|
+
// /design Command
|
|
231
|
+
// ===========================================================================
|
|
232
|
+
{
|
|
233
|
+
id: 'command-design',
|
|
234
|
+
title: '/design Command',
|
|
235
|
+
keywords: ['/design', 'design', 'requirements', 'prd', 'planning'],
|
|
236
|
+
sections: [
|
|
237
|
+
{
|
|
238
|
+
items: ['/design - Start comprehensive requirements gathering.'],
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
title: 'This command initiates an AI-driven conversation to:',
|
|
242
|
+
items: [
|
|
243
|
+
'Understand what you want to build',
|
|
244
|
+
'Ask clarifying questions',
|
|
245
|
+
'Generate a Product Requirements Document (PRD)',
|
|
246
|
+
'Create backlog items from requirements',
|
|
247
|
+
],
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
title: 'The AI will guide you through:',
|
|
251
|
+
items: [
|
|
252
|
+
'Project goals and scope',
|
|
253
|
+
'User stories and use cases',
|
|
254
|
+
'Technical requirements',
|
|
255
|
+
'Success criteria',
|
|
256
|
+
],
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
title: 'After /design completes:',
|
|
260
|
+
items: [
|
|
261
|
+
'PRD is saved to the project database (via project_document_add)',
|
|
262
|
+
'Work items are added to your backlog',
|
|
263
|
+
'Use /backlog to view and prioritize items',
|
|
264
|
+
],
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
items: ['Alternative: /sketch for quick 6-question planning.'],
|
|
268
|
+
},
|
|
269
|
+
],
|
|
270
|
+
},
|
|
271
|
+
// ===========================================================================
|
|
272
|
+
// /backlog Command
|
|
273
|
+
// ===========================================================================
|
|
274
|
+
{
|
|
275
|
+
id: 'command-backlog',
|
|
276
|
+
title: '/backlog Command',
|
|
277
|
+
keywords: ['/backlog', 'backlog', 'tasks', 'work items', 'todo'],
|
|
278
|
+
sections: [
|
|
279
|
+
{
|
|
280
|
+
items: ['/backlog - View and manage your work items.'],
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
title: 'The overlay shows:',
|
|
284
|
+
items: [
|
|
285
|
+
'Filtering by status (all, pending, in-progress, done)',
|
|
286
|
+
'Search functionality',
|
|
287
|
+
'Priority indicators',
|
|
288
|
+
'Detail view for each item',
|
|
289
|
+
],
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
title: 'Navigation:',
|
|
293
|
+
items: [
|
|
294
|
+
'↑/↓ or j/k - Move between items',
|
|
295
|
+
'Enter - View item details',
|
|
296
|
+
'Tab - Switch filter tabs',
|
|
297
|
+
'/ - Search items',
|
|
298
|
+
'q/Esc - Close',
|
|
299
|
+
],
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
title: 'Work item statuses:',
|
|
303
|
+
items: [
|
|
304
|
+
'pending - Not started',
|
|
305
|
+
'in-progress - Currently working on',
|
|
306
|
+
'done - Completed',
|
|
307
|
+
'blocked - Cannot proceed',
|
|
308
|
+
],
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
items: ['To build a backlog item, ask the AI: "Build the user authentication from REQ-001"'],
|
|
312
|
+
},
|
|
313
|
+
],
|
|
314
|
+
},
|
|
315
|
+
// ===========================================================================
|
|
316
|
+
// /prd Command
|
|
317
|
+
// ===========================================================================
|
|
318
|
+
{
|
|
319
|
+
id: 'command-prd',
|
|
320
|
+
title: '/prd Command',
|
|
321
|
+
keywords: ['/prd', 'prd', 'product requirements', 'requirements document'],
|
|
322
|
+
sections: [
|
|
323
|
+
{
|
|
324
|
+
items: ['/prd - Update the Product Requirements Document.'],
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
title: 'Usage:',
|
|
328
|
+
items: [
|
|
329
|
+
'/prd - Choose which section to update',
|
|
330
|
+
'/prd vision - Update the vision section',
|
|
331
|
+
'/prd scope - Update the scope section',
|
|
332
|
+
'/prd technical - Update technical requirements',
|
|
333
|
+
'/prd success - Update success criteria',
|
|
334
|
+
],
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
title: 'The AI will:',
|
|
338
|
+
items: [
|
|
339
|
+
'Read the current PRD from the database',
|
|
340
|
+
'Show you the existing content',
|
|
341
|
+
'Ask targeted questions about what to change',
|
|
342
|
+
'Save the updated PRD to the database',
|
|
343
|
+
],
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
items: [
|
|
347
|
+
'Documents are stored in the database, not the filesystem.',
|
|
348
|
+
'Use /docs to browse all project documents.',
|
|
349
|
+
],
|
|
350
|
+
},
|
|
351
|
+
],
|
|
352
|
+
},
|
|
353
|
+
// ===========================================================================
|
|
354
|
+
// /arch Command
|
|
355
|
+
// ===========================================================================
|
|
356
|
+
{
|
|
357
|
+
id: 'command-arch',
|
|
358
|
+
title: '/arch Command',
|
|
359
|
+
keywords: ['/arch', 'architecture', 'adr', 'diagram', 'data model', 'api design'],
|
|
360
|
+
sections: [
|
|
361
|
+
{
|
|
362
|
+
items: ['/arch - Create architecture documentation.'],
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
title: 'Document types:',
|
|
366
|
+
items: [
|
|
367
|
+
'Decision Record (ADR) - "Why we chose X over Y"',
|
|
368
|
+
'System Diagram - Mermaid component diagram',
|
|
369
|
+
'Data Model - Entities and relationships',
|
|
370
|
+
'API Design - Endpoints and contracts',
|
|
371
|
+
'Custom topic - Specify your own',
|
|
372
|
+
],
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
title: 'The AI will:',
|
|
376
|
+
items: [
|
|
377
|
+
'Read existing PRD and backlog for context',
|
|
378
|
+
'Ask questions about your architecture',
|
|
379
|
+
'Generate documentation with diagrams (Mermaid)',
|
|
380
|
+
'Save to the database via project_document_add',
|
|
381
|
+
],
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
items: ['You can create multiple architecture docs (e.g., one ADR per decision plus a system diagram).'],
|
|
385
|
+
},
|
|
386
|
+
],
|
|
387
|
+
},
|
|
388
|
+
// ===========================================================================
|
|
389
|
+
// /docs Command
|
|
390
|
+
// ===========================================================================
|
|
391
|
+
{
|
|
392
|
+
id: 'command-docs',
|
|
393
|
+
title: '/docs Command',
|
|
394
|
+
keywords: ['/docs', 'documents', 'document browser', 'project documents'],
|
|
395
|
+
sections: [
|
|
396
|
+
{
|
|
397
|
+
items: ['/docs - Browse and view all project documents.'],
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
title: 'The overlay shows documents with tabbed filtering:',
|
|
401
|
+
items: [
|
|
402
|
+
'All - All documents',
|
|
403
|
+
'PRD - Product Requirements Documents',
|
|
404
|
+
'ARCH - Architecture documentation',
|
|
405
|
+
'DESIGN - Design documents',
|
|
406
|
+
'NOTES - Session notes and general notes',
|
|
407
|
+
'PLANS - Work plans (from Plan Mode)',
|
|
408
|
+
],
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
title: 'Navigation:',
|
|
412
|
+
items: [
|
|
413
|
+
'↑/↓ or j/k - Move between documents',
|
|
414
|
+
'Tab or 1-6 - Switch filter tabs',
|
|
415
|
+
'/ - Search documents',
|
|
416
|
+
'Enter - Open document detail view',
|
|
417
|
+
'e or i - Edit document (in detail view)',
|
|
418
|
+
'q/Esc - Close',
|
|
419
|
+
],
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
items: ['Documents are stored in the database and created by /design, /prd, /arch, and other commands.'],
|
|
423
|
+
},
|
|
424
|
+
],
|
|
425
|
+
},
|
|
426
|
+
// ===========================================================================
|
|
427
|
+
// /scaffold Command
|
|
428
|
+
// ===========================================================================
|
|
429
|
+
{
|
|
430
|
+
id: 'command-scaffold',
|
|
431
|
+
title: '/scaffold Command',
|
|
432
|
+
keywords: ['/scaffold', 'scaffold', 'project setup', 'foundation', 'boilerplate'],
|
|
433
|
+
sections: [
|
|
434
|
+
{
|
|
435
|
+
items: ['/scaffold - Create the base project structure (folders, config, dependencies, initial code).'],
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
title: 'When to use:',
|
|
439
|
+
items: [
|
|
440
|
+
'After /design or /sketch has created your backlog',
|
|
441
|
+
'When starting from scratch (empty project directory)',
|
|
442
|
+
'When you need a working foundation before building features',
|
|
443
|
+
],
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
title: 'What it produces:',
|
|
447
|
+
items: [
|
|
448
|
+
'Folder structure (src, tests, config)',
|
|
449
|
+
'Package manager setup (package.json, dependencies)',
|
|
450
|
+
'Configuration files (TypeScript, ESLint, etc.)',
|
|
451
|
+
'Initial code (entry points, basic routes)',
|
|
452
|
+
'Git commit with the scaffolded project',
|
|
453
|
+
],
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
items: [
|
|
457
|
+
'Requires a large model tier (Sonnet/Opus recommended).',
|
|
458
|
+
'After scaffolding, use /build to implement features.',
|
|
459
|
+
],
|
|
460
|
+
},
|
|
461
|
+
],
|
|
462
|
+
},
|
|
463
|
+
// ===========================================================================
|
|
464
|
+
// /build Command
|
|
465
|
+
// ===========================================================================
|
|
466
|
+
{
|
|
467
|
+
id: 'command-build',
|
|
468
|
+
title: '/build Command',
|
|
469
|
+
keywords: ['/build', 'build', 'implement', 'feature', 'backlog item'],
|
|
470
|
+
sections: [
|
|
471
|
+
{
|
|
472
|
+
items: ['/build - Implement a backlog item end-to-end.'],
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
title: 'Usage:',
|
|
476
|
+
items: [
|
|
477
|
+
'/build REQ-003 - Build a specific item by ID',
|
|
478
|
+
'/build - Pick from your backlog',
|
|
479
|
+
],
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
title: 'What it does:',
|
|
483
|
+
items: [
|
|
484
|
+
'Reads the backlog item and project context',
|
|
485
|
+
'Creates a step-by-step todo plan (8-11 items)',
|
|
486
|
+
'Implements backend (models, services, routes)',
|
|
487
|
+
'Implements frontend (components, views)',
|
|
488
|
+
'Runs build and lint, fixes any errors',
|
|
489
|
+
'Creates a git commit and marks item completed',
|
|
490
|
+
],
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
items: [
|
|
494
|
+
'Works with medium tier models and above.',
|
|
495
|
+
'Typical build takes 2-5 minutes and 15-40 tool calls.',
|
|
496
|
+
],
|
|
497
|
+
},
|
|
498
|
+
],
|
|
499
|
+
},
|
|
500
|
+
// ===========================================================================
|
|
501
|
+
// Team Agents
|
|
502
|
+
// ===========================================================================
|
|
503
|
+
{
|
|
504
|
+
id: 'team-agents',
|
|
505
|
+
title: 'Team Agents Overview',
|
|
506
|
+
keywords: ['team', 'agents', '$', 'arch', 'pm', 'qa', 'dev', 'ops', 'docs', '/team'],
|
|
507
|
+
sections: [
|
|
508
|
+
{
|
|
509
|
+
items: ['Team agents are specialized AI assistants with different expertise, tools, and model tiers.'],
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
title: 'Predefined roles (7):',
|
|
513
|
+
items: [
|
|
514
|
+
'$pm - PM: Planning, task tracking, timeline estimation',
|
|
515
|
+
'$arch - Architect: System design, patterns, tech decisions',
|
|
516
|
+
'$qa - QA Engineer: Testing, quality, code review',
|
|
517
|
+
'$dev - Developer: Implementation, coding, debugging',
|
|
518
|
+
'$ops - DevOps: Deployment, CI/CD, infrastructure',
|
|
519
|
+
'$docs - Technical Writer: Documentation, guides',
|
|
520
|
+
'$ba - Business Analyst: Requirements, metrics',
|
|
521
|
+
],
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
title: 'Using agents:',
|
|
525
|
+
items: [
|
|
526
|
+
'$arch - Switch to the Architect agent',
|
|
527
|
+
'$dev fix the bug - Switch to Dev and send message',
|
|
528
|
+
'Type $ for autocomplete dropdown of your team',
|
|
529
|
+
'message & - Run in background (add & at end)',
|
|
530
|
+
],
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
title: 'Management commands:',
|
|
534
|
+
items: [
|
|
535
|
+
'/team - Team management overlay (Members, Add Agent, Context)',
|
|
536
|
+
'/team add dev - Add developer agent',
|
|
537
|
+
'/team remove qa - Remove QA agent',
|
|
538
|
+
'/bg - View background agents',
|
|
539
|
+
'/pending - View pending requests from background agents',
|
|
540
|
+
'/filter - Filter conversation by agent',
|
|
541
|
+
'/artifact - Browse team artifacts',
|
|
542
|
+
'Down arrow - Quick access to pending/bg indicators in the status bar',
|
|
543
|
+
],
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
title: 'Custom agents:',
|
|
547
|
+
items: [
|
|
548
|
+
'Select "Create Custom Agent..." in /team Add Agent tab',
|
|
549
|
+
'4-step wizard: Basic Info, Tool Profile, Skills, Model Tier',
|
|
550
|
+
'Custom agents are saved per-project and persist across sessions',
|
|
551
|
+
],
|
|
552
|
+
},
|
|
553
|
+
],
|
|
554
|
+
},
|
|
555
|
+
// ===========================================================================
|
|
556
|
+
// /context Command
|
|
557
|
+
// ===========================================================================
|
|
558
|
+
{
|
|
559
|
+
id: 'command-context',
|
|
560
|
+
title: '/context Command',
|
|
561
|
+
keywords: ['/context', 'context', 'tokens', 'memory', 'usage'],
|
|
562
|
+
sections: [
|
|
563
|
+
{
|
|
564
|
+
items: ['/context - View current context usage.'],
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
title: 'Shows:',
|
|
568
|
+
items: [
|
|
569
|
+
'Total tokens used',
|
|
570
|
+
'Token breakdown by category',
|
|
571
|
+
'Context window utilization',
|
|
572
|
+
'Per-agent token usage (if using team agents)',
|
|
573
|
+
],
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
title: 'Related commands:',
|
|
577
|
+
items: [
|
|
578
|
+
'/compact - Summarize old messages to free up space',
|
|
579
|
+
'/tokens - Detailed token breakdown',
|
|
580
|
+
'/anchors - View persistent context notes',
|
|
581
|
+
],
|
|
582
|
+
},
|
|
583
|
+
],
|
|
584
|
+
},
|
|
585
|
+
// ===========================================================================
|
|
586
|
+
// /anchors Command
|
|
587
|
+
// ===========================================================================
|
|
588
|
+
{
|
|
589
|
+
id: 'command-anchors',
|
|
590
|
+
title: '/anchors Command',
|
|
591
|
+
keywords: ['/anchors', 'anchors', 'notes', 'persistent', 'remember'],
|
|
592
|
+
sections: [
|
|
593
|
+
{
|
|
594
|
+
items: ['/anchors - View and manage persistent notes.'],
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
items: ['Anchors are notes that persist across sessions. The AI always sees them.'],
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
title: 'Use anchors for:',
|
|
601
|
+
items: [
|
|
602
|
+
'Project conventions ("Always use async/await")',
|
|
603
|
+
'Important decisions ("We chose PostgreSQL because...")',
|
|
604
|
+
'Reminders ("Don\'t modify the auth module")',
|
|
605
|
+
],
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
title: 'Adding anchors:',
|
|
609
|
+
items: [
|
|
610
|
+
'In the REPL, ask: "Remember that we use tabs not spaces"',
|
|
611
|
+
'The AI will create an anchor for you.',
|
|
612
|
+
],
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
title: 'In the overlay:',
|
|
616
|
+
items: [
|
|
617
|
+
'a - Add new anchor',
|
|
618
|
+
'e - Edit selected anchor',
|
|
619
|
+
'd - Delete anchor',
|
|
620
|
+
'/ - Search anchors',
|
|
621
|
+
'q/Esc - Close',
|
|
622
|
+
],
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
title: 'Anchor properties:',
|
|
626
|
+
items: [
|
|
627
|
+
'Priority: Critical, Safety, or Info',
|
|
628
|
+
'Scope: Global (all projects) or Project (current only)',
|
|
629
|
+
'Badges show priority [C/S/I] and scope [G/P]',
|
|
630
|
+
],
|
|
631
|
+
},
|
|
632
|
+
],
|
|
633
|
+
},
|
|
634
|
+
// ===========================================================================
|
|
635
|
+
// /compact Command
|
|
636
|
+
// ===========================================================================
|
|
637
|
+
{
|
|
638
|
+
id: 'command-compact',
|
|
639
|
+
title: '/compact Command',
|
|
640
|
+
keywords: ['/compact', 'compact', 'summarize', 'memory'],
|
|
641
|
+
sections: [
|
|
642
|
+
{
|
|
643
|
+
items: ['/compact - Summarize old messages to free up context space.'],
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
title: 'When your conversation gets long, context fills up. /compact:',
|
|
647
|
+
items: [
|
|
648
|
+
'Summarizes older messages',
|
|
649
|
+
'Preserves key information',
|
|
650
|
+
'Frees up token space',
|
|
651
|
+
'Keeps recent messages intact',
|
|
652
|
+
],
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
title: 'Use /compact when:',
|
|
656
|
+
items: [
|
|
657
|
+
'/context shows high usage',
|
|
658
|
+
'AI starts forgetting earlier context',
|
|
659
|
+
'You want to continue a long session',
|
|
660
|
+
],
|
|
661
|
+
},
|
|
662
|
+
],
|
|
663
|
+
},
|
|
664
|
+
// ===========================================================================
|
|
665
|
+
// File References
|
|
666
|
+
// ===========================================================================
|
|
667
|
+
{
|
|
668
|
+
id: 'file-references',
|
|
669
|
+
title: 'File References with @',
|
|
670
|
+
keywords: ['@', 'file', 'reference', 'path', 'include'],
|
|
671
|
+
sections: [
|
|
672
|
+
{
|
|
673
|
+
title: 'Reference files in your messages with @ prefix:',
|
|
674
|
+
items: [
|
|
675
|
+
'Fix the bug in @src/utils.ts',
|
|
676
|
+
'Compare @src/old.ts with @src/new.ts',
|
|
677
|
+
'Explain @package.json',
|
|
678
|
+
],
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
title: 'Autocomplete:',
|
|
682
|
+
items: [
|
|
683
|
+
'Type @ and press Tab to see file matches.',
|
|
684
|
+
'@src/ [Tab] shows: src/index.ts, src/utils.ts, etc.',
|
|
685
|
+
],
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
items: [
|
|
689
|
+
'The AI reads referenced files and understands the context.',
|
|
690
|
+
'Multiple files can be referenced in one message.',
|
|
691
|
+
],
|
|
692
|
+
},
|
|
693
|
+
],
|
|
694
|
+
},
|
|
695
|
+
// ===========================================================================
|
|
696
|
+
// COMPILR.md File
|
|
697
|
+
// ===========================================================================
|
|
698
|
+
{
|
|
699
|
+
id: 'compilr-md',
|
|
700
|
+
title: 'COMPILR.md File',
|
|
701
|
+
keywords: ['compilr.md', 'context', 'project info', 'readme'],
|
|
702
|
+
sections: [
|
|
703
|
+
{
|
|
704
|
+
items: [
|
|
705
|
+
'COMPILR.md is the project context file.',
|
|
706
|
+
'Location: Project root (e.g., ./my-project/COMPILR.md)',
|
|
707
|
+
],
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
title: 'The AI reads this automatically and learns:',
|
|
711
|
+
items: [
|
|
712
|
+
'Project description and goals',
|
|
713
|
+
'Tech stack and architecture',
|
|
714
|
+
'Coding conventions',
|
|
715
|
+
'Important decisions',
|
|
716
|
+
],
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
items: ['Created by /new wizard with your project info.'],
|
|
720
|
+
},
|
|
721
|
+
{
|
|
722
|
+
title: 'You can edit COMPILR.md to:',
|
|
723
|
+
items: [
|
|
724
|
+
'Add project details',
|
|
725
|
+
'Update conventions',
|
|
726
|
+
'Document decisions',
|
|
727
|
+
'Guide AI behavior',
|
|
728
|
+
],
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
title: 'The .compilr/ folder contains additional config:',
|
|
732
|
+
items: [
|
|
733
|
+
'config.json - Project configuration',
|
|
734
|
+
'architecture/ - Architecture docs and coding standards',
|
|
735
|
+
'roadmap.md - Project roadmap',
|
|
736
|
+
],
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
title: 'Project documents (PRD, architecture, design) are stored in the database:',
|
|
740
|
+
items: [
|
|
741
|
+
'Use /docs to view and manage documents',
|
|
742
|
+
'Use /prd to update the Product Requirements Document',
|
|
743
|
+
'Use /arch to update the Architecture Document',
|
|
744
|
+
],
|
|
745
|
+
},
|
|
746
|
+
],
|
|
747
|
+
},
|
|
748
|
+
// ===========================================================================
|
|
749
|
+
// Switching Projects
|
|
750
|
+
// ===========================================================================
|
|
751
|
+
{
|
|
752
|
+
id: 'switching-projects',
|
|
753
|
+
title: 'Switching Projects',
|
|
754
|
+
keywords: ['switch', 'change', 'project', 'session', 'restore'],
|
|
755
|
+
sections: [
|
|
756
|
+
{
|
|
757
|
+
items: ['When you switch to a different project, your current session is saved automatically.'],
|
|
758
|
+
},
|
|
759
|
+
{
|
|
760
|
+
title: 'What happens when you switch:',
|
|
761
|
+
items: [
|
|
762
|
+
'Current session is saved to the project',
|
|
763
|
+
'New project context is loaded (COMPILR.md, anchors)',
|
|
764
|
+
'Previous session may be restored based on settings',
|
|
765
|
+
],
|
|
766
|
+
},
|
|
767
|
+
{
|
|
768
|
+
title: 'Session restore mode (in /config):',
|
|
769
|
+
items: [
|
|
770
|
+
'Auto - Automatically restore the previous session',
|
|
771
|
+
'Ask - Prompt whether to restore or start fresh',
|
|
772
|
+
'Fresh - Always start with a clean session',
|
|
773
|
+
],
|
|
774
|
+
},
|
|
775
|
+
{
|
|
776
|
+
title: 'Auto-open project (in /config):',
|
|
777
|
+
items: [
|
|
778
|
+
'Last opened - Automatically opens your last project on startup',
|
|
779
|
+
'Off - Start fresh, choose project manually',
|
|
780
|
+
],
|
|
781
|
+
},
|
|
782
|
+
],
|
|
783
|
+
},
|
|
784
|
+
// ===========================================================================
|
|
785
|
+
// /projects Command
|
|
786
|
+
// ===========================================================================
|
|
787
|
+
{
|
|
788
|
+
id: 'command-projects',
|
|
789
|
+
title: '/projects Command',
|
|
790
|
+
keywords: ['/projects', 'projects', 'list', 'switch', 'manage'],
|
|
791
|
+
sections: [
|
|
792
|
+
{
|
|
793
|
+
items: ['/projects - View and manage all your projects.'],
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
title: 'The overlay shows:',
|
|
797
|
+
items: [
|
|
798
|
+
'Project name, type, status, and path',
|
|
799
|
+
'Last activity timestamp',
|
|
800
|
+
'Work items count',
|
|
801
|
+
],
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
title: 'Filter by status using tabs:',
|
|
805
|
+
items: [
|
|
806
|
+
'All - Show all projects',
|
|
807
|
+
'Active - Currently being worked on',
|
|
808
|
+
'Paused - Temporarily on hold',
|
|
809
|
+
'Complete - Finished projects',
|
|
810
|
+
'Archived - Hidden from main view',
|
|
811
|
+
],
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
title: 'Actions:',
|
|
815
|
+
items: [
|
|
816
|
+
'Enter - Open project in /workflow',
|
|
817
|
+
'e - Edit project name/description',
|
|
818
|
+
'x - Archive project',
|
|
819
|
+
'd - Delete project (must archive first)',
|
|
820
|
+
'/ - Search projects',
|
|
821
|
+
],
|
|
822
|
+
},
|
|
823
|
+
],
|
|
824
|
+
},
|
|
825
|
+
// ===========================================================================
|
|
826
|
+
// /workflow Command
|
|
827
|
+
// ===========================================================================
|
|
828
|
+
{
|
|
829
|
+
id: 'command-workflow',
|
|
830
|
+
title: '/workflow Command',
|
|
831
|
+
keywords: ['/workflow', 'workflow', 'status', 'actions', 'manage'],
|
|
832
|
+
sections: [
|
|
833
|
+
{
|
|
834
|
+
items: ['/workflow - View project status and take actions.'],
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
title: 'The overlay has 4 tabs:',
|
|
838
|
+
items: [
|
|
839
|
+
'Actions - Quick actions (Design, Sketch, Documents, Anchors)',
|
|
840
|
+
'Details - Project info (name, path, created, description)',
|
|
841
|
+
'Dashboard - Project metrics (coming soon)',
|
|
842
|
+
'Manage - Edit, set current, archive, delete',
|
|
843
|
+
],
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
title: 'Progress bar shows:',
|
|
847
|
+
items: [
|
|
848
|
+
'Current phase: Initialize → Design → Backlog → Scaffold → Build',
|
|
849
|
+
'Work item completion percentage',
|
|
850
|
+
],
|
|
851
|
+
},
|
|
852
|
+
{
|
|
853
|
+
title: 'From the Manage tab you can:',
|
|
854
|
+
items: [
|
|
855
|
+
'Edit Project - Change name and description',
|
|
856
|
+
'Set as Current - Switch to this project',
|
|
857
|
+
'Archive Project - Hide from active list',
|
|
858
|
+
'Delete Project - Permanently remove',
|
|
859
|
+
],
|
|
860
|
+
},
|
|
861
|
+
],
|
|
862
|
+
},
|
|
863
|
+
// ===========================================================================
|
|
864
|
+
// Archiving Projects
|
|
865
|
+
// ===========================================================================
|
|
866
|
+
{
|
|
867
|
+
id: 'archiving-projects',
|
|
868
|
+
title: 'Archiving Projects',
|
|
869
|
+
keywords: ['archive', 'delete', 'remove', 'hide'],
|
|
870
|
+
sections: [
|
|
871
|
+
{
|
|
872
|
+
items: ['Archiving hides a project from your active list without deleting it.'],
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
title: 'To archive a project:',
|
|
876
|
+
items: [
|
|
877
|
+
'From /projects: Select project and press x',
|
|
878
|
+
'From /workflow: Go to Manage tab → Archive Project',
|
|
879
|
+
'Confirm in the dialog that appears',
|
|
880
|
+
],
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
title: 'Archived projects:',
|
|
884
|
+
items: [
|
|
885
|
+
'Are hidden from the main project list',
|
|
886
|
+
'Can be found in the Archived tab',
|
|
887
|
+
'Can be restored by unarchiving',
|
|
888
|
+
'Keep all their data (sessions, work items, documents)',
|
|
889
|
+
],
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
title: 'To delete a project:',
|
|
893
|
+
items: [
|
|
894
|
+
'You must archive it first',
|
|
895
|
+
'Then select it from Archived tab and press d',
|
|
896
|
+
'Deletion is permanent and cannot be undone',
|
|
897
|
+
],
|
|
898
|
+
},
|
|
899
|
+
],
|
|
900
|
+
},
|
|
901
|
+
// ===========================================================================
|
|
902
|
+
// /model Command
|
|
903
|
+
// ===========================================================================
|
|
904
|
+
{
|
|
905
|
+
id: 'command-model',
|
|
906
|
+
title: '/model Command',
|
|
907
|
+
keywords: ['/model', 'model', 'provider', 'claude', 'openai', 'gemini', 'ollama', 'tier'],
|
|
908
|
+
sections: [
|
|
909
|
+
{
|
|
910
|
+
items: ['/model - Select your AI model and provider.'],
|
|
911
|
+
},
|
|
912
|
+
{
|
|
913
|
+
title: 'Provider tabs:',
|
|
914
|
+
items: [
|
|
915
|
+
'Claude - Anthropic models (Haiku, Sonnet, Opus)',
|
|
916
|
+
'OpenAI - GPT models',
|
|
917
|
+
'Gemini - Google AI models',
|
|
918
|
+
'Ollama (local) - Run models on your machine',
|
|
919
|
+
'Others - Together AI, Groq, Perplexity, OpenRouter',
|
|
920
|
+
],
|
|
921
|
+
},
|
|
922
|
+
{
|
|
923
|
+
title: 'Three tiers per provider:',
|
|
924
|
+
items: [
|
|
925
|
+
'Fast - Quick responses, lower cost',
|
|
926
|
+
'Balanced - Best mix of speed and capability',
|
|
927
|
+
'Powerful - Best reasoning for complex tasks',
|
|
928
|
+
],
|
|
929
|
+
},
|
|
930
|
+
{
|
|
931
|
+
title: 'Navigation:',
|
|
932
|
+
items: [
|
|
933
|
+
'Tab/1-5 - Switch provider',
|
|
934
|
+
'Enter - View tier details (cycle models, test, set active)',
|
|
935
|
+
's - Set API key',
|
|
936
|
+
'e - Enter custom model ID',
|
|
937
|
+
],
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
items: ['API keys are stored encrypted in ~/.compilr-dev/credentials.enc'],
|
|
941
|
+
},
|
|
942
|
+
],
|
|
943
|
+
},
|
|
944
|
+
// ===========================================================================
|
|
945
|
+
// /config Command
|
|
946
|
+
// ===========================================================================
|
|
947
|
+
{
|
|
948
|
+
id: 'command-config',
|
|
949
|
+
title: '/config Command',
|
|
950
|
+
keywords: ['/config', 'config', 'settings', 'preferences', 'theme', 'mascot'],
|
|
951
|
+
sections: [
|
|
952
|
+
{
|
|
953
|
+
items: ['/config - Open the settings overlay.'],
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
title: 'Four tabs:',
|
|
957
|
+
items: [
|
|
958
|
+
'Status - Session info (version, model, tools, cwd)',
|
|
959
|
+
'Config - Toggle preferences (auto-compact, verbose, theme, model, mascot)',
|
|
960
|
+
'Environment - Paths, git config, safety settings',
|
|
961
|
+
'Usage - Token statistics and context window progress bar',
|
|
962
|
+
],
|
|
963
|
+
},
|
|
964
|
+
{
|
|
965
|
+
title: 'Key settings in the Config tab:',
|
|
966
|
+
items: [
|
|
967
|
+
'Auto-compact - Automatically compress old messages',
|
|
968
|
+
'Default permission mode - Normal / Plan / Accept edits / Don\'t ask',
|
|
969
|
+
'Theme - 418 terminal themes with live preview',
|
|
970
|
+
'Model - Opens full model selection',
|
|
971
|
+
'Startup behavior - Show menu or direct to REPL',
|
|
972
|
+
'Auto-open project - Last opened or Off',
|
|
973
|
+
'Session restore mode - Auto / Ask / Fresh',
|
|
974
|
+
],
|
|
975
|
+
},
|
|
976
|
+
{
|
|
977
|
+
title: 'Environment tab safety settings:',
|
|
978
|
+
items: [
|
|
979
|
+
'Delete protection - Only allow deletion within projects path',
|
|
980
|
+
'CWD mismatch warning - Warn when working outside active project',
|
|
981
|
+
],
|
|
982
|
+
},
|
|
983
|
+
],
|
|
984
|
+
},
|
|
985
|
+
// ===========================================================================
|
|
986
|
+
// /mcp Command
|
|
987
|
+
// ===========================================================================
|
|
988
|
+
{
|
|
989
|
+
id: 'command-mcp',
|
|
990
|
+
title: '/mcp Command',
|
|
991
|
+
keywords: ['/mcp', 'mcp', 'model context protocol', 'servers', 'tools', 'external'],
|
|
992
|
+
sections: [
|
|
993
|
+
{
|
|
994
|
+
items: ['/mcp - Manage MCP (Model Context Protocol) servers.'],
|
|
995
|
+
},
|
|
996
|
+
{
|
|
997
|
+
title: 'MCP servers extend the AI with external tools:',
|
|
998
|
+
items: [
|
|
999
|
+
'Filesystem access, GitHub integration, databases, custom APIs',
|
|
1000
|
+
'Tools appear as mcp_{server}_{tool} in the tool list',
|
|
1001
|
+
'Shared with all team agents automatically',
|
|
1002
|
+
],
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
title: 'Configuration (mcp.json):',
|
|
1006
|
+
items: [
|
|
1007
|
+
'Global: ~/.compilr-dev/mcp.json',
|
|
1008
|
+
'Per-project: <project>/.compilr-dev/mcp.json',
|
|
1009
|
+
'Project config overrides global by server name',
|
|
1010
|
+
'Format compatible with Claude Desktop and Gemini CLI',
|
|
1011
|
+
],
|
|
1012
|
+
},
|
|
1013
|
+
{
|
|
1014
|
+
title: 'Transport types:',
|
|
1015
|
+
items: [
|
|
1016
|
+
'stdio - Local command (spawns child process)',
|
|
1017
|
+
'HTTP - Remote server URL with optional headers',
|
|
1018
|
+
],
|
|
1019
|
+
},
|
|
1020
|
+
{
|
|
1021
|
+
title: 'In the /mcp overlay:',
|
|
1022
|
+
items: [
|
|
1023
|
+
'j/k - Navigate servers',
|
|
1024
|
+
'/ - Search servers or tools',
|
|
1025
|
+
'Enter - View server details and tool list',
|
|
1026
|
+
'a - Add new server (form wizard)',
|
|
1027
|
+
'r - Restart server',
|
|
1028
|
+
'd - Disconnect server',
|
|
1029
|
+
],
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
items: ['Servers connect in the background on startup. Add or restart servers at runtime without restarting the CLI.'],
|
|
1033
|
+
},
|
|
1034
|
+
],
|
|
1035
|
+
},
|
|
1036
|
+
// ===========================================================================
|
|
1037
|
+
// Coordinator Mode
|
|
1038
|
+
// ===========================================================================
|
|
1039
|
+
{
|
|
1040
|
+
id: 'coordinator-mode',
|
|
1041
|
+
title: 'Coordinator Mode',
|
|
1042
|
+
keywords: ['coordinator', 'delegate', 'delegation', 'delegate_background', 'orchestrate'],
|
|
1043
|
+
sections: [
|
|
1044
|
+
{
|
|
1045
|
+
items: ['The default agent acts as coordinator and can delegate tasks to specialists running in the background.'],
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
title: 'How delegation works:',
|
|
1049
|
+
items: [
|
|
1050
|
+
'Coordinator calls delegate_background tool with agentId and task',
|
|
1051
|
+
'Specialist runs the task in the background',
|
|
1052
|
+
'On completion, coordinator is automatically notified with results',
|
|
1053
|
+
],
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
title: 'delegate_background parameters:',
|
|
1057
|
+
items: [
|
|
1058
|
+
'agentId - Target specialist (e.g., "dev", "qa", "arch")',
|
|
1059
|
+
'task - Detailed task description',
|
|
1060
|
+
'todoIndex - Optional: link to a todo item',
|
|
1061
|
+
'expectedOutput - Optional: what the specialist should produce',
|
|
1062
|
+
],
|
|
1063
|
+
},
|
|
1064
|
+
{
|
|
1065
|
+
title: 'Completion delivery:',
|
|
1066
|
+
items: [
|
|
1067
|
+
'Immediate: If coordinator is idle, auto-resumes with results',
|
|
1068
|
+
'Deferred: If coordinator is busy, events queue up for next interaction',
|
|
1069
|
+
'Completion includes: agent name, status, task, result summary, artifacts',
|
|
1070
|
+
],
|
|
1071
|
+
},
|
|
1072
|
+
{
|
|
1073
|
+
items: ['Specialists are scoped to their delegated task and stop when done. Use /bg to monitor running delegations.'],
|
|
1074
|
+
},
|
|
1075
|
+
],
|
|
1076
|
+
},
|
|
1077
|
+
// ===========================================================================
|
|
1078
|
+
// Status Bar Navigation
|
|
1079
|
+
// ===========================================================================
|
|
1080
|
+
{
|
|
1081
|
+
id: 'status-bar-navigation',
|
|
1082
|
+
title: 'Status Bar Navigation',
|
|
1083
|
+
keywords: ['status bar', 'footer', 'indicators', 'pending', 'background', 'down arrow', 'navigation'],
|
|
1084
|
+
sections: [
|
|
1085
|
+
{
|
|
1086
|
+
items: ['The status bar shows navigable indicators for pending requests, background agents, terminals, and notifications.'],
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
title: 'Entering status bar navigation:',
|
|
1090
|
+
items: [
|
|
1091
|
+
'Press Down arrow from the input prompt',
|
|
1092
|
+
'First indicator is highlighted',
|
|
1093
|
+
],
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
title: 'Navigation keys:',
|
|
1097
|
+
items: [
|
|
1098
|
+
'Left/Right - Move between indicators',
|
|
1099
|
+
'Enter - Open the overlay for that indicator',
|
|
1100
|
+
'Escape or Up - Exit back to input',
|
|
1101
|
+
],
|
|
1102
|
+
},
|
|
1103
|
+
{
|
|
1104
|
+
title: 'Available indicators (shown when relevant):',
|
|
1105
|
+
items: [
|
|
1106
|
+
'pending - Pending approval requests from agents',
|
|
1107
|
+
'bg-agents - Count of background agents running',
|
|
1108
|
+
'terminals - Multiple CLI sessions active on same project',
|
|
1109
|
+
'notifications - Unread cross-terminal notifications',
|
|
1110
|
+
'mcp - MCP servers connecting',
|
|
1111
|
+
],
|
|
1112
|
+
},
|
|
1113
|
+
{
|
|
1114
|
+
items: ['Each indicator maps to a command: pending → /pending, bg-agents → /bg, terminals → /terminals.'],
|
|
1115
|
+
},
|
|
1116
|
+
],
|
|
1117
|
+
},
|
|
1118
|
+
// ===========================================================================
|
|
1119
|
+
// /files Command
|
|
1120
|
+
// ===========================================================================
|
|
1121
|
+
{
|
|
1122
|
+
id: 'command-files',
|
|
1123
|
+
title: '/files Command',
|
|
1124
|
+
keywords: ['/files', 'files', 'tracked', 'read', 'modified', 'referenced'],
|
|
1125
|
+
sections: [
|
|
1126
|
+
{
|
|
1127
|
+
items: ['/files - View files tracked during the current session.'],
|
|
1128
|
+
},
|
|
1129
|
+
{
|
|
1130
|
+
title: 'Filter modes:',
|
|
1131
|
+
items: [
|
|
1132
|
+
'/files - Show all tracked files',
|
|
1133
|
+
'/files read - Files the AI has read',
|
|
1134
|
+
'/files modified - Files the AI has modified',
|
|
1135
|
+
'/files referenced - Files mentioned but not directly accessed',
|
|
1136
|
+
],
|
|
1137
|
+
},
|
|
1138
|
+
{
|
|
1139
|
+
title: 'Each file shows:',
|
|
1140
|
+
items: [
|
|
1141
|
+
'[R] Read, [M] Modified, [~] Referenced',
|
|
1142
|
+
'Relative file path and line count',
|
|
1143
|
+
'[cached] marker if content is stored in context',
|
|
1144
|
+
],
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
items: ['In team mode, files are grouped by agent so you can see what each specialist touched.'],
|
|
1148
|
+
},
|
|
1149
|
+
],
|
|
1150
|
+
},
|
|
1151
|
+
// ===========================================================================
|
|
1152
|
+
// /changelog Command
|
|
1153
|
+
// ===========================================================================
|
|
1154
|
+
{
|
|
1155
|
+
id: 'command-changelog',
|
|
1156
|
+
title: '/changelog Command',
|
|
1157
|
+
keywords: ['/changelog', 'changelog', 'release', "what's new", 'version', 'changes', 'whatsnew'],
|
|
1158
|
+
sections: [
|
|
1159
|
+
{
|
|
1160
|
+
items: ['/changelog - View release notes and what changed in each version.'],
|
|
1161
|
+
},
|
|
1162
|
+
{
|
|
1163
|
+
title: 'The overlay shows:',
|
|
1164
|
+
items: [
|
|
1165
|
+
'All releases with version, date, and highlights',
|
|
1166
|
+
'Categorized changes: Added (+), Changed (~), Fixed (*)',
|
|
1167
|
+
'Search by version, date, or keywords',
|
|
1168
|
+
],
|
|
1169
|
+
},
|
|
1170
|
+
{
|
|
1171
|
+
title: 'Navigation:',
|
|
1172
|
+
items: [
|
|
1173
|
+
'j/k - Navigate releases',
|
|
1174
|
+
'/ - Search',
|
|
1175
|
+
'Enter - View release details',
|
|
1176
|
+
'q/Esc - Close',
|
|
1177
|
+
],
|
|
1178
|
+
},
|
|
1179
|
+
{
|
|
1180
|
+
items: ['Aliases: /changes, /whatsnew. Startup screen shows highlights from the latest release.'],
|
|
1181
|
+
},
|
|
1182
|
+
],
|
|
1183
|
+
},
|
|
1184
|
+
// ===========================================================================
|
|
1185
|
+
// /permissions Command
|
|
1186
|
+
// ===========================================================================
|
|
1187
|
+
{
|
|
1188
|
+
id: 'command-permissions',
|
|
1189
|
+
title: '/permissions Command',
|
|
1190
|
+
keywords: ['/permissions', 'permissions', 'safety', 'rules', 'allow', 'deny'],
|
|
1191
|
+
sections: [
|
|
1192
|
+
{
|
|
1193
|
+
items: ['/permissions - Manage tool permissions and safety.'],
|
|
1194
|
+
},
|
|
1195
|
+
{
|
|
1196
|
+
title: 'Three tabs:',
|
|
1197
|
+
items: [
|
|
1198
|
+
'Rules - Per-tool permission levels (always, session, once, deny)',
|
|
1199
|
+
'Mode - Global permission mode (Normal, Plan, Auto-accept)',
|
|
1200
|
+
'Session - Grants given during this session',
|
|
1201
|
+
],
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
title: 'Permission levels:',
|
|
1205
|
+
items: [
|
|
1206
|
+
'always - No prompt needed (e.g., read_file, glob, grep)',
|
|
1207
|
+
'session - Allowed for the rest of the session',
|
|
1208
|
+
'once - Ask every time (e.g., bash, write_file, edit)',
|
|
1209
|
+
'deny - Explicitly blocked',
|
|
1210
|
+
],
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
title: 'Rules tab shortcuts:',
|
|
1214
|
+
items: [
|
|
1215
|
+
'a - Add new rule (supports wildcards like git_*)',
|
|
1216
|
+
'e - Edit selected rule',
|
|
1217
|
+
'd - Delete custom rule',
|
|
1218
|
+
'r - Reset all rules to defaults',
|
|
1219
|
+
],
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
items: [
|
|
1223
|
+
'TIP: Set run_tests and run_lint to "session" so the AI can iterate without asking each time.',
|
|
1224
|
+
],
|
|
1225
|
+
},
|
|
1226
|
+
],
|
|
1227
|
+
},
|
|
1228
|
+
];
|
|
1229
|
+
// =============================================================================
|
|
1230
|
+
// Helper Functions
|
|
1231
|
+
// =============================================================================
|
|
1232
|
+
/**
|
|
1233
|
+
* Find a content topic by ID.
|
|
1234
|
+
*/
|
|
1235
|
+
export function getContentTopic(id) {
|
|
1236
|
+
return CONTENT_TOPICS.find((t) => t.id === id);
|
|
1237
|
+
}
|
|
1238
|
+
/**
|
|
1239
|
+
* Find content topics by keyword.
|
|
1240
|
+
*/
|
|
1241
|
+
export function searchContentTopics(query) {
|
|
1242
|
+
const q = query.toLowerCase().trim();
|
|
1243
|
+
// Exact ID match
|
|
1244
|
+
const exactMatch = CONTENT_TOPICS.find((t) => t.id === q);
|
|
1245
|
+
if (exactMatch)
|
|
1246
|
+
return [exactMatch];
|
|
1247
|
+
// Keyword search
|
|
1248
|
+
return CONTENT_TOPICS.filter((t) => t.keywords.some((k) => k.includes(q) || q.includes(k)) ||
|
|
1249
|
+
t.title.toLowerCase().includes(q)).slice(0, 3);
|
|
1250
|
+
}
|
|
1251
|
+
/**
|
|
1252
|
+
* Convert a content topic to plain text (for guide tool).
|
|
1253
|
+
*/
|
|
1254
|
+
export function topicToPlainText(topic) {
|
|
1255
|
+
const lines = [];
|
|
1256
|
+
for (const section of topic.sections) {
|
|
1257
|
+
if (section.title) {
|
|
1258
|
+
lines.push(section.title);
|
|
1259
|
+
}
|
|
1260
|
+
for (const item of section.items) {
|
|
1261
|
+
lines.push(section.title ? ` ${item}` : item);
|
|
1262
|
+
}
|
|
1263
|
+
lines.push('');
|
|
1264
|
+
}
|
|
1265
|
+
return lines.join('\n').trim();
|
|
1266
|
+
}
|
|
1267
|
+
/**
|
|
1268
|
+
* Get all topic IDs.
|
|
1269
|
+
*/
|
|
1270
|
+
export function getAllTopicIds() {
|
|
1271
|
+
return CONTENT_TOPICS.map((t) => t.id);
|
|
1272
|
+
}
|