Development¶
Run it against your account without installing globally:
Layout¶
| Module | Responsibility |
|---|---|
cli.py |
Argument parsing, commands, the interactive session |
agent.py |
The loop: model, tool calls, results, model |
client.py |
Streaming chat, tool-call assembly |
tools.py |
Code tools and their schemas |
mcp.py |
Client for the AtomGPT tool server |
auth.py |
OAuth login, credential storage |
permissions.py |
The approval gate |
session.py |
Conversation persistence |
text.py |
Stripping model control markers |
interrupt.py |
Escape-to-interrupt during streaming |
browser.py |
Opening a URL, including from WSL |
prompt.py |
The system prompt |
One runtime dependency, httpx. Python 3.10 or newer.
Testing a change¶
Installs the launcher against your working tree, so edits take effect on the next run with no reinstall.
Releasing¶
Tagging publishes to PyPI through trusted publishing:
The workflow refuses to publish when the tag does not match the version in
pyproject.toml.
Documentation¶
This site is MkDocs with the Material theme, deployed to GitHub Pages on every
push to main.