Documentation
¶
Overview ¶
Package superpowers implements Pando's opt-in disciplined development workflow: a per-session policy that forces long or risky work through an explicit lifecycle (clarify/design -> approved plan -> test-first implementation -> verification/review -> explicit finish) before any code is changed.
It is inspired by the workflow principles of the Superpowers plugin by Jesse Vincent (https://github.com/obra/superpowers, MIT licensed), but it is a Pando-owned policy rather than a vendored copy: there is no plugin runtime, no telemetry, no automatic worktrees or subagents, and no destructive git operation. The policy is delivered through the agent's existing per-turn skill injection (see internal/llm/agent.prepareProvider), so it works uniformly across the TUI, Web UI and ACP surfaces, and it composes with user/project skills and with ponytail.
The mode is enabled with /superpowers and disabled with /superpowers-finish. State is session-scoped, ephemeral (process-bounded) and safe for concurrent sessions.
Index ¶
Constants ¶
const AlreadyActiveMessage = "Superpowers mode is already active. It stays on until /superpowers-finish."
AlreadyActiveMessage is the idempotent response to re-invoking /superpowers.
const NotActiveMessage = "Superpowers mode is not active. Nothing to finish — you are already in normal mode."
NotActiveMessage is the response to /superpowers-finish outside the mode.
Variables ¶
This section is empty.
Functions ¶
func ActivationMessage ¶
ActivationMessage is the confirmation shown when the mode is switched on. The objective, when given, is echoed back but not persisted: it only frames the confirmation.
func FinishPrompt ¶
func FinishPrompt() string
FinishPrompt returns the prompt for the closing turn run by /superpowers-finish. It is a normal agent turn: it verifies and reports, and deliberately performs no git side effect (no commit, merge, push, PR, branch or worktree operation) — those stay user-directed.
func Instructions ¶
func Instructions() string
Instructions returns the lifecycle policy injected into the system prompt on every turn of an enabled session.
func SetEnabled ¶
SetEnabled enables or disables Superpowers mode for a session. It is safe for concurrent use and is the single mutation point used by every surface that exposes the /superpowers commands (ACP, Web UI, TUI).