Skip to main content

Agents Toolchain (atc)

Overview

A CLI for creating and running AI agents. Define an agent's task, model, and tools in YAML, then run it from the terminal. Agents can read project files, write documentation and tests, or review code.

Installation

All release packages contain a ready-to-run Go binary. The command is always atc.

npm (Windows, Linux, macOS)

Requires Node.js 22 or later. Install globally:

npm install -g @deahesi/agents-toolchain
atc --help
atc --version

Or run it without a global installation:

npx @deahesi/agents-toolchain --help
npx @deahesi/agents-toolchain init

The npm package includes a launcher and installs the native binary for Windows, Linux, or macOS on x64 or ARM64. Go is not required. Installation also works with --ignore-scripts; keep optional dependencies enabled so npm can install the platform package. An unsupported platform or a missing platform package produces an error with installation guidance. The command is atc for both local and global installations.

Homebrew (macOS, Linux)

brew install --cask Deahesi/tap/agents-toolchain
atc --help

The cask selects the x64 or ARM64 archive from GitHub Releases. It requires neither Go nor Node.js. Updates use brew upgrade --cask agents-toolchain.

pip (Windows, Linux, macOS)

Requires Python 3.10 or later. Install in your Python virtual environment:

python -m pip install agents-toolchain
atc --help
python -m agents_toolchain --version

Platform wheels include the native binary; installation does not compile Go or download executables from GitHub. Wheels cover x64 and ARM64 on Windows, macOS 12+, and Linux with glibc or musl. There is no source distribution that would require a Go compiler. Keep your virtual environment activated to use its atc command.

Debian / Ubuntu and RPM distributions

Download the package for your architecture from GitHub Releases. For example, for version 0.1.2 on x64:

# Debian / Ubuntu
sudo apt install ./agents-toolchain_0.1.2_amd64.deb

# Fedora / RHEL family
sudo dnf install ./agents-toolchain-0.1.2-1.x86_64.rpm

atc --help

ARM64 packages end in _arm64.deb and .aarch64.rpm. Packages install /usr/bin/atc, the README, and the MIT license. These are downloadable packages, not an APT or YUM repository.

From source

Alternatively, build from source with Go 1.26.5 or later:

go install github.com/Deahesi/agents-toolchain/cmd/atc@latest

Make sure the installation directory is in PATH. Go uses GOBIN if set, otherwise GOPATH/bin (usually %USERPROFILE%\go\bin on Windows). go install does not update PATH; after adding the directory, open a new terminal.

Base usage

Run the following steps from the project directory you want the agent to work on.

  1. Create a .env file with your provider's API key:

    OPENAI_API_KEY=your-api-key
    
  2. Initialize the project and create an agent:

    atc init
    atc add hello
    

    Skip init if agents-toolchain.yml already exists. The add command asks for the agent's settings and saves them to agents/hello/agent.yml.

  3. Run the agent:

    atc run hello --prompt "Hello!"
    

Use --prompt or -p to provide a request. Without it, the agent follows the task in system_prompt.

Use atc init --agents-dir <directory> to choose where agent configs are stored. All commands accept --workspace-dir <directory> to choose the project containing agents-toolchain.yml. File tools and .env still use the current working directory, so launch the CLI from the project you want the agent to work on.

Config

agents-toolchain.yml specifies the directory containing agents:

agents_dir: agents

Each agent has a config at agents/<name>/agent.yml:

version: "1.0"
agent:
  name: hello
  description: My first agent
  provider: openai
  model: gpt-4o
  temperature: 0.2
  system_prompt: |
    You are a helpful assistant. Answer clearly and to the point.
  tools: []
  • name must match the agent directory name.
  • description briefly describes the agent.
  • provider is openai, anthropic, ollama, or openrouter.
  • model is the model ID for that provider, without adding the provider prefix.
  • temperature ranges from 0 to 2; lower values give more predictable responses.
  • system_prompt describes the agent's task and expected output.
  • tools lists the tools the agent can use. Leave it empty for text-only tasks.

Built-in tools use type: builtin. Available names are list_files, search_files, read_file, write_file, edit_file, execute_command, get_environment, and get_datetime.

The CLI automatically reads .env from the current working directory at startup. Existing environment variables take priority. The file is optional if the variables are already set; --workspace-dir does not change where .env is read.

Provider Environment variables
openai OPENAI_API_KEY; optional OPENAI_BASE_URL
anthropic ANTHROPIC_API_KEY or ANTHROPIC_AUTH_TOKEN
openrouter OPENROUTER_API_KEY
ollama Optional OLLAMA_HOST, defaults to http://localhost:11434

Examples

Save each config at the path shown. You can create the folder and file manually or use atc add <name> and replace the generated config. These examples use OpenAI; set OPENAI_API_KEY in .env and choose a model that supports tools.

Documentation from project files

agents/docs/agent.yml:

version: "1.0"
agent:
  name: docs
  description: Write documentation from local project files
  provider: openai
  model: gpt-4o
  temperature: 0.2
  system_prompt: |
    Read the local project, starting from the current directory.
    Explore relevant subdirectories and inspect source files, configs,
    and existing documentation. Write or update README.md with a simple
    overview, setup steps, configuration, and usage examples.
    Describe only behavior supported by the files you read.
    Keep the project's documentation language and style.
    Change only documentation files. End with a brief list of changes.
  tools:
    - type: builtin
      name: list_files
    - type: builtin
      name: read_file
    - type: builtin
      name: write_file
    - type: builtin
      name: edit_file
atc run docs

Automated tests from a local project

agents/tests/agent.yml:

