Skip to main content

Static architectural analysis and visualization for software codebases.

Project description

ArchMAP

CI Python License: MIT Version

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/graph
  • GET /api/history?limit=12
  • GET /api/health
  • GET /api/project
  • POST /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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kg_archmap-0.6.0b0.tar.gz (231.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kg_archmap-0.6.0b0-py3-none-any.whl (135.9 kB view details)

Uploaded Python 3

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

Hashes for kg_archmap-0.6.0b0.tar.gz
Algorithm Hash digest
SHA256 8b809a648cd0fc7625b2d08efc225fee999a105130658b84dfaa97419202cd53
MD5 0b3418fbda69201ebefff8e8922d34c9
BLAKE2b-256 12d78eae910bebcaa8c553c9163c6461420b539e2f3d9bd70a26fb307b81915c

See more details on using hashes here.

Provenance

The following attestation bundles were made for kg_archmap-0.6.0b0.tar.gz:

Publisher: publish.yml on Kaua-KGzin/ArchMAP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for kg_archmap-0.6.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a850f1fc2932abdf42ec18817e8ce25c68f3add6e7d171ffcc698d0fced7959
MD5 03eae5d79e61c6787a51375dba913905
BLAKE2b-256 f3aa8abb1b2de9e59d2e180e4fb1cc25bbfb3ad71f309530d4328279e788d0ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for kg_archmap-0.6.0b0-py3-none-any.whl:

Publisher: publish.yml on Kaua-KGzin/ArchMAP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page