Generate architecture docs from your codebase
Project description
archo
Generate architecture docs from your codebase
archo scans your project, sends the source files to an LLM, and generates an ARCHO.md file with a Mermaid architecture diagram and a structured breakdown of routes, dependencies, databases, and pub/sub topics.
$ archo
Scanning repo: .
Collected (12 files):
+ src/app.py
+ src/routes/users.py
+ src/services/notification.py
...
The following files will be sent to anthropic: [...]
Would you like to continue? [y/n]: y
Generating ARCHO.md...
Done — ARCHO.md written.
Install
pip install archo
For OpenAI support:
pip install archo[openai]
Quick start
Run archo in any project directory:
cd your-project
archo
On first run, you'll be prompted to configure your LLM provider, model, and API key. Config is stored in your system config directory (e.g. ~/.config/archo/config.toml).
Supported providers
| Provider | Models | Notes |
|---|---|---|
| Anthropic | claude-sonnet-4-6, etc. | Default provider |
| OpenAI | gpt-5.4, etc. | Requires pip install archo[openai] |
| Ollama | Any local model | Requires a running Ollama instance |
Commands
archo # Generate architecture docs for current directory
archo init # First-time setup (provider, model, API key)
archo provider # View or change LLM provider
archo model # View or change model
archo api-key # View or change API key
archo llm-host # View or change Ollama host URL
What it generates
archo creates an ARCHO.md file containing:
- Mermaid diagram — visual map of your service, its routes, outbound calls, databases, and pub/sub topics
- Routes — all HTTP endpoints with methods and paths
- Outbound calls — services your code talks to and how (REST, gRPC, SDK, etc.)
- Pub/Sub — topics your service publishes to and subscribes from
- Databases — database types and their collections/tables
Security
archo never sends sensitive files to any LLM provider. The following are always excluded:
.env,.env.production,.env.prod*.pem,*.key,*.p12secrets.yaml,credentials.json
Large files (>50KB), lock files, logs, and common non-source directories (node_modules, .venv, __pycache__, etc.) are also skipped.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file archo-0.1.1.tar.gz.
File metadata
- Download URL: archo-0.1.1.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fbca62843d26d3974c371cbdb938641875e581563ff8081877ef283360ff354
|
|
| MD5 |
59b51d66424157577f75335d224619ea
|
|
| BLAKE2b-256 |
b1e6adf99ede53d736bda29d2894607a8b1335956163b3eb6d07d40deb67d01a
|
File details
Details for the file archo-0.1.1-py3-none-any.whl.
File metadata
- Download URL: archo-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8dd0086b542a1b79bc4cbb1d384ecdbf2557ec1761c9d437c8b1b27c78874d0a
|
|
| MD5 |
b0de2f99fb7815ace8767376233c0ecf
|
|
| BLAKE2b-256 |
89209ff3028be3c2dfd2c52420b832d9df08c33bad1f0975fc9a00f13e063e16
|