Documentation
¶
Overview ¶
atdd_commands.go wires the `gh optivem atdd …` subcommands into the root Cobra command. Two public commands mirror today's slash commands:
gh optivem atdd implement-ticket --issue N gh optivem atdd manage-project
A hidden `debug` parent groups the diagnostic helpers — pick-top-ready, classify, next-phase, gate, release — so each underlying runtime package can be exercised standalone without rerunning the whole pipeline. The hidden flag (Cobra's `Hidden: true`) keeps these out of the default help text; `gh optivem atdd debug --help` still works for anyone who knows they exist.
The handlers are deliberately thin: they translate Cobra flags into internal/atdd/runtime/* calls and surface their errors via exitOnError (defined in runner_commands.go) for consistency with the rest of the `optivem` binary.
atdd_init.go provides the thin wrapper that lets `runInit`'s buildSteps call `atdd.Install` as a phase step. There is no standalone `gh optivem atdd install` subcommand — ATDD assets are installed only as part of `gh optivem init`. To refresh ATDD assets in an existing repo, re-run `gh optivem init` (or copy the assets from a fresh shop checkout by hand).
gh-optivem: A gh CLI extension for pipeline project management.
Usage:
Monolith:
gh optivem init --owner acme --system-name "Page Turner" --repo page-turner \
--arch monolith --monolith-lang java
Multitier:
gh optivem init --owner acme --system-name "Page Turner" --repo page-turner \
--arch multitier --backend-lang java --frontend-lang react
Dry run:
gh optivem init ... --dry-run
runner_commands.go wires the `build system`, `run system`, `test system`, `stop system`, and `clean system` subcommands into the root Cobra command. The runner package is fully agnostic — these handlers just translate Cobra flags into runner.* calls.
Working-dir contract: each command operates against the user's current working directory. JSON config paths default to ./system.json and ./tests.json; both can be overridden with --system / --tests.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
atdd
Package atdd installs ATDD (Acceptance-Test-Driven Development) Claude assets — agents, commands, and prompt docs — from a shop checkout into a scaffolded project.
|
Package atdd installs ATDD (Acceptance-Test-Driven Development) Claude assets — agents, commands, and prompt docs — from a shop checkout into a scaffolded project. |
|
atdd/runtime/actions
Bindings — Go implementations of every service-task `action:` referenced in docs/atdd/process/process-flow.yaml.
|
Bindings — Go implementations of every service-task `action:` referenced in docs/atdd/process/process-flow.yaml. |
|
atdd/runtime/agents
Package agents holds the user-task agent-dispatch registry.
|
Package agents holds the user-task agent-dispatch registry. |
|
atdd/runtime/board
Package board owns the GitHub Project board interactions for the ATDD pipeline driver.
|
Package board owns the GitHub Project board interactions for the ATDD pipeline driver. |
|
atdd/runtime/classify
Package classify is the fast-path ticket classifier for the ATDD pipeline driver.
|
Package classify is the fast-path ticket classifier for the ATDD pipeline driver. |
|
atdd/runtime/clauderun
Package clauderun shells out to the `claude` CLI to dispatch a named ATDD agent for the current phase, replacing v1's "pause and let the operator launch the agent in a second window" workflow.
|
Package clauderun shells out to the `claude` CLI to dispatch a named ATDD agent for the current phase, replacing v1's "pause and let the operator launch the agent in a second window" workflow. |
|
atdd/runtime/config
Package config loads the consumer repo's ATDD configuration file at docs/atdd/config.yaml.
|
Package config loads the consumer repo's ATDD configuration file at docs/atdd/config.yaml. |
|
atdd/runtime/diagram
Package diagram renders the canonical Mermaid markdown for the ATDD process flow.
|
Package diagram renders the canonical Mermaid markdown for the ATDD process flow. |
|
atdd/runtime/driver
Package driver wires together the ATDD pipeline runtime: it loads the process-flow YAML, registers gates / actions / agents, applies override and verify decorators, and walks the named flow end to end.
|
Package driver wires together the ATDD pipeline runtime: it loads the process-flow YAML, registers gates / actions / agents, applies override and verify decorators, and walks the named flow end to end. |
|
atdd/runtime/gates
Bindings — Go implementations of every gateway `binding:` referenced in docs/atdd/process/process-flow.yaml.
|
Bindings — Go implementations of every gateway `binding:` referenced in docs/atdd/process/process-flow.yaml. |
|
atdd/runtime/override
Package override implements the per-step override-hook decorator.
|
Package override implements the per-step override-hook decorator. |
|
atdd/runtime/release
Package release owns the end-of-cycle release mechanics for the ATDD pipeline driver: regex-remove `@Disabled`-style markers from in-scope test files, commit, and close the GitHub issue.
|
Package release owns the end-of-cycle release mechanics for the ATDD pipeline driver: regex-remove `@Disabled`-style markers from in-scope test files, commit, and close the GitHub issue. |
|
atdd/runtime/statemachine
Embed binds the canonical process-flow document into the statemachine package binary.
|
Embed binds the canonical process-flow document into the statemachine package binary. |
|
atdd/runtime/verify
Bindings — per-node pre/post-condition checks.
|
Bindings — per-node pre/post-condition checks. |
|
config
Package config provides CLI parsing, validation, and the Config struct.
|
Package config provides CLI parsing, validation, and the Config struct. |
|
files
Package files provides file manipulation helpers: replace, rename, walk.
|
Package files provides file manipulation helpers: replace, rename, walk. |
|
log
Package log provides colored logging helpers.
|
Package log provides colored logging helpers. |
|
pathx
Package pathx contains small cross-platform path helpers shared across packages that exec subprocesses.
|
Package pathx contains small cross-platform path helpers shared across packages that exec subprocesses. |
|
runner
Package runner orchestrates docker-compose-backed system tests using two JSON config files: a system.json (compose + health probes) and a tests.json (setup commands + suites).
|
Package runner orchestrates docker-compose-backed system tests using two JSON config files: a system.json (compose + health probes) and a tests.json (setup commands + suites). |
|
shell
Package shell provides GitHub CLI wrapper and subprocess helpers.
|
Package shell provides GitHub CLI wrapper and subprocess helpers. |
|
spinner
Package spinner shows an animated liveness indicator for long-running waits where the duration is unknown.
|
Package spinner shows an animated liveness indicator for long-running waits where the duration is unknown. |
|
steps
Package steps implements the scaffold pipeline steps.
|
Package steps implements the scaffold pipeline steps. |
|
templates
Package templates provides template helpers: copy workflows, fixups.
|
Package templates provides template helpers: copy workflows, fixups. |
|
version
Package version provides build-time version information.
|
Package version provides build-time version information. |