agents-toolchain 0.1.3__py3-none-win_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agents_toolchain/__init__.py +1 -0
- agents_toolchain/__main__.py +3 -0
- agents_toolchain/_cli.py +27 -0
- agents_toolchain/bin/atc.exe +0 -0
- agents_toolchain-0.1.3.dist-info/METADATA +290 -0
- agents_toolchain-0.1.3.dist-info/RECORD +9 -0
- agents_toolchain-0.1.3.dist-info/WHEEL +4 -0
- agents_toolchain-0.1.3.dist-info/entry_points.txt +2 -0
- agents_toolchain-0.1.3.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Agents Toolchain's bundled native CLI."""
|
agents_toolchain/_cli.py
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""Run the bundled executable without changing its arguments or environment."""
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
import subprocess
|
|
6
|
+
import sys
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def main():
|
|
10
|
+
binary = Path(__file__).parent / "bin" / ("atc.exe" if os.name == "nt" else "atc")
|
|
11
|
+
if not binary.is_file():
|
|
12
|
+
print("atc: bundled binary is missing; reinstall agents-toolchain with pip.", file=sys.stderr)
|
|
13
|
+
return 1
|
|
14
|
+
args = [str(binary), *sys.argv[1:]]
|
|
15
|
+
try:
|
|
16
|
+
if os.name != "nt":
|
|
17
|
+
os.execv(str(binary), args)
|
|
18
|
+
child = subprocess.Popen(args)
|
|
19
|
+
while True:
|
|
20
|
+
try:
|
|
21
|
+
return child.wait()
|
|
22
|
+
except KeyboardInterrupt:
|
|
23
|
+
# Windows sends console Ctrl+C to both processes. Let the CLI exit.
|
|
24
|
+
continue
|
|
25
|
+
except OSError as error:
|
|
26
|
+
print("atc: could not start bundled binary: {}".format(error), file=sys.stderr)
|
|
27
|
+
return 1
|
|
Binary file
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agents-toolchain
|
|
3
|
+
Version: 0.1.3
|
|
4
|
+
Summary: CLI for creating and running YAML-configured AI agents
|
|
5
|
+
Author: Deahesi
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
License-File: LICENSE
|
|
8
|
+
Requires-Python: >=3.10
|
|
9
|
+
Project-URL: Source, https://github.com/Deahesi/agents-toolchain
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
|
|
12
|
+
# Agents Toolchain (atc)
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
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.
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
All release packages contain a ready-to-run Go binary. The command is always `atc`.
|
|
21
|
+
|
|
22
|
+
### npm (Windows, Linux, macOS)
|
|
23
|
+
|
|
24
|
+
Requires Node.js 22 or later. Install globally:
|
|
25
|
+
|
|
26
|
+
```sh
|
|
27
|
+
npm install -g @deahesi/agents-toolchain
|
|
28
|
+
atc --help
|
|
29
|
+
atc --version
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Or run it without a global installation:
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
npx @deahesi/agents-toolchain --help
|
|
36
|
+
npx @deahesi/agents-toolchain init
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
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.
|
|
40
|
+
|
|
41
|
+
### Homebrew (macOS, Linux)
|
|
42
|
+
|
|
43
|
+
```sh
|
|
44
|
+
brew install --cask Deahesi/tap/agents-toolchain
|
|
45
|
+
atc --help
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
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`.
|
|
49
|
+
|
|
50
|
+
### pip (Windows, Linux, macOS)
|
|
51
|
+
|
|
52
|
+
Requires Python 3.10 or later. Install in your Python virtual environment:
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
python -m pip install agents-toolchain
|
|
56
|
+
atc --help
|
|
57
|
+
python -m agents_toolchain --version
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
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.
|
|
61
|
+
|
|
62
|
+
### Debian / Ubuntu and RPM distributions
|
|
63
|
+
|
|
64
|
+
Download the package for your architecture from [GitHub Releases](https://github.com/Deahesi/agents-toolchain/releases). For example, for version `0.1.2` on x64:
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
# Debian / Ubuntu
|
|
68
|
+
sudo apt install ./agents-toolchain_0.1.2_amd64.deb
|
|
69
|
+
|
|
70
|
+
# Fedora / RHEL family
|
|
71
|
+
sudo dnf install ./agents-toolchain-0.1.2-1.x86_64.rpm
|
|
72
|
+
|
|
73
|
+
atc --help
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
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.
|
|
77
|
+
|
|
78
|
+
### From source
|
|
79
|
+
|
|
80
|
+
Alternatively, build from source with Go 1.26.5 or later:
|
|
81
|
+
|
|
82
|
+
```powershell
|
|
83
|
+
go install github.com/Deahesi/agents-toolchain/cmd/atc@latest
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
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.
|
|
87
|
+
|
|
88
|
+
## Base usage
|
|
89
|
+
|
|
90
|
+
Run the following steps from the project directory you want the agent to work on.
|
|
91
|
+
|
|
92
|
+
1. Create a `.env` file with your provider's API key:
|
|
93
|
+
|
|
94
|
+
```dotenv
|
|
95
|
+
OPENAI_API_KEY=your-api-key
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
2. Initialize the project and create an agent:
|
|
99
|
+
|
|
100
|
+
```powershell
|
|
101
|
+
atc init
|
|
102
|
+
atc add hello
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
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`.
|
|
106
|
+
|
|
107
|
+
3. Run the agent:
|
|
108
|
+
|
|
109
|
+
```powershell
|
|
110
|
+
atc run hello --prompt "Hello!"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Use `--prompt` or `-p` to provide a request. Without it, the agent follows the task in `system_prompt`.
|
|
114
|
+
|
|
115
|
+
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.
|
|
116
|
+
|
|
117
|
+
## Config
|
|
118
|
+
|
|
119
|
+
`agents-toolchain.yml` specifies the directory containing agents:
|
|
120
|
+
|
|
121
|
+
```yaml
|
|
122
|
+
agents_dir: agents
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Each agent has a config at `agents/<name>/agent.yml`:
|
|
126
|
+
|
|
127
|
+
```yaml
|
|
128
|
+
version: "1.0"
|
|
129
|
+
agent:
|
|
130
|
+
name: hello
|
|
131
|
+
description: My first agent
|
|
132
|
+
provider: openai
|
|
133
|
+
model: gpt-4o
|
|
134
|
+
temperature: 0.2
|
|
135
|
+
system_prompt: |
|
|
136
|
+
You are a helpful assistant. Answer clearly and to the point.
|
|
137
|
+
tools: []
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
- `name` must match the agent directory name.
|
|
141
|
+
- `description` briefly describes the agent.
|
|
142
|
+
- `provider` is `openai`, `anthropic`, `ollama`, or `openrouter`.
|
|
143
|
+
- `model` is the model ID for that provider, without adding the provider prefix.
|
|
144
|
+
- `temperature` ranges from `0` to `2`; lower values give more predictable responses.
|
|
145
|
+
- `system_prompt` describes the agent's task and expected output.
|
|
146
|
+
- `tools` lists the tools the agent can use. Leave it empty for text-only tasks.
|
|
147
|
+
|
|
148
|
+
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`.
|
|
149
|
+
|
|
150
|
+
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.
|
|
151
|
+
|
|
152
|
+
| Provider | Environment variables |
|
|
153
|
+
| --- | --- |
|
|
154
|
+
| `openai` | `OPENAI_API_KEY`; optional `OPENAI_BASE_URL` |
|
|
155
|
+
| `anthropic` | `ANTHROPIC_API_KEY` or `ANTHROPIC_AUTH_TOKEN` |
|
|
156
|
+
| `openrouter` | `OPENROUTER_API_KEY` |
|
|
157
|
+
| `ollama` | Optional `OLLAMA_HOST`, defaults to `http://localhost:11434` |
|
|
158
|
+
|
|
159
|
+
## Examples
|
|
160
|
+
|
|
161
|
+
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.
|
|
162
|
+
|
|
163
|
+
### Documentation from project files
|
|
164
|
+
|
|
165
|
+
`agents/docs/agent.yml`:
|
|
166
|
+
|
|
167
|
+
```yaml
|
|
168
|
+
version: "1.0"
|
|
169
|
+
agent:
|
|
170
|
+
name: docs
|
|
171
|
+
description: Write documentation from local project files
|
|
172
|
+
provider: openai
|
|
173
|
+
model: gpt-4o
|
|
174
|
+
temperature: 0.2
|
|
175
|
+
system_prompt: |
|
|
176
|
+
Read the local project, starting from the current directory.
|
|
177
|
+
Explore relevant subdirectories and inspect source files, configs,
|
|
178
|
+
and existing documentation. Write or update README.md with a simple
|
|
179
|
+
overview, setup steps, configuration, and usage examples.
|
|
180
|
+
Describe only behavior supported by the files you read.
|
|
181
|
+
Keep the project's documentation language and style.
|
|
182
|
+
Change only documentation files. End with a brief list of changes.
|
|
183
|
+
tools:
|
|
184
|
+
- type: builtin
|
|
185
|
+
name: list_files
|
|
186
|
+
- type: builtin
|
|
187
|
+
name: read_file
|
|
188
|
+
- type: builtin
|
|
189
|
+
name: write_file
|
|
190
|
+
- type: builtin
|
|
191
|
+
name: edit_file
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
```powershell
|
|
195
|
+
atc run docs
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Automated tests from a local project
|
|
199
|
+
|
|
200
|
+
`agents/tests/agent.yml`:
|
|
201
|
+
|
|
202
|
+
```yaml
|
|
203
|
+
version: "1.0"
|
|
204
|
+
agent:
|
|
205
|
+
name: tests
|
|
206
|
+
description: Write and run tests for the local project
|
|
207
|
+
provider: openai
|
|
208
|
+
model: gpt-4o
|
|
209
|
+
temperature: 0.2
|
|
210
|
+
system_prompt: |
|
|
211
|
+
Read the local project, starting from the current directory.
|
|
212
|
+
Explore relevant subdirectories, source files, existing tests,
|
|
213
|
+
and test configuration. Use the project's test framework and style.
|
|
214
|
+
Add meaningful tests for normal behavior, edge cases, and errors.
|
|
215
|
+
Change only test files. Run the relevant tests with execute_command.
|
|
216
|
+
End with a brief list of added tests and their results.
|
|
217
|
+
If tests could not be run, say so and explain why.
|
|
218
|
+
tools:
|
|
219
|
+
- type: builtin
|
|
220
|
+
name: list_files
|
|
221
|
+
- type: builtin
|
|
222
|
+
name: read_file
|
|
223
|
+
- type: builtin
|
|
224
|
+
name: write_file
|
|
225
|
+
- type: builtin
|
|
226
|
+
name: edit_file
|
|
227
|
+
- type: builtin
|
|
228
|
+
name: execute_command
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
```powershell
|
|
232
|
+
atc run tests
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Project review with structured findings
|
|
236
|
+
|
|
237
|
+
`agents/review/agent.yml`:
|
|
238
|
+
|
|
239
|
+
```yaml
|
|
240
|
+
version: "1.0"
|
|
241
|
+
agent:
|
|
242
|
+
name: review
|
|
243
|
+
description: Review the local project and report problems
|
|
244
|
+
provider: openai
|
|
245
|
+
model: gpt-4o
|
|
246
|
+
temperature: 0.2
|
|
247
|
+
system_prompt: |
|
|
248
|
+
Review the local project, starting from the current directory.
|
|
249
|
+
Explore relevant subdirectories and read source files, configs,
|
|
250
|
+
and tests. Look for bugs, security issues, and incorrect behavior.
|
|
251
|
+
Report only problems supported by the files you read.
|
|
252
|
+
Do not modify files.
|
|
253
|
+
In your final response, report each problem as a separate block:
|
|
254
|
+
file: <relative file path>
|
|
255
|
+
row: <line number or range, starting at 1>
|
|
256
|
+
problem: <what is wrong and its impact>
|
|
257
|
+
Separate blocks with a blank line. Do not wrap them in Markdown fences.
|
|
258
|
+
If problems were found, the final line must be exactly:
|
|
259
|
+
Status: error
|
|
260
|
+
If no problems were found after completing the review, output only:
|
|
261
|
+
Status: success
|
|
262
|
+
If the review could not be completed, report the blocker using the
|
|
263
|
+
same block format, use row: N/A when needed, and end with Status: error.
|
|
264
|
+
Do not output anything after the status line.
|
|
265
|
+
tools:
|
|
266
|
+
- type: builtin
|
|
267
|
+
name: list_files
|
|
268
|
+
- type: builtin
|
|
269
|
+
name: read_file
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
```powershell
|
|
273
|
+
atc run review
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Example final response when a problem is found:
|
|
277
|
+
|
|
278
|
+
```text
|
|
279
|
+
file: src/config.go
|
|
280
|
+
row: 42
|
|
281
|
+
problem: An empty API key is accepted, causing requests to fail later.
|
|
282
|
+
|
|
283
|
+
Status: error
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
With no problems:
|
|
287
|
+
|
|
288
|
+
```text
|
|
289
|
+
Status: success
|
|
290
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
agents_toolchain-0.1.3.dist-info/METADATA,sha256=Ib8ja1_YPo5o-MugoCfyrkvsb5lOXytcwmUOSNNEUIM,9308
|
|
2
|
+
agents_toolchain-0.1.3.dist-info/WHEEL,sha256=uKsIiGU1eCsvZ7Dz-2-yXi7wczN3tMPD-CqwdssWW_c,105
|
|
3
|
+
agents_toolchain-0.1.3.dist-info/entry_points.txt,sha256=heKUbNQ51ojp1DRUIX8ufWXvypZAACxnZoq60yYx4VY,51
|
|
4
|
+
agents_toolchain-0.1.3.dist-info/licenses/LICENSE,sha256=zv7ELTk_KDbjyFP8uyYkokn_t9U_9zuC6EtIi__stAk,1063
|
|
5
|
+
agents_toolchain/__init__.py,sha256=_VgkCIdbojWvKo5lmSFNnbUA_WMXbqtVSHoUZfZ3Hww,45
|
|
6
|
+
agents_toolchain/__main__.py,sha256=g-q3cJEP2vv6Ppov3S-YHp3sJsGGZH4v3gYvvwdFOxg,49
|
|
7
|
+
agents_toolchain/_cli.py,sha256=R4iKSftiCe3C8-R2GChwBwOEndNz9I61kBFrHcCHal8,905
|
|
8
|
+
agents_toolchain/bin/atc.exe,sha256=Sftmw-VZMt7CXTEU6267G5iFGgb8E2LaK7LebS0ZqQI,26176512
|
|
9
|
+
agents_toolchain-0.1.3.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Deahesi
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|