ANVIL(1) General Commands Manual ANVIL(1)

anvil — reference build system specification for invil/amboso

anvil [options] [tag] [extra_args ...] [command]

anvil is a tag-driven build system specification implemented by two compatible frontends:

POSIX shell reference implementation.
Rust canonical implementation.

anvil orchestrates builds, tests, and project initialization on top of make(1), git(1), and optional build kernels.

A build is defined by:

Optional identifier for a build configuration.
Execution mode. Supported modes include: , , test, and .
Build backend selector. Supported kernels include: , , and .

If tag is omitted, the latest available tag is selected using implementation-defined ordering.

dir, --amboso-dir=dir
Directory for tag artifacts. Default: ./bin

dir, --stego-dir=dir
Directory containing stego.lock. Default: current directory.

dir, --builds-dir=dir
Build output directory. Default: current directory.

dir, --kazoj-dir=dir
Test directory root.

name, --source=name
Set source name.

name, --execname=name
Set output executable name.

tag, --maketag=tag
Minimum tag requiring make-based build.

version, --anvil-version=version
Set compatibility version. Default:

kern, --anvil-kern=kern
Set build kernel. Default:

dir, --gen-c-header=dir
Generate C header with build metadata and system information.

, --test
Enable test mode.

, --base
Enable base mode.

, --git
Enable git mode.

, --testmacro
Enable test macro mode.

, --init
Initialize or build all tags for current mode.

, --purge
Remove all build artifacts for current mode.

, --delete
Delete artifact for specified tag.

, --build
Build specified tag.

, --run
Run built artifact for specified tag.

, --list
List tags for current mode.

, --list-all
List tags for all modes.

, --quiet
Reduce output verbosity.

, --silent
Suppress most output.

level, --verbose=level
Set verbosity level. Default:

, --watch
Report execution timing.

, --logged
Write output to anvil.log.

, --no-color
Disable colored output.

, --force
Force rebuild.

, --no-rebuild
Disable automatic make rebuild step.

arg, --config=arg
Pass configuration argument to build system.

flags, --cflags=flags
Pass compiler flags for single-file builds.

, --strict
Disable extensions beyond amboso 2.0 semantics.

, --ignore-gitcheck
Ignore git mode validation.

, --version
Print version and exit.

, --help
Print help and exit.

, --warranty
Print warranty information.

time
Set explicit start timestamp.

Run make pack target.

[testname]
Run all tests or a specific test.

Build latest or selected tag.

Initialize a new project.

Print version information.

Build invokes make rebuild by default unless disabled with --no-rebuild.

When --logged is enabled, output is written to anvil.log.

When --strict is enabled, extensions beyond amboso 2.0 semantics are disabled.

Command-line options override configuration file values.

./bin/
Default directory for build artifacts.

stego.lock
Project configuration file.

anvil.log
Log output file.

Reference shell implementation defining baseline behavior.

Canonical Rust implementation defining extended behavior.

Divergence between implementations is permitted only when explicitly specified in this specification.

anvil.conf(5), make(1), git(1)

May 13, 2026 Debian