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
Metadata
Release files for archo 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| archo-0.1.2.tar.gz | 11.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| archo-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.6 kB
Release files / archo-0.1.2.tar.gz
| Download URL | archo-0.1.2.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ef9cd2272eba1be5c1c81954395e03f7dd5514cb8415823456c833bc503a9f1
|
|
BLAKE2b-256 checksum How to use checksums |
eb0a6adcfc77dbbbc1208afe36d438893e6f71322ece644c1ef6ee499d9f6b0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|
Release files / archo-0.1.2-py3-none-any.whl
| Download URL | archo-0.1.2-py3-none-any.whl |
|---|---|
| Size | 14.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
16542b1815b14cac4b815c13a082452d0a93351667189f8772eb7435975ff5e6
|
|
BLAKE2b-256 checksum How to use checksums |
d75f316775db538b5cbde8f1364c99b7e99d03bee9ccf179a77bf511475eab64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|