Documentation
¶
Overview ¶
Command atago is a YAML-based black-box behavior spec runner for CLIs, APIs, and generated artifacts. See the README for the format and CLI contract, and schema/atago.schema.json for the machine-readable spec file schema.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
artifact
Package artifact writes deterministic sidecar files for failed assertions and other durable review evidence (#48).
|
Package artifact writes deterministic sidecar files for failed assertions and other durable review evidence (#48). |
|
assert
Package assert evaluates assertion steps against the current run result.
|
Package assert evaluates assertion steps against the current run result. |
|
buildinfo
Package buildinfo reports the binary's version.
|
Package buildinfo reports the binary's version. |
|
cli
Package cli implements atago's command-line interface: subcommand dispatch and the mapping from results to exit codes.
|
Package cli implements atago's command-line interface: subcommand dispatch and the mapping from results to exit codes. |
|
conpty
Package conpty is Windows-only; this file provides non-Windows stubs so the package (and anything that imports it behind a build tag) still compiles everywhere.
|
Package conpty is Windows-only; this file provides non-Windows stubs so the package (and anything that imports it behind a build tag) still compiles everywhere. |
|
docgen
Package docgen renders Markdown documentation from specs using github.com/nao1215/markdown.
|
Package docgen renders Markdown documentation from specs using github.com/nao1215/markdown. |
|
engine
Package engine orchestrates spec execution: it plans scenarios, isolates each in its own temporary workdir, materializes fixtures, runs steps in order, and aggregates results.
|
Package engine orchestrates spec execution: it plans scenarios, isolates each in its own temporary workdir, materializes fixtures, runs steps in order, and aggregates results. |
|
explain
Package explain renders a human- and LLM-readable summary of what a spec does without executing it: scenarios, commands, expected behavior, fixtures, generated files, variables, and security-sensitive operations.
|
Package explain renders a human- and LLM-readable summary of what a spec does without executing it: scenarios, commands, expected behavior, fixtures, generated files, variables, and security-sensitive operations. |
|
fixture
Package fixture materializes input files declared by a spec into the scenario workdir.
|
Package fixture materializes input files declared by a spec into the scenario workdir. |
|
fsdelta
Package fsdelta computes the content-based difference of a directory tree between two points in time: which regular files were created, modified, or deleted.
|
Package fsdelta computes the content-based difference of a directory tree between two points in time: which regular files were created, modified, or deleted. |
|
loader
Package loader reads a atago YAML file and turns it into a validated *spec.Spec.
|
Package loader reads a atago YAML file and turns it into a validated *spec.Spec. |
|
manifest
Package manifest builds a stable, machine-readable summary of what one or more specs declare, without executing them (#49).
|
Package manifest builds a stable, machine-readable summary of what one or more specs declare, without executing them (#49). |
|
platform
Package platform reports the host OS for skip/only gating.
|
Package platform reports the host OS for skip/only gating. |
|
record
Interactive pty recording (#69): run a command in a real pseudo-terminal wired to the developer's own terminal, forward keystrokes and output unchanged, and record the session so it can be reconstructed as an expect/send spec.
|
Interactive pty recording (#69): run a command in a real pseudo-terminal wired to the developer's own terminal, forward keystrokes and output unchanged, and record the session so it can be reconstructed as an expect/send spec. |
|
report
Package report renders SuiteResults in the supported output formats : console, JSON, JUnit XML, and GitHub Actions annotations.
|
Package report renders SuiteResults in the supported output formats : console, JSON, JUnit XML, and GitHub Actions annotations. |
|
runner
Package runner defines the Runner interface and the Result it produces.
|
Package runner defines the Runner interface and the Result it produces. |
|
runner/browser
Package browser implements the browser (CDP) runner: a `cdp` step drives a headless Chrome via the Chrome DevTools Protocol and captures a value from the page as a runner.Result.
|
Package browser implements the browser (CDP) runner: a `cdp` step drives a headless Chrome via the Chrome DevTools Protocol and captures a value from the page as a runner.Result. |
|
runner/cmd
Package cmd implements the command Runner: it executes a real process and captures its exit code, stdout, and stderr.
|
Package cmd implements the command Runner: it executes a real process and captures its exit code, stdout, and stderr. |
|
runner/db
Package db implements the database runner: it runs a SQL statement from a `query:` step through a named db runner and captures the result — rows (for a SELECT) as a JSON array, or the affected-row count (for INSERT/UPDATE/DDL) — as a runner.Result.
|
Package db implements the database runner: it runs a SQL statement from a `query:` step through a named db runner and captures the result — rows (for a SELECT) as a JSON array, or the affected-row count (for INSERT/UPDATE/DDL) — as a runner.Result. |
|
runner/grpc
Package grpc implements the gRPC runner: a `grpc` step calls a unary method on a target server and captures the response message (as JSON) and status code as a runner.Result.
|
Package grpc implements the gRPC runner: a `grpc` step calls a unary method on a target server and captures the response message (as JSON) and status code as a runner.Result. |
|
runner/http
Package http implements the HTTP runner: it issues a request described by an `http:` step and captures the response (status, headers, body) as a runner.Result.
|
Package http implements the HTTP runner: it issues a request described by an `http:` step and captures the response (status, headers, body) as a runner.Result. |
|
runner/mock
Package mock implements the declarative stub HTTP server behind `mock_servers:` (#24): canned routes served on an ephemeral loopback port, with every incoming request recorded for the `mock:` assertion target — so API-client CLIs (gh-style tools, cloud CLIs, webhook senders) are testable fully offline.
|
Package mock implements the declarative stub HTTP server behind `mock_servers:` (#24): canned routes served on an ephemeral loopback port, with every incoming request recorded for the `mock:` assertion target — so API-client CLIs (gh-style tools, cloud CLIs, webhook senders) are testable fully offline. |
|
runner/ptyrun
Package ptyrun runs one command inside a real pseudo-terminal and drives it with a declarative expect/send session (#8).
|
Package ptyrun runs one command inside a real pseudo-terminal and drives it with a declarative expect/send session (#8). |
|
runner/service
Package service runs the background processes a scenario declares under `services`: a long-lived peer (a TCP server, an API stub) started before the scenario's steps and torn down — with its whole process group — when the scenario ends.
|
Package service runs the background processes a scenario declares under `services`: a long-lived peer (a TCP server, an API stub) started before the scenario's steps and torn down — with its whole process group — when the scenario ends. |
|
runner/ssh
Package ssh implements the SSH runner: a `run` step naming an ssh runner executes its command on a remote host over SSH, capturing stdout, stderr, and the exit code as a runner.Result.
|
Package ssh implements the SSH runner: a `run` step naming an ssh runner executes its command on a remote host over SSH, capturing stdout, stderr, and the exit code as a runner.Result. |
|
scrub
Package scrub applies user-declared regex→placeholder rewrites to captured CLI output before snapshot comparison (#137).
|
Package scrub applies user-declared regex→placeholder rewrites to captured CLI output before snapshot comparison (#137). |
|
security
Package security implements atago's security model: masking secret values in reports and logs, and the safe defaults enabled by --ci.
|
Package security implements atago's security model: masking secret values in reports and logs, and the safe defaults enabled by --ci. |
|
sitegen
Package sitegen generates a browsable, repo-local documentation site under site/ from repository sources (#72).
|
Package sitegen generates a browsable, repo-local documentation site under site/ from repository sources (#72). |
|
snapshot
Package snapshot stores and compares golden output.
|
Package snapshot stores and compares golden output. |
|
spec
Package spec defines the typed in-memory model for a atago YAML file.
|
Package spec defines the typed in-memory model for a atago YAML file. |
|
store
Package store holds scenario variables and performs ${name} expansion.
|
Package store holds scenario variables and performs ${name} expansion. |
Click to show internal directories.
Click to hide internal directories.