version: "1.0"
agent:
  name: tests
  description: Write and run tests for the local project
  provider: openai
  model: gpt-4o
  temperature: 0.2
  system_prompt: |
    Read the local project, starting from the current directory.
    Explore relevant subdirectories, source files, existing tests,
    and test configuration. Use the project's test framework and style.
    Add meaningful tests for normal behavior, edge cases, and errors.
    Change only test files. Run the relevant tests with execute_command.
    End with a brief list of added tests and their results.
    If tests could not be run, say so and explain why.
  tools:
    - type: builtin
      name: list_files
    - type: builtin
      name: read_file
    - type: builtin
      name: write_file
    - type: builtin
      name: edit_file
    - type: builtin
      name: execute_command
atc run tests

Project review with structured findings

agents/review/agent.yml:

version: "1.0"
agent:
  name: review
  description: Review the local project and report problems
  provider: openai
  model: gpt-4o
  temperature: 0.2
  system_prompt: |
    Review the local project, starting from the current directory.
    Explore relevant subdirectories and read source files, configs,
    and tests. Look for bugs, security issues, and incorrect behavior.
    Report only problems supported by the files you read.
    Do not modify files.
    In your final response, report each problem as a separate block:
    file: <relative file path>
    row: <line number or range, starting at 1>
    problem: <what is wrong and its impact>
    Separate blocks with a blank line. Do not wrap them in Markdown fences.
    If problems were found, the final line must be exactly:
    Status: error
    If no problems were found after completing the review, output only:
    Status: success
    If the review could not be completed, report the blocker using the
    same block format, use row: N/A when needed, and end with Status: error.
    Do not output anything after the status line.
  tools:
    - type: builtin
      name: list_files
    - type: builtin
      name: read_file
atc run review

Example final response when a problem is found:

file: src/config.go
row: 42
problem: An empty API key is accepted, causing requests to fail later.

Status: error

With no problems:

Status: success

Metadata

Release files for agents-toolchain 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for agents-toolchain 0.1.3
File
agents_toolchain-0.1.3-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
agents_toolchain-0.1.3-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
agents_toolchain-0.1.3-py3-none-manylinux_2_17_x86_64.musllinux_1_2_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64, Linux musl 1.2+ x86-64 Details
agents_toolchain-0.1.3-py3-none-manylinux_2_17_aarch64.musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64, Linux glibc 2.17+ ARM64 Details
agents_toolchain-0.1.3-py3-none-macosx_12_0_x86_64.whl Python 3 none macOS 12.0+ x86-64 Details
agents_toolchain-0.1.3-py3-none-macosx_12_0_arm64.whl Python 3 none macOS 12.0+ ARM64 Details

Total release size: 49.3 MB

Release files / agents_toolchain-0.1.3-py3-none-win_arm64.whl

Download URL agents_toolchain-0.1.3-py3-none-win_arm64.whl
Size 7.7 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
6e01257e59392c6834602e7c6c07471d5240ec5abaef02b3c098f483fb0a74a5
BLAKE2b-256 checksum
How to use checksums
674f884db134fb89e6af257a6cd3f78beb3258e89dde99c9936f964a0428980d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / agents_toolchain-0.1.3-py3-none-win_amd64.whl

Download URL agents_toolchain-0.1.3-py3-none-win_amd64.whl
Size 8.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
ad1156eeeb1a86842f14149daa77c33c74578df71c1567d42a6ba9974d3c2ed0
BLAKE2b-256 checksum
How to use checksums
4cfdb439522023a2099133d30e51542c10218fcbf9ffc87cb9b7059254551129
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / agents_toolchain-0.1.3-py3-none-manylinux_2_17_x86_64.musllinux_1_2_x86_64.whl

Download URL agents_toolchain-0.1.3-py3-none-manylinux_2_17_x86_64.musllinux_1_2_x86_64.whl
Size 8.4 MB
Tags Linux glibc 2.17+ x86-64 Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
a096e9ecaeff79d2ab2b2dd578ed711be89785d76e1359ded56cae2c3b8a619c
BLAKE2b-256 checksum
How to use checksums
1b766362a9db7034ce79e1592ea0cae1d3520a217c401bfd8f70a6341b0d248a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / agents_toolchain-0.1.3-py3-none-manylinux_2_17_aarch64.musllinux_1_2_aarch64.whl

Download URL agents_toolchain-0.1.3-py3-none-manylinux_2_17_aarch64.musllinux_1_2_aarch64.whl
Size 7.6 MB
Tags Linux glibc 2.17+ ARM64 Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
918e9c42cf44b41ed652ecd82b18337c7939998132242bd6661525ae7f04c1bd
BLAKE2b-256 checksum
How to use checksums
fbbcf011c12a337c9e63ac1d11ea39ae5d88e4bf46eb3b665b9950afd2bd99be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / agents_toolchain-0.1.3-py3-none-macosx_12_0_x86_64.whl

Download URL agents_toolchain-0.1.3-py3-none-macosx_12_0_x86_64.whl
Size 8.7 MB
Tags Python 3 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
588349570f30c7885fb2563be0eff32164e97b7d7631ced19bcd0eca35d22408
BLAKE2b-256 checksum
How to use checksums
ec72b82f7d498e5560620ed80935f092047a101998f773e14cf734fc20af4b00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / agents_toolchain-0.1.3-py3-none-macosx_12_0_arm64.whl

Download URL agents_toolchain-0.1.3-py3-none-macosx_12_0_arm64.whl
Size 8.1 MB
Tags Python 3 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
0c6e08fe8086b8dd38df0fadfb1942901771d030d0b851bed6dde6505198afd9
BLAKE2b-256 checksum
How to use checksums
061d6535a1b65d3d068165add25dfe2133c854ff09cbf7714cf6f4344c2d7554
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.4

6 release files

This release

0.1.3 This release

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page