Static architectural analysis and visualization for software codebases.
Project description
ArchMAP
Static architecture analysis for software repositories.
ArchMAP scans source code, builds dependency graphs, detects cycles, reports architectural risks, suggests cleaner structure, and serves a lightweight web UI.
Supported languages:
- Python
- JavaScript
- TypeScript
- Rust
- Go
- PHP
- Java
- C#
- C/C++
Status
- Current release line:
v0.6.0b0 - Primary runtime: Python
>=3.11 - Workflow style: zero-config first
- Distribution: PyPI package + Windows executable
- API and CLI surface may still change before
1.0.0
Installation
From PyPI
pip install KG-ARCHMAP
The installed CLI command remains archmap.
For local development
git clone https://github.com/Kaua-KGzin/ArchMAP
cd ArchMAP
python -m pip install -e ".[dev]"
Quick start
archmap analyze .
archmap explain .
archmap risk src/auth/login.ts .
archmap improve . --out-script .codeatlas/refactor.ps1
archmap serve .
Optional project configuration:
[analysis]
ignore_dirs = ["generated", "vendor"]
max_file_size_bytes = 1048576
[architecture.rules]
forbid = ["controller -> repository", "ui -> database"]
allow = ["controller -> service", "service -> repository"]
[risks.layer_order]
platform = 6
core = 3
CLI overview
Analyze
archmap analyze <path> --format json|mermaid|both
Use analyze for the full report, quality gates, Mermaid, JSON, and Cytoscape exports.
Explain
archmap explain <path>
Prints a simple architecture summary for tired humans:
auth -> users, payments
payments -> gateway
Risk
archmap risk <file> [path]
Shows blast radius, incoming/outgoing dependencies, and the file risk score.
Improve
archmap improve [path] --out-script .codeatlas/refactor.ps1
Suggests a cleaner project structure, such as /auth, /payments, /users,
and can generate a helper refactor script.
Serve
archmap serve <path> --host 0.0.0.0 --port 3000
Watch
archmap watch <path>
archmap serve <path> --watch
Init
archmap init <path>
Generates a starter .archmap.toml based on the current project layout.
Diff and history
archmap diff HEAD~5 HEAD
archmap history --repo . --limit 12
API endpoints while serve is running
GET /api/graphGET /api/history?limit=12GET /api/healthGET /api/projectPOST /api/reanalyze
Git workflow
Branch promotion model:
feat/* -> dev -> release/* -> main
Also supported:
feature/*(legacy alias)fix/*docs/*
See:
Repository layout
ArchMAP/
+-- .github/ # CI/release workflows and PR template
+-- docs/ # MkDocs documentation
+-- examples/ # sample project for demos
+-- logs/ # runtime/archive log organization
+-- scripts/ # automation helpers
+-- src/archmap/ # Python source code
+-- tests/ # automated test suite
+-- web-ui/ # Node development server helpers
+-- archmap.spec # PyInstaller spec
+-- NOTICE.md # original distribution notice
`-- README.md
Windows executable
powershell -ExecutionPolicy Bypass -File scripts/build-exe.ps1 -Clean
This script builds dist/archmap.exe, creates a versioned binary copy, writes
dist/archmap-build-info.json, and runs an executable smoke test.
Original distributor rights
Original distributor and primary author: Kaua Gabriel (Kaua-KGzin).
Redistributions must preserve:
License
MIT. See LICENSE.
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 kg_archmap-0.6.0b0.tar.gz.
File metadata
- Download URL: kg_archmap-0.6.0b0.tar.gz
- Upload date:
- Size: 231.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b809a648cd0fc7625b2d08efc225fee999a105130658b84dfaa97419202cd53
|
|
| MD5 |
0b3418fbda69201ebefff8e8922d34c9
|
|
| BLAKE2b-256 |
12d78eae910bebcaa8c553c9163c6461420b539e2f3d9bd70a26fb307b81915c
|
Provenance
The following attestation bundles were made for kg_archmap-0.6.0b0.tar.gz:
Publisher:
publish.yml on Kaua-KGzin/ArchMAP
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kg_archmap-0.6.0b0.tar.gz -
Subject digest:
8b809a648cd0fc7625b2d08efc225fee999a105130658b84dfaa97419202cd53 - Sigstore transparency entry: 1234521246
- Sigstore integration time:
-
Permalink:
Kaua-KGzin/ArchMAP@9d49b5743cb02d11915c8655d8079a038242b944 -
Branch / Tag:
refs/tags/v0.6.0b0 - Owner: https://github.com/Kaua-KGzin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9d49b5743cb02d11915c8655d8079a038242b944 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kg_archmap-0.6.0b0-py3-none-any.whl.
File metadata
- Download URL: kg_archmap-0.6.0b0-py3-none-any.whl
- Upload date:
- Size: 135.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a850f1fc2932abdf42ec18817e8ce25c68f3add6e7d171ffcc698d0fced7959
|
|
| MD5 |
03eae5d79e61c6787a51375dba913905
|
|
| BLAKE2b-256 |
f3aa8abb1b2de9e59d2e180e4fb1cc25bbfb3ad71f309530d4328279e788d0ff
|
Provenance
The following attestation bundles were made for kg_archmap-0.6.0b0-py3-none-any.whl:
Publisher:
publish.yml on Kaua-KGzin/ArchMAP
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kg_archmap-0.6.0b0-py3-none-any.whl -
Subject digest:
6a850f1fc2932abdf42ec18817e8ce25c68f3add6e7d171ffcc698d0fced7959 - Sigstore transparency entry: 1234521291
- Sigstore integration time:
-
Permalink:
Kaua-KGzin/ArchMAP@9d49b5743cb02d11915c8655d8079a038242b944 -
Branch / Tag:
refs/tags/v0.6.0b0 - Owner: https://github.com/Kaua-KGzin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9d49b5743cb02d11915c8655d8079a038242b944 -
Trigger Event:
push
-
Statement type: