@promptwheel/cli 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +215 -0
- package/dist/bin/promptwheel.d.ts +17 -0
- package/dist/bin/promptwheel.d.ts.map +1 -0
- package/dist/bin/promptwheel.js +90 -0
- package/dist/bin/promptwheel.js.map +1 -0
- package/dist/commands/auto-auth.d.ts +26 -0
- package/dist/commands/auto-auth.d.ts.map +1 -0
- package/dist/commands/auto-auth.js +216 -0
- package/dist/commands/auto-auth.js.map +1 -0
- package/dist/commands/auto-ci-mode.d.ts +9 -0
- package/dist/commands/auto-ci-mode.d.ts.map +1 -0
- package/dist/commands/auto-ci-mode.js +176 -0
- package/dist/commands/auto-ci-mode.js.map +1 -0
- package/dist/commands/solo-analytics.d.ts +6 -0
- package/dist/commands/solo-analytics.d.ts.map +1 -0
- package/dist/commands/solo-analytics.js +267 -0
- package/dist/commands/solo-analytics.js.map +1 -0
- package/dist/commands/solo-auto.d.ts +6 -0
- package/dist/commands/solo-auto.d.ts.map +1 -0
- package/dist/commands/solo-auto.js +135 -0
- package/dist/commands/solo-auto.js.map +1 -0
- package/dist/commands/solo-daemon.d.ts +12 -0
- package/dist/commands/solo-daemon.d.ts.map +1 -0
- package/dist/commands/solo-daemon.js +177 -0
- package/dist/commands/solo-daemon.js.map +1 -0
- package/dist/commands/solo-exec.d.ts +6 -0
- package/dist/commands/solo-exec.d.ts.map +1 -0
- package/dist/commands/solo-exec.js +656 -0
- package/dist/commands/solo-exec.js.map +1 -0
- package/dist/commands/solo-inspect.d.ts +6 -0
- package/dist/commands/solo-inspect.d.ts.map +1 -0
- package/dist/commands/solo-inspect.js +765 -0
- package/dist/commands/solo-inspect.js.map +1 -0
- package/dist/commands/solo-lifecycle.d.ts +6 -0
- package/dist/commands/solo-lifecycle.d.ts.map +1 -0
- package/dist/commands/solo-lifecycle.js +226 -0
- package/dist/commands/solo-lifecycle.js.map +1 -0
- package/dist/commands/solo-nudge.d.ts +6 -0
- package/dist/commands/solo-nudge.d.ts.map +1 -0
- package/dist/commands/solo-nudge.js +49 -0
- package/dist/commands/solo-nudge.js.map +1 -0
- package/dist/commands/solo-qa.d.ts +6 -0
- package/dist/commands/solo-qa.d.ts.map +1 -0
- package/dist/commands/solo-qa.js +253 -0
- package/dist/commands/solo-qa.js.map +1 -0
- package/dist/commands/solo-trajectory.d.ts +6 -0
- package/dist/commands/solo-trajectory.d.ts.map +1 -0
- package/dist/commands/solo-trajectory.js +268 -0
- package/dist/commands/solo-trajectory.js.map +1 -0
- package/dist/commands/solo.d.ts +11 -0
- package/dist/commands/solo.d.ts.map +1 -0
- package/dist/commands/solo.js +52 -0
- package/dist/commands/solo.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/artifacts.d.ts +136 -0
- package/dist/lib/artifacts.d.ts.map +1 -0
- package/dist/lib/artifacts.js +147 -0
- package/dist/lib/artifacts.js.map +1 -0
- package/dist/lib/codebase-index.d.ts +5 -0
- package/dist/lib/codebase-index.d.ts.map +1 -0
- package/dist/lib/codebase-index.js +5 -0
- package/dist/lib/codebase-index.js.map +1 -0
- package/dist/lib/cycle-context.d.ts +62 -0
- package/dist/lib/cycle-context.d.ts.map +1 -0
- package/dist/lib/cycle-context.js +141 -0
- package/dist/lib/cycle-context.js.map +1 -0
- package/dist/lib/daemon-fork.d.ts +39 -0
- package/dist/lib/daemon-fork.d.ts.map +1 -0
- package/dist/lib/daemon-fork.js +164 -0
- package/dist/lib/daemon-fork.js.map +1 -0
- package/dist/lib/daemon-notifier.d.ts +29 -0
- package/dist/lib/daemon-notifier.d.ts.map +1 -0
- package/dist/lib/daemon-notifier.js +147 -0
- package/dist/lib/daemon-notifier.js.map +1 -0
- package/dist/lib/daemon.d.ts +75 -0
- package/dist/lib/daemon.d.ts.map +1 -0
- package/dist/lib/daemon.js +265 -0
- package/dist/lib/daemon.js.map +1 -0
- package/dist/lib/dedup-memory.d.ts +46 -0
- package/dist/lib/dedup-memory.d.ts.map +1 -0
- package/dist/lib/dedup-memory.js +190 -0
- package/dist/lib/dedup-memory.js.map +1 -0
- package/dist/lib/dedup.d.ts +37 -0
- package/dist/lib/dedup.d.ts.map +1 -0
- package/dist/lib/dedup.js +85 -0
- package/dist/lib/dedup.js.map +1 -0
- package/dist/lib/display-adapter-log.d.ts +26 -0
- package/dist/lib/display-adapter-log.d.ts.map +1 -0
- package/dist/lib/display-adapter-log.js +63 -0
- package/dist/lib/display-adapter-log.js.map +1 -0
- package/dist/lib/display-adapter-spinner.d.ts +28 -0
- package/dist/lib/display-adapter-spinner.d.ts.map +1 -0
- package/dist/lib/display-adapter-spinner.js +93 -0
- package/dist/lib/display-adapter-spinner.js.map +1 -0
- package/dist/lib/display-adapter-tui.d.ts +32 -0
- package/dist/lib/display-adapter-tui.d.ts.map +1 -0
- package/dist/lib/display-adapter-tui.js +77 -0
- package/dist/lib/display-adapter-tui.js.map +1 -0
- package/dist/lib/display-adapter.d.ts +40 -0
- package/dist/lib/display-adapter.d.ts.map +1 -0
- package/dist/lib/display-adapter.js +9 -0
- package/dist/lib/display-adapter.js.map +1 -0
- package/dist/lib/doctor.d.ts +45 -0
- package/dist/lib/doctor.d.ts.map +1 -0
- package/dist/lib/doctor.js +382 -0
- package/dist/lib/doctor.js.map +1 -0
- package/dist/lib/exclusion-index.d.ts +50 -0
- package/dist/lib/exclusion-index.d.ts.map +1 -0
- package/dist/lib/exclusion-index.js +249 -0
- package/dist/lib/exclusion-index.js.map +1 -0
- package/dist/lib/exec.d.ts +24 -0
- package/dist/lib/exec.d.ts.map +1 -0
- package/dist/lib/exec.js +295 -0
- package/dist/lib/exec.js.map +1 -0
- package/dist/lib/execution-backends/claude.d.ts +27 -0
- package/dist/lib/execution-backends/claude.d.ts.map +1 -0
- package/dist/lib/execution-backends/claude.js +161 -0
- package/dist/lib/execution-backends/claude.js.map +1 -0
- package/dist/lib/execution-backends/codex.d.ts +28 -0
- package/dist/lib/execution-backends/codex.d.ts.map +1 -0
- package/dist/lib/execution-backends/codex.js +216 -0
- package/dist/lib/execution-backends/codex.js.map +1 -0
- package/dist/lib/execution-backends/index.d.ts +10 -0
- package/dist/lib/execution-backends/index.d.ts.map +1 -0
- package/dist/lib/execution-backends/index.js +9 -0
- package/dist/lib/execution-backends/index.js.map +1 -0
- package/dist/lib/execution-backends/kimi.d.ts +25 -0
- package/dist/lib/execution-backends/kimi.d.ts.map +1 -0
- package/dist/lib/execution-backends/kimi.js +76 -0
- package/dist/lib/execution-backends/kimi.js.map +1 -0
- package/dist/lib/execution-backends/types.d.ts +38 -0
- package/dist/lib/execution-backends/types.d.ts.map +1 -0
- package/dist/lib/execution-backends/types.js +5 -0
- package/dist/lib/execution-backends/types.js.map +1 -0
- package/dist/lib/failure-classifier.d.ts +11 -0
- package/dist/lib/failure-classifier.d.ts.map +1 -0
- package/dist/lib/failure-classifier.js +24 -0
- package/dist/lib/failure-classifier.js.map +1 -0
- package/dist/lib/file-cooldown.d.ts +9 -0
- package/dist/lib/file-cooldown.d.ts.map +1 -0
- package/dist/lib/file-cooldown.js +75 -0
- package/dist/lib/file-cooldown.js.map +1 -0
- package/dist/lib/formulas.d.ts +52 -0
- package/dist/lib/formulas.d.ts.map +1 -0
- package/dist/lib/formulas.js +123 -0
- package/dist/lib/formulas.js.map +1 -0
- package/dist/lib/git.d.ts +9 -0
- package/dist/lib/git.d.ts.map +1 -0
- package/dist/lib/git.js +60 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/goals.d.ts +59 -0
- package/dist/lib/goals.d.ts.map +1 -0
- package/dist/lib/goals.js +216 -0
- package/dist/lib/goals.js.map +1 -0
- package/dist/lib/guidelines.d.ts +32 -0
- package/dist/lib/guidelines.d.ts.map +1 -0
- package/dist/lib/guidelines.js +102 -0
- package/dist/lib/guidelines.js.map +1 -0
- package/dist/lib/learnings.d.ts +65 -0
- package/dist/lib/learnings.d.ts.map +1 -0
- package/dist/lib/learnings.js +193 -0
- package/dist/lib/learnings.js.map +1 -0
- package/dist/lib/logger.d.ts +17 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +42 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/meta-learnings.d.ts +27 -0
- package/dist/lib/meta-learnings.d.ts.map +1 -0
- package/dist/lib/meta-learnings.js +270 -0
- package/dist/lib/meta-learnings.js.map +1 -0
- package/dist/lib/metrics.d.ts +48 -0
- package/dist/lib/metrics.d.ts.map +1 -0
- package/dist/lib/metrics.js +107 -0
- package/dist/lib/metrics.js.map +1 -0
- package/dist/lib/openai-local-execution.d.ts +29 -0
- package/dist/lib/openai-local-execution.d.ts.map +1 -0
- package/dist/lib/openai-local-execution.js +282 -0
- package/dist/lib/openai-local-execution.js.map +1 -0
- package/dist/lib/project-metadata/csharp.d.ts +6 -0
- package/dist/lib/project-metadata/csharp.d.ts.map +1 -0
- package/dist/lib/project-metadata/csharp.js +19 -0
- package/dist/lib/project-metadata/csharp.js.map +1 -0
- package/dist/lib/project-metadata/elixir.d.ts +6 -0
- package/dist/lib/project-metadata/elixir.d.ts.map +1 -0
- package/dist/lib/project-metadata/elixir.js +23 -0
- package/dist/lib/project-metadata/elixir.js.map +1 -0
- package/dist/lib/project-metadata/go.d.ts +6 -0
- package/dist/lib/project-metadata/go.d.ts.map +1 -0
- package/dist/lib/project-metadata/go.js +30 -0
- package/dist/lib/project-metadata/go.js.map +1 -0
- package/dist/lib/project-metadata/index.d.ts +13 -0
- package/dist/lib/project-metadata/index.d.ts.map +1 -0
- package/dist/lib/project-metadata/index.js +111 -0
- package/dist/lib/project-metadata/index.js.map +1 -0
- package/dist/lib/project-metadata/java.d.ts +6 -0
- package/dist/lib/project-metadata/java.d.ts.map +1 -0
- package/dist/lib/project-metadata/java.js +37 -0
- package/dist/lib/project-metadata/java.js.map +1 -0
- package/dist/lib/project-metadata/node.d.ts +6 -0
- package/dist/lib/project-metadata/node.d.ts.map +1 -0
- package/dist/lib/project-metadata/node.js +135 -0
- package/dist/lib/project-metadata/node.js.map +1 -0
- package/dist/lib/project-metadata/php.d.ts +6 -0
- package/dist/lib/project-metadata/php.d.ts.map +1 -0
- package/dist/lib/project-metadata/php.js +29 -0
- package/dist/lib/project-metadata/php.js.map +1 -0
- package/dist/lib/project-metadata/python.d.ts +6 -0
- package/dist/lib/project-metadata/python.d.ts.map +1 -0
- package/dist/lib/project-metadata/python.js +79 -0
- package/dist/lib/project-metadata/python.js.map +1 -0
- package/dist/lib/project-metadata/ruby.d.ts +6 -0
- package/dist/lib/project-metadata/ruby.d.ts.map +1 -0
- package/dist/lib/project-metadata/ruby.js +38 -0
- package/dist/lib/project-metadata/ruby.js.map +1 -0
- package/dist/lib/project-metadata/rust.d.ts +6 -0
- package/dist/lib/project-metadata/rust.d.ts.map +1 -0
- package/dist/lib/project-metadata/rust.js +33 -0
- package/dist/lib/project-metadata/rust.js.map +1 -0
- package/dist/lib/project-metadata/swift.d.ts +6 -0
- package/dist/lib/project-metadata/swift.d.ts.map +1 -0
- package/dist/lib/project-metadata/swift.js +19 -0
- package/dist/lib/project-metadata/swift.js.map +1 -0
- package/dist/lib/project-metadata/types.d.ts +37 -0
- package/dist/lib/project-metadata/types.d.ts.map +1 -0
- package/dist/lib/project-metadata/types.js +5 -0
- package/dist/lib/project-metadata/types.js.map +1 -0
- package/dist/lib/proposal-review.d.ts +9 -0
- package/dist/lib/proposal-review.d.ts.map +1 -0
- package/dist/lib/proposal-review.js +9 -0
- package/dist/lib/proposal-review.js.map +1 -0
- package/dist/lib/providers/claude.d.ts +6 -0
- package/dist/lib/providers/claude.d.ts.map +1 -0
- package/dist/lib/providers/claude.js +21 -0
- package/dist/lib/providers/claude.js.map +1 -0
- package/dist/lib/providers/codex.d.ts +6 -0
- package/dist/lib/providers/codex.d.ts.map +1 -0
- package/dist/lib/providers/codex.js +26 -0
- package/dist/lib/providers/codex.js.map +1 -0
- package/dist/lib/providers/index.d.ts +22 -0
- package/dist/lib/providers/index.d.ts.map +1 -0
- package/dist/lib/providers/index.js +39 -0
- package/dist/lib/providers/index.js.map +1 -0
- package/dist/lib/providers/kimi.d.ts +6 -0
- package/dist/lib/providers/kimi.d.ts.map +1 -0
- package/dist/lib/providers/kimi.js +22 -0
- package/dist/lib/providers/kimi.js.map +1 -0
- package/dist/lib/providers/openai-local.d.ts +8 -0
- package/dist/lib/providers/openai-local.d.ts.map +1 -0
- package/dist/lib/providers/openai-local.js +30 -0
- package/dist/lib/providers/openai-local.js.map +1 -0
- package/dist/lib/providers/types.d.ts +37 -0
- package/dist/lib/providers/types.d.ts.map +1 -0
- package/dist/lib/providers/types.js +5 -0
- package/dist/lib/providers/types.js.map +1 -0
- package/dist/lib/qa-stats.d.ts +113 -0
- package/dist/lib/qa-stats.d.ts.map +1 -0
- package/dist/lib/qa-stats.js +311 -0
- package/dist/lib/qa-stats.js.map +1 -0
- package/dist/lib/retention.d.ts +125 -0
- package/dist/lib/retention.d.ts.map +1 -0
- package/dist/lib/retention.js +767 -0
- package/dist/lib/retention.js.map +1 -0
- package/dist/lib/run-history.d.ts +52 -0
- package/dist/lib/run-history.d.ts.map +1 -0
- package/dist/lib/run-history.js +116 -0
- package/dist/lib/run-history.js.map +1 -0
- package/dist/lib/run-state.d.ts +129 -0
- package/dist/lib/run-state.d.ts.map +1 -0
- package/dist/lib/run-state.js +312 -0
- package/dist/lib/run-state.js.map +1 -0
- package/dist/lib/scope.d.ts +8 -0
- package/dist/lib/scope.d.ts.map +1 -0
- package/dist/lib/scope.js +8 -0
- package/dist/lib/scope.js.map +1 -0
- package/dist/lib/scout-prompt-builder.d.ts +22 -0
- package/dist/lib/scout-prompt-builder.d.ts.map +1 -0
- package/dist/lib/scout-prompt-builder.js +97 -0
- package/dist/lib/scout-prompt-builder.js.map +1 -0
- package/dist/lib/sectors.d.ts +21 -0
- package/dist/lib/sectors.d.ts.map +1 -0
- package/dist/lib/sectors.js +96 -0
- package/dist/lib/sectors.js.map +1 -0
- package/dist/lib/selection.d.ts +35 -0
- package/dist/lib/selection.d.ts.map +1 -0
- package/dist/lib/selection.js +110 -0
- package/dist/lib/selection.js.map +1 -0
- package/dist/lib/session-report.d.ts +26 -0
- package/dist/lib/session-report.d.ts.map +1 -0
- package/dist/lib/session-report.js +143 -0
- package/dist/lib/session-report.js.map +1 -0
- package/dist/lib/solo-auto-between-cycles.d.ts +10 -0
- package/dist/lib/solo-auto-between-cycles.d.ts.map +1 -0
- package/dist/lib/solo-auto-between-cycles.js +577 -0
- package/dist/lib/solo-auto-between-cycles.js.map +1 -0
- package/dist/lib/solo-auto-execute.d.ts +22 -0
- package/dist/lib/solo-auto-execute.d.ts.map +1 -0
- package/dist/lib/solo-auto-execute.js +530 -0
- package/dist/lib/solo-auto-execute.js.map +1 -0
- package/dist/lib/solo-auto-filter.d.ts +14 -0
- package/dist/lib/solo-auto-filter.d.ts.map +1 -0
- package/dist/lib/solo-auto-filter.js +311 -0
- package/dist/lib/solo-auto-filter.js.map +1 -0
- package/dist/lib/solo-auto-finalize.d.ts +6 -0
- package/dist/lib/solo-auto-finalize.d.ts.map +1 -0
- package/dist/lib/solo-auto-finalize.js +242 -0
- package/dist/lib/solo-auto-finalize.js.map +1 -0
- package/dist/lib/solo-auto-init-qa.d.ts +23 -0
- package/dist/lib/solo-auto-init-qa.d.ts.map +1 -0
- package/dist/lib/solo-auto-init-qa.js +183 -0
- package/dist/lib/solo-auto-init-qa.js.map +1 -0
- package/dist/lib/solo-auto-planning.d.ts +40 -0
- package/dist/lib/solo-auto-planning.d.ts.map +1 -0
- package/dist/lib/solo-auto-planning.js +171 -0
- package/dist/lib/solo-auto-planning.js.map +1 -0
- package/dist/lib/solo-auto-scout.d.ts +18 -0
- package/dist/lib/solo-auto-scout.d.ts.map +1 -0
- package/dist/lib/solo-auto-scout.js +269 -0
- package/dist/lib/solo-auto-scout.js.map +1 -0
- package/dist/lib/solo-auto-state.d.ts +20 -0
- package/dist/lib/solo-auto-state.d.ts.map +1 -0
- package/dist/lib/solo-auto-state.js +859 -0
- package/dist/lib/solo-auto-state.js.map +1 -0
- package/dist/lib/solo-auto-types.d.ts +197 -0
- package/dist/lib/solo-auto-types.d.ts.map +1 -0
- package/dist/lib/solo-auto-types.js +11 -0
- package/dist/lib/solo-auto-types.js.map +1 -0
- package/dist/lib/solo-auto-utils.d.ts +23 -0
- package/dist/lib/solo-auto-utils.d.ts.map +1 -0
- package/dist/lib/solo-auto-utils.js +53 -0
- package/dist/lib/solo-auto-utils.js.map +1 -0
- package/dist/lib/solo-auto.d.ts +25 -0
- package/dist/lib/solo-auto.d.ts.map +1 -0
- package/dist/lib/solo-auto.js +345 -0
- package/dist/lib/solo-auto.js.map +1 -0
- package/dist/lib/solo-ci.d.ts +84 -0
- package/dist/lib/solo-ci.d.ts.map +1 -0
- package/dist/lib/solo-ci.js +306 -0
- package/dist/lib/solo-ci.js.map +1 -0
- package/dist/lib/solo-config.d.ts +242 -0
- package/dist/lib/solo-config.d.ts.map +1 -0
- package/dist/lib/solo-config.js +354 -0
- package/dist/lib/solo-config.js.map +1 -0
- package/dist/lib/solo-cycle-formula.d.ts +36 -0
- package/dist/lib/solo-cycle-formula.d.ts.map +1 -0
- package/dist/lib/solo-cycle-formula.js +90 -0
- package/dist/lib/solo-cycle-formula.js.map +1 -0
- package/dist/lib/solo-git.d.ts +87 -0
- package/dist/lib/solo-git.d.ts.map +1 -0
- package/dist/lib/solo-git.js +365 -0
- package/dist/lib/solo-git.js.map +1 -0
- package/dist/lib/solo-hints.d.ts +32 -0
- package/dist/lib/solo-hints.d.ts.map +1 -0
- package/dist/lib/solo-hints.js +98 -0
- package/dist/lib/solo-hints.js.map +1 -0
- package/dist/lib/solo-prompt-builder.d.ts +12 -0
- package/dist/lib/solo-prompt-builder.d.ts.map +1 -0
- package/dist/lib/solo-prompt-builder.js +53 -0
- package/dist/lib/solo-prompt-builder.js.map +1 -0
- package/dist/lib/solo-qa-retry.d.ts +43 -0
- package/dist/lib/solo-qa-retry.d.ts.map +1 -0
- package/dist/lib/solo-qa-retry.js +125 -0
- package/dist/lib/solo-qa-retry.js.map +1 -0
- package/dist/lib/solo-remote.d.ts +14 -0
- package/dist/lib/solo-remote.d.ts.map +1 -0
- package/dist/lib/solo-remote.js +48 -0
- package/dist/lib/solo-remote.js.map +1 -0
- package/dist/lib/solo-session-summary.d.ts +52 -0
- package/dist/lib/solo-session-summary.d.ts.map +1 -0
- package/dist/lib/solo-session-summary.js +188 -0
- package/dist/lib/solo-session-summary.js.map +1 -0
- package/dist/lib/solo-stdin.d.ts +33 -0
- package/dist/lib/solo-stdin.d.ts.map +1 -0
- package/dist/lib/solo-stdin.js +299 -0
- package/dist/lib/solo-stdin.js.map +1 -0
- package/dist/lib/solo-ticket-qa.d.ts +19 -0
- package/dist/lib/solo-ticket-qa.d.ts.map +1 -0
- package/dist/lib/solo-ticket-qa.js +68 -0
- package/dist/lib/solo-ticket-qa.js.map +1 -0
- package/dist/lib/solo-ticket-types.d.ts +146 -0
- package/dist/lib/solo-ticket-types.d.ts.map +1 -0
- package/dist/lib/solo-ticket-types.js +26 -0
- package/dist/lib/solo-ticket-types.js.map +1 -0
- package/dist/lib/solo-ticket.d.ts +12 -0
- package/dist/lib/solo-ticket.d.ts.map +1 -0
- package/dist/lib/solo-ticket.js +192 -0
- package/dist/lib/solo-ticket.js.map +1 -0
- package/dist/lib/solo-utils.d.ts +130 -0
- package/dist/lib/solo-utils.d.ts.map +1 -0
- package/dist/lib/solo-utils.js +277 -0
- package/dist/lib/solo-utils.js.map +1 -0
- package/dist/lib/spindle/failure-patterns.d.ts +15 -0
- package/dist/lib/spindle/failure-patterns.d.ts.map +1 -0
- package/dist/lib/spindle/failure-patterns.js +22 -0
- package/dist/lib/spindle/failure-patterns.js.map +1 -0
- package/dist/lib/spindle/format.d.ts +9 -0
- package/dist/lib/spindle/format.d.ts.map +1 -0
- package/dist/lib/spindle/format.js +37 -0
- package/dist/lib/spindle/format.js.map +1 -0
- package/dist/lib/spindle/index.d.ts +33 -0
- package/dist/lib/spindle/index.d.ts.map +1 -0
- package/dist/lib/spindle/index.js +231 -0
- package/dist/lib/spindle/index.js.map +1 -0
- package/dist/lib/spindle/oscillation.d.ts +17 -0
- package/dist/lib/spindle/oscillation.d.ts.map +1 -0
- package/dist/lib/spindle/oscillation.js +96 -0
- package/dist/lib/spindle/oscillation.js.map +1 -0
- package/dist/lib/spindle/repetition.d.ts +16 -0
- package/dist/lib/spindle/repetition.d.ts.map +1 -0
- package/dist/lib/spindle/repetition.js +52 -0
- package/dist/lib/spindle/repetition.js.map +1 -0
- package/dist/lib/spindle/similarity.d.ts +14 -0
- package/dist/lib/spindle/similarity.d.ts.map +1 -0
- package/dist/lib/spindle/similarity.js +58 -0
- package/dist/lib/spindle/similarity.js.map +1 -0
- package/dist/lib/spindle/types.d.ts +97 -0
- package/dist/lib/spindle/types.d.ts.map +1 -0
- package/dist/lib/spindle/types.js +46 -0
- package/dist/lib/spindle/types.js.map +1 -0
- package/dist/lib/spinner.d.ts +41 -0
- package/dist/lib/spinner.d.ts.map +1 -0
- package/dist/lib/spinner.js +186 -0
- package/dist/lib/spinner.js.map +1 -0
- package/dist/lib/taste-profile.d.ts +26 -0
- package/dist/lib/taste-profile.d.ts.map +1 -0
- package/dist/lib/taste-profile.js +121 -0
- package/dist/lib/taste-profile.js.map +1 -0
- package/dist/lib/ticket-steps/index.d.ts +14 -0
- package/dist/lib/ticket-steps/index.d.ts.map +1 -0
- package/dist/lib/ticket-steps/index.js +13 -0
- package/dist/lib/ticket-steps/index.js.map +1 -0
- package/dist/lib/ticket-steps/step-agent.d.ts +6 -0
- package/dist/lib/ticket-steps/step-agent.d.ts.map +1 -0
- package/dist/lib/ticket-steps/step-agent.js +122 -0
- package/dist/lib/ticket-steps/step-agent.js.map +1 -0
- package/dist/lib/ticket-steps/step-cleanup.d.ts +6 -0
- package/dist/lib/ticket-steps/step-cleanup.d.ts.map +1 -0
- package/dist/lib/ticket-steps/step-cleanup.js +11 -0
- package/dist/lib/ticket-steps/step-cleanup.js.map +1 -0
- package/dist/lib/ticket-steps/step-commit.d.ts +6 -0
- package/dist/lib/ticket-steps/step-commit.d.ts.map +1 -0
- package/dist/lib/ticket-steps/step-commit.js +31 -0
- package/dist/lib/ticket-steps/step-commit.js.map +1 -0
- package/dist/lib/ticket-steps/step-pr.d.ts +6 -0
- package/dist/lib/ticket-steps/step-pr.d.ts.map +1 -0
- package/dist/lib/ticket-steps/step-pr.js +38 -0
- package/dist/lib/ticket-steps/step-pr.js.map +1 -0
- package/dist/lib/ticket-steps/step-push.d.ts +6 -0
- package/dist/lib/ticket-steps/step-push.d.ts.map +1 -0
- package/dist/lib/ticket-steps/step-push.js +35 -0
- package/dist/lib/ticket-steps/step-push.js.map +1 -0
- package/dist/lib/ticket-steps/step-qa.d.ts +6 -0
- package/dist/lib/ticket-steps/step-qa.d.ts.map +1 -0
- package/dist/lib/ticket-steps/step-qa.js +300 -0
- package/dist/lib/ticket-steps/step-qa.js.map +1 -0
- package/dist/lib/ticket-steps/step-scope.d.ts +6 -0
- package/dist/lib/ticket-steps/step-scope.d.ts.map +1 -0
- package/dist/lib/ticket-steps/step-scope.js +121 -0
- package/dist/lib/ticket-steps/step-scope.js.map +1 -0
- package/dist/lib/ticket-steps/step-spindle.d.ts +9 -0
- package/dist/lib/ticket-steps/step-spindle.d.ts.map +1 -0
- package/dist/lib/ticket-steps/step-spindle.js +160 -0
- package/dist/lib/ticket-steps/step-spindle.js.map +1 -0
- package/dist/lib/ticket-steps/step-worktree.d.ts +6 -0
- package/dist/lib/ticket-steps/step-worktree.d.ts.map +1 -0
- package/dist/lib/ticket-steps/step-worktree.js +157 -0
- package/dist/lib/ticket-steps/step-worktree.js.map +1 -0
- package/dist/lib/ticket-steps/types.d.ts +70 -0
- package/dist/lib/ticket-steps/types.d.ts.map +1 -0
- package/dist/lib/ticket-steps/types.js +8 -0
- package/dist/lib/ticket-steps/types.js.map +1 -0
- package/dist/lib/tool-command-map.d.ts +11 -0
- package/dist/lib/tool-command-map.d.ts.map +1 -0
- package/dist/lib/tool-command-map.js +24 -0
- package/dist/lib/tool-command-map.js.map +1 -0
- package/dist/lib/trajectory-generate.d.ts +24 -0
- package/dist/lib/trajectory-generate.d.ts.map +1 -0
- package/dist/lib/trajectory-generate.js +163 -0
- package/dist/lib/trajectory-generate.js.map +1 -0
- package/dist/lib/trajectory.d.ts +20 -0
- package/dist/lib/trajectory.d.ts.map +1 -0
- package/dist/lib/trajectory.js +104 -0
- package/dist/lib/trajectory.js.map +1 -0
- package/dist/lib/trigger-config.d.ts +12 -0
- package/dist/lib/trigger-config.d.ts.map +1 -0
- package/dist/lib/trigger-config.js +37 -0
- package/dist/lib/trigger-config.js.map +1 -0
- package/dist/lib/update-check.d.ts +28 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +178 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/wave-scheduling.d.ts +18 -0
- package/dist/lib/wave-scheduling.d.ts.map +1 -0
- package/dist/lib/wave-scheduling.js +29 -0
- package/dist/lib/wave-scheduling.js.map +1 -0
- package/dist/tui/app.d.ts +17 -0
- package/dist/tui/app.d.ts.map +1 -0
- package/dist/tui/app.js +139 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/index.d.ts +10 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +9 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/poller.d.ts +42 -0
- package/dist/tui/poller.d.ts.map +1 -0
- package/dist/tui/poller.js +62 -0
- package/dist/tui/poller.js.map +1 -0
- package/dist/tui/screens/auto.d.ts +85 -0
- package/dist/tui/screens/auto.d.ts.map +1 -0
- package/dist/tui/screens/auto.js +440 -0
- package/dist/tui/screens/auto.js.map +1 -0
- package/dist/tui/screens/overview.d.ts +9 -0
- package/dist/tui/screens/overview.d.ts.map +1 -0
- package/dist/tui/screens/overview.js +189 -0
- package/dist/tui/screens/overview.js.map +1 -0
- package/dist/tui/state.d.ts +93 -0
- package/dist/tui/state.d.ts.map +1 -0
- package/dist/tui/state.js +169 -0
- package/dist/tui/state.js.map +1 -0
- package/dist/tui/ticket-output-buffer.d.ts +23 -0
- package/dist/tui/ticket-output-buffer.d.ts.map +1 -0
- package/dist/tui/ticket-output-buffer.js +60 -0
- package/dist/tui/ticket-output-buffer.js.map +1 -0
- package/dist/tui/types.d.ts +18 -0
- package/dist/tui/types.d.ts.map +1 -0
- package/dist/tui/types.js +5 -0
- package/dist/tui/types.js.map +1 -0
- package/package.json +70 -0
package/README.md
ADDED
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# PromptWheel CLI
|
|
2
|
+
|
|
3
|
+
Zero-config continuous improvement tool. Works locally with any git repository.
|
|
4
|
+
|
|
5
|
+
## Quick Start (5 minutes)
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Install globally
|
|
9
|
+
npm install -g @promptwheel/cli
|
|
10
|
+
|
|
11
|
+
# Navigate to any git repo
|
|
12
|
+
cd your-project
|
|
13
|
+
|
|
14
|
+
# Check prerequisites
|
|
15
|
+
promptwheel solo doctor
|
|
16
|
+
|
|
17
|
+
# Initialize (auto-detects QA commands from package.json)
|
|
18
|
+
promptwheel solo init
|
|
19
|
+
|
|
20
|
+
# Scan for improvement opportunities
|
|
21
|
+
promptwheel solo scout .
|
|
22
|
+
|
|
23
|
+
# Approve proposals (e.g., 1-3)
|
|
24
|
+
promptwheel solo approve 1-3
|
|
25
|
+
|
|
26
|
+
# Execute a ticket with Claude
|
|
27
|
+
promptwheel solo run tkt_abc123
|
|
28
|
+
|
|
29
|
+
# Or execute and create a PR
|
|
30
|
+
promptwheel solo run tkt_abc123 --pr
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Prerequisites
|
|
34
|
+
|
|
35
|
+
Run `promptwheel solo doctor` to check all prerequisites:
|
|
36
|
+
|
|
37
|
+
| Requirement | Purpose | Install |
|
|
38
|
+
|-------------|---------|---------|
|
|
39
|
+
| Node.js 18+ | Runtime | [nodejs.org](https://nodejs.org/) |
|
|
40
|
+
| Git | Version control | [git-scm.com](https://git-scm.com/) |
|
|
41
|
+
| Claude CLI | Execute tickets | [claude.ai/code](https://claude.ai/code) |
|
|
42
|
+
| GitHub CLI | Create PRs (optional) | [cli.github.com](https://cli.github.com/) |
|
|
43
|
+
|
|
44
|
+
## Commands
|
|
45
|
+
|
|
46
|
+
### `solo init`
|
|
47
|
+
Initialize PromptWheel in your repository. Creates `.promptwheel/` directory with:
|
|
48
|
+
- `config.json` - Configuration (auto-detects QA commands)
|
|
49
|
+
- `state.sqlite` - Local database
|
|
50
|
+
|
|
51
|
+
### `solo scout [path]`
|
|
52
|
+
Scan codebase for improvement opportunities:
|
|
53
|
+
- Code quality issues
|
|
54
|
+
- Security vulnerabilities
|
|
55
|
+
- Performance optimizations
|
|
56
|
+
- Test coverage gaps
|
|
57
|
+
|
|
58
|
+
### `solo approve <selection>`
|
|
59
|
+
Convert proposals to tickets. Examples:
|
|
60
|
+
- `promptwheel solo approve 1` - Approve proposal #1
|
|
61
|
+
- `promptwheel solo approve 1-3` - Approve proposals 1, 2, and 3
|
|
62
|
+
- `promptwheel solo approve all` - Approve all proposals
|
|
63
|
+
|
|
64
|
+
### `solo run <ticketId>`
|
|
65
|
+
Execute a ticket using Claude Code CLI:
|
|
66
|
+
- Creates a branch for changes
|
|
67
|
+
- Runs QA commands (if configured)
|
|
68
|
+
- Commits changes
|
|
69
|
+
- `--pr` flag creates a GitHub PR
|
|
70
|
+
|
|
71
|
+
### `solo status`
|
|
72
|
+
Show current state:
|
|
73
|
+
- Active tickets
|
|
74
|
+
- Recent runs
|
|
75
|
+
- QA results
|
|
76
|
+
|
|
77
|
+
### `solo doctor`
|
|
78
|
+
Check prerequisites and environment health:
|
|
79
|
+
- Git installation
|
|
80
|
+
- Claude CLI installation and auth
|
|
81
|
+
- GitHub CLI installation and auth
|
|
82
|
+
- Node.js version
|
|
83
|
+
- SQLite native module
|
|
84
|
+
- Directory permissions
|
|
85
|
+
|
|
86
|
+
### `solo nudge [text...]`
|
|
87
|
+
Steer a running auto session with live hints:
|
|
88
|
+
- `promptwheel solo nudge "focus on auth"` — Add a hint
|
|
89
|
+
- `promptwheel solo nudge --list` — Show pending hints
|
|
90
|
+
- `promptwheel solo nudge --clear` — Clear all hints
|
|
91
|
+
|
|
92
|
+
Hints are consumed in the next scout cycle. In continuous mode, you can also type hints directly into stdin.
|
|
93
|
+
|
|
94
|
+
### `solo qa`
|
|
95
|
+
Run QA commands manually:
|
|
96
|
+
- Uses commands from `.promptwheel/config.json`
|
|
97
|
+
- Records results in database
|
|
98
|
+
|
|
99
|
+
## Configuration
|
|
100
|
+
|
|
101
|
+
Configuration lives in `.promptwheel/config.json`:
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"version": 1,
|
|
106
|
+
"qa": {
|
|
107
|
+
"commands": [
|
|
108
|
+
{ "name": "typecheck", "cmd": "npm run typecheck" },
|
|
109
|
+
{ "name": "lint", "cmd": "npm run lint" },
|
|
110
|
+
{ "name": "test", "cmd": "npm test" }
|
|
111
|
+
],
|
|
112
|
+
"retry": {
|
|
113
|
+
"enabled": true,
|
|
114
|
+
"maxAttempts": 3
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"spindle": {
|
|
118
|
+
"enabled": true,
|
|
119
|
+
"maxStallIterations": 5,
|
|
120
|
+
"tokenBudgetAbort": 140000
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### QA Commands
|
|
126
|
+
Auto-detected from `package.json` during `solo init`:
|
|
127
|
+
- `typecheck` / `type-check` - TypeScript checking
|
|
128
|
+
- `lint` - Linting
|
|
129
|
+
- `test` - Testing
|
|
130
|
+
- `build` - Build verification
|
|
131
|
+
|
|
132
|
+
### Project Guidelines Context
|
|
133
|
+
|
|
134
|
+
PromptWheel automatically loads your project guidelines and injects them into every scout and execution prompt so agents respect your conventions.
|
|
135
|
+
|
|
136
|
+
**File selection by backend:**
|
|
137
|
+
|
|
138
|
+
| Backend | Primary | Fallback |
|
|
139
|
+
|---------|---------|----------|
|
|
140
|
+
| Claude | `CLAUDE.md` | `AGENTS.md` |
|
|
141
|
+
| Codex | `AGENTS.md` | `CLAUDE.md` |
|
|
142
|
+
|
|
143
|
+
**Behavior:**
|
|
144
|
+
|
|
145
|
+
- **Auto-create:** If no guidelines file exists, a baseline is generated from your `package.json` (project name, TypeScript detection, test/lint/build commands, monorepo detection)
|
|
146
|
+
- **Truncation:** Content longer than 4000 characters is truncated with a `[truncated]` marker
|
|
147
|
+
- **Refresh:** During long runs, re-reads every N cycles (default 10, configurable)
|
|
148
|
+
- **Format:** Wrapped in `<project-guidelines>` XML tags in the prompt
|
|
149
|
+
|
|
150
|
+
Configure in `.promptwheel/config.json`:
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"auto": {
|
|
155
|
+
"guidelinesRefreshCycles": 10,
|
|
156
|
+
"autoCreateGuidelines": true,
|
|
157
|
+
"guidelinesPath": null
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
| Setting | Default | Description |
|
|
163
|
+
|---------|---------|-------------|
|
|
164
|
+
| `guidelinesRefreshCycles` | `10` | Re-read every N cycles (0 = disabled, still loaded once at start) |
|
|
165
|
+
| `autoCreateGuidelines` | `true` | Auto-create baseline file from `package.json` if none exists |
|
|
166
|
+
| `guidelinesPath` | `null` | Custom path relative to repo root (e.g. `"docs/CONVENTIONS.md"`). Set to `false` to disable guidelines entirely. `null` = default search. |
|
|
167
|
+
|
|
168
|
+
### Spindle Loop Detection
|
|
169
|
+
Prevents runaway agent execution:
|
|
170
|
+
- **Oscillation**: Detects add→remove→add patterns
|
|
171
|
+
- **Stalling**: Stops after N iterations without changes
|
|
172
|
+
- **Repetition**: Catches repeated output patterns
|
|
173
|
+
- **Token Budget**: Enforces context limits
|
|
174
|
+
|
|
175
|
+
## Push Safety
|
|
176
|
+
|
|
177
|
+
PromptWheel records your `origin` remote URL when you run `solo init`.
|
|
178
|
+
Every push and PR creation validates the current origin still matches.
|
|
179
|
+
SSH and HTTPS URLs for the same repo are treated as equivalent.
|
|
180
|
+
|
|
181
|
+
If your origin changes (e.g., you switch from HTTPS to SSH), re-initialize:
|
|
182
|
+
|
|
183
|
+
promptwheel solo init --force
|
|
184
|
+
|
|
185
|
+
Or edit `.promptwheel/config.json` directly:
|
|
186
|
+
|
|
187
|
+
{ "allowedRemote": "git@github.com:you/your-repo.git" }
|
|
188
|
+
|
|
189
|
+
## Exit Codes
|
|
190
|
+
|
|
191
|
+
| Code | Meaning |
|
|
192
|
+
|------|---------|
|
|
193
|
+
| 0 | Success |
|
|
194
|
+
| 1 | General failure |
|
|
195
|
+
| 2 | Spindle abort (agent loop detected) |
|
|
196
|
+
| 130 | Cancelled (Ctrl+C) |
|
|
197
|
+
|
|
198
|
+
## Artifacts
|
|
199
|
+
|
|
200
|
+
Run artifacts are stored in `.promptwheel/artifacts/`:
|
|
201
|
+
- `runs/` - Run summaries
|
|
202
|
+
- `executions/` - Agent output logs
|
|
203
|
+
- `diffs/` - Git diff snapshots
|
|
204
|
+
- `violations/` - Scope violation details
|
|
205
|
+
- `spindle/` - Spindle abort diagnostics
|
|
206
|
+
|
|
207
|
+
View artifacts with:
|
|
208
|
+
```bash
|
|
209
|
+
promptwheel solo artifacts
|
|
210
|
+
promptwheel solo artifacts --type runs
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## License
|
|
214
|
+
|
|
215
|
+
Apache-2.0
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* PromptWheel CLI entry point
|
|
4
|
+
*
|
|
5
|
+
* `promptwheel` with no subcommand runs auto mode.
|
|
6
|
+
* All solo subcommands are available at the top level:
|
|
7
|
+
*
|
|
8
|
+
* promptwheel # auto mode (scout → fix → PR)
|
|
9
|
+
* promptwheel --codex # Full Codex (no Anthropic key)
|
|
10
|
+
* promptwheel ci # Fix CI failures
|
|
11
|
+
* promptwheel scout . # Scan for improvements
|
|
12
|
+
* promptwheel status # Show local state
|
|
13
|
+
* promptwheel update # Self-update to latest version
|
|
14
|
+
* promptwheel solo auto # Explicit (backwards compat)
|
|
15
|
+
*/
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=promptwheel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptwheel.d.ts","sourceRoot":"","sources":["../../src/bin/promptwheel.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* PromptWheel CLI entry point
|
|
4
|
+
*
|
|
5
|
+
* `promptwheel` with no subcommand runs auto mode.
|
|
6
|
+
* All solo subcommands are available at the top level:
|
|
7
|
+
*
|
|
8
|
+
* promptwheel # auto mode (scout → fix → PR)
|
|
9
|
+
* promptwheel --codex # Full Codex (no Anthropic key)
|
|
10
|
+
* promptwheel ci # Fix CI failures
|
|
11
|
+
* promptwheel scout . # Scan for improvements
|
|
12
|
+
* promptwheel status # Show local state
|
|
13
|
+
* promptwheel update # Self-update to latest version
|
|
14
|
+
* promptwheel solo auto # Explicit (backwards compat)
|
|
15
|
+
*/
|
|
16
|
+
import { Command } from 'commander';
|
|
17
|
+
import { soloCommand } from '../commands/solo.js';
|
|
18
|
+
import { checkForUpdateInBackground, printUpdateNotification, runSelfUpdate, } from '../lib/update-check.js';
|
|
19
|
+
const CURRENT_VERSION = '0.6.0';
|
|
20
|
+
const program = new Command();
|
|
21
|
+
program
|
|
22
|
+
.name('promptwheel')
|
|
23
|
+
.description('Continuous codebase improvement tool')
|
|
24
|
+
.version(CURRENT_VERSION);
|
|
25
|
+
// `promptwheel update` — self-update command
|
|
26
|
+
program
|
|
27
|
+
.command('update')
|
|
28
|
+
.description('Update promptwheel to the latest version')
|
|
29
|
+
.action(async () => {
|
|
30
|
+
const success = await runSelfUpdate();
|
|
31
|
+
process.exit(success ? 0 : 1);
|
|
32
|
+
});
|
|
33
|
+
// `promptwheel solo <cmd>` — backwards compat
|
|
34
|
+
program.addCommand(soloCommand);
|
|
35
|
+
// Detect if argv[2] is a known solo subcommand name — if so, lift it.
|
|
36
|
+
// Otherwise, treat everything as flags for `auto`.
|
|
37
|
+
const knownSubs = new Set(soloCommand.commands.flatMap(c => [c.name(), ...c.aliases()]));
|
|
38
|
+
const firstArg = process.argv[2];
|
|
39
|
+
const isSubcommand = firstArg && knownSubs.has(firstArg) && firstArg !== 'solo';
|
|
40
|
+
// Skip update check in CI or when explicitly disabled
|
|
41
|
+
const skipUpdateCheck = process.env.CI === 'true' ||
|
|
42
|
+
process.env.PROMPTWHEEL_SKIP_UPDATE_CHECK === '1' ||
|
|
43
|
+
process.argv.includes('--skip-update-check');
|
|
44
|
+
// Check for updates in background (non-blocking)
|
|
45
|
+
const updateCheck = (!skipUpdateCheck && firstArg !== 'update' && firstArg !== '--version' && firstArg !== '-V')
|
|
46
|
+
? checkForUpdateInBackground(CURRENT_VERSION)
|
|
47
|
+
: Promise.resolve(null);
|
|
48
|
+
async function main() {
|
|
49
|
+
if (isSubcommand) {
|
|
50
|
+
// `promptwheel scout .` → delegate to `solo scout .`
|
|
51
|
+
// Insert 'solo' so Commander routes correctly
|
|
52
|
+
process.argv.splice(2, 0, 'solo');
|
|
53
|
+
await program.parseAsync();
|
|
54
|
+
}
|
|
55
|
+
else if (firstArg === 'update') {
|
|
56
|
+
// Explicit update command
|
|
57
|
+
await program.parseAsync();
|
|
58
|
+
}
|
|
59
|
+
else if (firstArg === 'solo' || firstArg === '--help' || firstArg === '-h' || firstArg === '--version' || firstArg === '-V') {
|
|
60
|
+
// Explicit `promptwheel solo ...` or help/version
|
|
61
|
+
await program.parseAsync();
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// `promptwheel [flags...]` → `solo auto [flags...]`
|
|
65
|
+
// Insert 'solo auto' before the flags
|
|
66
|
+
process.argv.splice(2, 0, 'solo', 'auto');
|
|
67
|
+
await program.parseAsync();
|
|
68
|
+
}
|
|
69
|
+
// Show update notification after command completes (if available)
|
|
70
|
+
const latestVersion = await updateCheck;
|
|
71
|
+
if (latestVersion) {
|
|
72
|
+
printUpdateNotification(CURRENT_VERSION, latestVersion);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
main().catch((err) => {
|
|
76
|
+
if (err instanceof Error) {
|
|
77
|
+
// User-friendly error: message only, no stack trace
|
|
78
|
+
const prefix = '\x1b[31m✗\x1b[0m';
|
|
79
|
+
console.error(`${prefix} ${err.message}`);
|
|
80
|
+
// Show stack in verbose/debug mode
|
|
81
|
+
if (process.env.DEBUG || process.argv.includes('--verbose') || process.argv.includes('-v')) {
|
|
82
|
+
console.error(err.stack);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
console.error(err);
|
|
87
|
+
}
|
|
88
|
+
process.exit(1);
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=promptwheel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptwheel.js","sourceRoot":"","sources":["../../src/bin/promptwheel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider shorthand expansion, auth validation, and model selection for solo auto.
|
|
3
|
+
*/
|
|
4
|
+
export interface AuthOptions {
|
|
5
|
+
codex?: boolean;
|
|
6
|
+
claude?: boolean;
|
|
7
|
+
kimi?: boolean;
|
|
8
|
+
local?: boolean;
|
|
9
|
+
localModel?: string;
|
|
10
|
+
localUrl?: string;
|
|
11
|
+
scoutBackend?: string;
|
|
12
|
+
executeBackend?: string;
|
|
13
|
+
codexModel?: string;
|
|
14
|
+
kimiModel?: string;
|
|
15
|
+
codexUnsafeFullAccess?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Expand provider shorthands (--codex, --kimi, --local) and validate auth.
|
|
19
|
+
* Auto-detects backend from environment if no flags given.
|
|
20
|
+
* Returns resolved scout/execute backend names.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveBackends(options: AuthOptions): Promise<{
|
|
23
|
+
scoutBackendName: string;
|
|
24
|
+
executeBackendName: string;
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=auto-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-auth.d.ts","sourceRoot":"","sources":["../../src/commands/auto-auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IACnE,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC,CA8ID"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider shorthand expansion, auth validation, and model selection for solo auto.
|
|
3
|
+
*/
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { createGitService } from '../lib/git.js';
|
|
6
|
+
import { loadConfig, saveConfig } from '../lib/solo-config.js';
|
|
7
|
+
/**
|
|
8
|
+
* Expand provider shorthands (--codex, --kimi, --local) and validate auth.
|
|
9
|
+
* Auto-detects backend from environment if no flags given.
|
|
10
|
+
* Returns resolved scout/execute backend names.
|
|
11
|
+
*/
|
|
12
|
+
export async function resolveBackends(options) {
|
|
13
|
+
const { isValidProvider, getProviderNames, getProvider } = await import('../lib/providers/index.js');
|
|
14
|
+
// Expand shorthands
|
|
15
|
+
const shorthands = [options.codex && 'codex', options.claude && 'claude', options.kimi && 'kimi', options.local && 'local'].filter(Boolean);
|
|
16
|
+
if (shorthands.length > 1) {
|
|
17
|
+
console.error(chalk.red(`✗ Cannot combine ${shorthands.map(s => `--${s}`).join(' and ')}`));
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
// Auto-detect backend from environment if no explicit choice
|
|
21
|
+
// Default: Codex. Use --claude to opt into Claude.
|
|
22
|
+
if (!options.codex && !options.claude && !options.kimi && !options.local && !options.scoutBackend && !options.executeBackend) {
|
|
23
|
+
options.codex = true;
|
|
24
|
+
}
|
|
25
|
+
if (options.codex) {
|
|
26
|
+
options.scoutBackend = options.scoutBackend ?? 'codex';
|
|
27
|
+
options.executeBackend = options.executeBackend ?? 'codex';
|
|
28
|
+
}
|
|
29
|
+
if (options.kimi) {
|
|
30
|
+
options.scoutBackend = options.scoutBackend ?? 'kimi';
|
|
31
|
+
options.executeBackend = options.executeBackend ?? 'kimi';
|
|
32
|
+
}
|
|
33
|
+
if (options.local) {
|
|
34
|
+
if (!options.localModel) {
|
|
35
|
+
console.error(chalk.red('✗ --local-model is required when using --local'));
|
|
36
|
+
console.error(chalk.gray(' Example: promptwheel --local --local-model kimi-k2.5'));
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
options.scoutBackend = options.scoutBackend ?? 'openai-local';
|
|
40
|
+
options.executeBackend = options.executeBackend ?? 'openai-local';
|
|
41
|
+
console.log(chalk.yellow('⚠ Local provider has no sandbox — worktree isolation + QA gating provides safety'));
|
|
42
|
+
}
|
|
43
|
+
const scoutBackendName = options.scoutBackend ?? 'claude';
|
|
44
|
+
const executeBackendName = options.executeBackend ?? 'claude';
|
|
45
|
+
// Validate backend names
|
|
46
|
+
for (const [flag, value] of [['--scout-backend', scoutBackendName], ['--execute-backend', executeBackendName]]) {
|
|
47
|
+
if (!isValidProvider(value)) {
|
|
48
|
+
console.error(chalk.red(`✗ Invalid ${flag}: ${value}`));
|
|
49
|
+
console.error(chalk.gray(` Valid values: ${getProviderNames().join(', ')}`));
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const needsClaude = scoutBackendName === 'claude' || executeBackendName === 'claude';
|
|
54
|
+
const needsCodex = scoutBackendName === 'codex' || executeBackendName === 'codex';
|
|
55
|
+
const needsKimi = scoutBackendName === 'kimi' || executeBackendName === 'kimi';
|
|
56
|
+
const insideClaudeCode = process.env.CLAUDECODE === '1';
|
|
57
|
+
// Detect running inside Claude Code session
|
|
58
|
+
if (insideClaudeCode) {
|
|
59
|
+
if (needsClaude) {
|
|
60
|
+
console.error(chalk.red('✗ Cannot run Claude backend inside Claude Code'));
|
|
61
|
+
console.error();
|
|
62
|
+
console.error(chalk.gray(' The CLI spawns Claude as subprocesses (requires ANTHROPIC_API_KEY).'));
|
|
63
|
+
console.error(chalk.gray(' Inside Claude Code, use the plugin instead:'));
|
|
64
|
+
console.error();
|
|
65
|
+
console.error(chalk.white(' /promptwheel:run'));
|
|
66
|
+
console.error();
|
|
67
|
+
console.error(chalk.gray(' Or run from a regular terminal:'));
|
|
68
|
+
console.error();
|
|
69
|
+
console.error(chalk.white(' promptwheel # Claude (needs ANTHROPIC_API_KEY)'));
|
|
70
|
+
console.error(chalk.white(' promptwheel --codex # Codex (needs OPENAI_API_KEY)'));
|
|
71
|
+
console.error();
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
console.log(chalk.yellow('⚠ Running inside Claude Code session'));
|
|
76
|
+
console.log(chalk.yellow(' This works, but you\'re paying for an idle Claude Code session.'));
|
|
77
|
+
console.log(chalk.yellow(' Consider running from a regular terminal instead:'));
|
|
78
|
+
console.log(chalk.white(' promptwheel --codex'));
|
|
79
|
+
console.log();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Auth: Claude lane
|
|
83
|
+
if (needsClaude && !process.env.ANTHROPIC_API_KEY) {
|
|
84
|
+
console.error(chalk.red('✗ ANTHROPIC_API_KEY not set'));
|
|
85
|
+
console.error(chalk.gray(' Required for Claude backend. Set the env var, or use:'));
|
|
86
|
+
console.error(chalk.gray(' promptwheel --codex (uses OPENAI_API_KEY or codex login)'));
|
|
87
|
+
console.error(chalk.gray(' /promptwheel:run (inside Claude Code, uses subscription)'));
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
// Auth: Codex lane
|
|
91
|
+
if (needsCodex) {
|
|
92
|
+
if (!process.env.OPENAI_API_KEY) {
|
|
93
|
+
const { spawnSync } = await import('node:child_process');
|
|
94
|
+
const loginCheck = spawnSync('codex', ['login', 'status'], { encoding: 'utf-8', timeout: 10000 });
|
|
95
|
+
if (loginCheck.status !== 0) {
|
|
96
|
+
console.error(chalk.red('✗ Codex not authenticated'));
|
|
97
|
+
console.error(chalk.gray(' Set OPENAI_API_KEY or run: codex login'));
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Auth: Kimi lane
|
|
103
|
+
if (needsKimi) {
|
|
104
|
+
if (!process.env.MOONSHOT_API_KEY) {
|
|
105
|
+
console.log(chalk.yellow('⚠ MOONSHOT_API_KEY not set — using kimi CLI stored credentials'));
|
|
106
|
+
console.log(chalk.gray(' If auth fails, set MOONSHOT_API_KEY or run: kimi → /login'));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// Model selection for Kimi
|
|
110
|
+
if (needsKimi && !options.kimiModel) {
|
|
111
|
+
options.kimiModel = 'kimi-k2.5';
|
|
112
|
+
}
|
|
113
|
+
// Model selection for Codex
|
|
114
|
+
if (needsCodex) {
|
|
115
|
+
await resolveCodexModel(options);
|
|
116
|
+
}
|
|
117
|
+
// Print auth summary
|
|
118
|
+
const describeAuth = (backendName) => {
|
|
119
|
+
const prov = getProvider(backendName);
|
|
120
|
+
if (prov.apiKeyEnvVar && process.env[prov.apiKeyEnvVar])
|
|
121
|
+
return `${prov.apiKeyEnvVar} (env)`;
|
|
122
|
+
if (prov.altAuth)
|
|
123
|
+
return prov.altAuth;
|
|
124
|
+
return prov.apiKeyEnvVar ? `${prov.apiKeyEnvVar} (env)` : 'none';
|
|
125
|
+
};
|
|
126
|
+
if (scoutBackendName === executeBackendName) {
|
|
127
|
+
console.log(chalk.gray(`Auth: ${describeAuth(scoutBackendName)}`));
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
console.log(chalk.gray(`Auth (scout): ${describeAuth(scoutBackendName)}`));
|
|
131
|
+
console.log(chalk.gray(`Auth (execute): ${describeAuth(executeBackendName)}`));
|
|
132
|
+
}
|
|
133
|
+
// Warn about unsafe flag
|
|
134
|
+
if (options.codexUnsafeFullAccess) {
|
|
135
|
+
if (executeBackendName !== 'codex') {
|
|
136
|
+
console.error(chalk.red('✗ --codex-unsafe-full-access only applies with --execute-backend codex'));
|
|
137
|
+
process.exit(1);
|
|
138
|
+
}
|
|
139
|
+
console.log(chalk.yellow('⚠ --codex-unsafe-full-access: sandbox disabled for Codex execution'));
|
|
140
|
+
console.log(chalk.yellow(' Only use this inside an externally hardened/isolated runner'));
|
|
141
|
+
}
|
|
142
|
+
return { scoutBackendName, executeBackendName };
|
|
143
|
+
}
|
|
144
|
+
async function resolveCodexModel(options) {
|
|
145
|
+
const hasApiKey = !!process.env.OPENAI_API_KEY;
|
|
146
|
+
const CODEX_MODELS = [
|
|
147
|
+
{ key: '1', name: 'gpt-5.3-codex', desc: 'Latest — strongest coding + reasoning (default)' },
|
|
148
|
+
{ key: '2', name: 'gpt-5.2-codex', desc: 'Previous generation' },
|
|
149
|
+
{ key: '3', name: 'gpt-5.1-codex-max', desc: 'Extended agentic tasks' },
|
|
150
|
+
...(hasApiKey ? [
|
|
151
|
+
{ key: '4', name: 'gpt-5.2-codex-high', desc: 'High reasoning (API key only)' },
|
|
152
|
+
{ key: '5', name: 'gpt-5.2-codex-xhigh', desc: 'Max reasoning (API key only)' },
|
|
153
|
+
{ key: '6', name: 'gpt-5.1-codex-mini', desc: 'Fast, cost-effective (API key only)' },
|
|
154
|
+
{ key: '7', name: 'gpt-5.2', desc: 'General-purpose (API key only)' },
|
|
155
|
+
{ key: '8', name: 'gpt-5.2-high', desc: 'General-purpose, high reasoning (API key only)' },
|
|
156
|
+
{ key: '9', name: 'gpt-5.2-xhigh', desc: 'General-purpose, max reasoning (API key only)' },
|
|
157
|
+
] : []),
|
|
158
|
+
];
|
|
159
|
+
const LOGIN_SAFE_MODELS = ['gpt-5.3-codex', 'gpt-5.2-codex', 'gpt-5.1-codex-max'];
|
|
160
|
+
const ALL_MODEL_NAMES = CODEX_MODELS.map(m => m.name);
|
|
161
|
+
if (options.codexModel) {
|
|
162
|
+
// Explicit model — validate
|
|
163
|
+
if (!hasApiKey && !LOGIN_SAFE_MODELS.includes(options.codexModel)) {
|
|
164
|
+
console.log(chalk.yellow(`\nModel "${options.codexModel}" requires OPENAI_API_KEY (not available with codex login).`));
|
|
165
|
+
console.log(chalk.yellow(`Available models: ${LOGIN_SAFE_MODELS.join(', ')}`));
|
|
166
|
+
console.log(chalk.yellow('Set OPENAI_API_KEY or choose a compatible model.\n'));
|
|
167
|
+
process.exit(1);
|
|
168
|
+
}
|
|
169
|
+
const earlyGit = createGitService();
|
|
170
|
+
const earlyRoot = await earlyGit.findRepoRoot(process.cwd());
|
|
171
|
+
if (earlyRoot) {
|
|
172
|
+
saveConfig(earlyRoot, { codexModel: options.codexModel });
|
|
173
|
+
}
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
// Check for saved model in config
|
|
177
|
+
const earlyGit = createGitService();
|
|
178
|
+
const earlyRoot = await earlyGit.findRepoRoot(process.cwd());
|
|
179
|
+
const savedConfig = earlyRoot ? loadConfig(earlyRoot) : null;
|
|
180
|
+
const savedModel = savedConfig?.codexModel;
|
|
181
|
+
if (savedModel && ALL_MODEL_NAMES.includes(savedModel)) {
|
|
182
|
+
if (!hasApiKey && !LOGIN_SAFE_MODELS.includes(savedModel)) {
|
|
183
|
+
console.log(chalk.yellow(`\nSaved model "${savedModel}" requires OPENAI_API_KEY.`));
|
|
184
|
+
console.log(chalk.yellow('Please select a compatible model:\n'));
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
options.codexModel = savedModel;
|
|
188
|
+
console.log(chalk.gray(`\nModel: ${options.codexModel} (saved)`));
|
|
189
|
+
console.log(chalk.gray(' Change with: promptwheel --codex --codex-model <name>'));
|
|
190
|
+
console.log();
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
else if (savedModel) {
|
|
195
|
+
console.log(chalk.yellow(`\nSaved model "${savedModel}" is no longer available.`));
|
|
196
|
+
console.log(chalk.yellow('Please select a model:\n'));
|
|
197
|
+
}
|
|
198
|
+
// Interactive model picker
|
|
199
|
+
console.log(chalk.white('\nSelect Codex model:'));
|
|
200
|
+
for (const m of CODEX_MODELS) {
|
|
201
|
+
console.log(chalk.gray(` ${m.key}) ${m.name} — ${m.desc}`));
|
|
202
|
+
}
|
|
203
|
+
const readline = await import('readline');
|
|
204
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
205
|
+
const answer = await new Promise((resolve) => {
|
|
206
|
+
rl.question(chalk.white('Choice [1]: '), (a) => { rl.close(); resolve(a.trim() || '1'); });
|
|
207
|
+
});
|
|
208
|
+
const picked = CODEX_MODELS.find(m => m.key === answer || m.name === answer);
|
|
209
|
+
options.codexModel = picked?.name ?? answer;
|
|
210
|
+
console.log(chalk.gray(`Model: ${options.codexModel}`));
|
|
211
|
+
console.log();
|
|
212
|
+
if (earlyRoot) {
|
|
213
|
+
saveConfig(earlyRoot, { codexModel: options.codexModel });
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=auto-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-auth.js","sourceRoot":"","sources":["../../src/commands/auto-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-ci-mode.d.ts","sourceRoot":"","sources":["../../src/commands/auto-ci-mode.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4LhB"}
|