{"id":51703517,"url":"https://github.com/heiswayi/archmap","last_synced_at":"2026-07-16T13:30:55.177Z","repository":{"id":365379537,"uuid":"1271207567","full_name":"heiswayi/archmap","owner":"heiswayi","description":"Generate a single, self-contained interactive architecture-map HTML from any project's source code.","archived":false,"fork":false,"pushed_at":"2026-06-17T04:02:15.000Z","size":35,"stargazers_count":3,"open_issues_count":1,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-17T06:03:44.643Z","etag":null,"topics":["architecture","architecture-visualization","cli","code-visualization","dependency-graph","developer-tools","documentation-tool","python","static-analysis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heiswayi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-16T12:43:30.000Z","updated_at":"2026-06-17T04:00:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/heiswayi/archmap","commit_stats":null,"previous_names":["heiswayi/archmap"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/heiswayi/archmap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heiswayi%2Farchmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heiswayi%2Farchmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heiswayi%2Farchmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heiswayi%2Farchmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heiswayi","download_url":"https://codeload.github.com/heiswayi/archmap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heiswayi%2Farchmap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35546266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-16T02:00:06.687Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["architecture","architecture-visualization","cli","code-visualization","dependency-graph","developer-tools","documentation-tool","python","static-analysis"],"created_at":"2026-07-16T13:30:54.010Z","updated_at":"2026-07-16T13:30:55.170Z","avatar_url":"https://github.com/heiswayi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# archmap\n\n**Generate a single, self-contained interactive architecture-map HTML from any project's source code.**\n\n`archmap` scans a project folder, infers its architectural layers, extracts modules / classes / functions / imports, resolves the dependency graph between files, and renders everything into **one** standalone HTML file — no server, no build step, no external assets.\n\n```bash\narchmap \u003cproject_folder_path\u003e\n```\n\nOpen the generated `*-architecture.html` in any browser and explore your codebase through five tabs.\n\n---\n\n## Features\n\n- **📊 Overview** — file/line/class/function counts, language breakdown, and a layer distribution chart.\n- **🏗️ Architecture Layers** — every file grouped into inferred layers (Entry Points, Config, Models, API, Services, Data Access, Integrations, UI, Utilities, Tests, Docs, Build/Ops).\n- **🔗 Dependencies** — internal import relationships resolved between in-project files, with \"depends on\" / \"used by\" edges.\n- **📁 File System** — a collapsible tree of everything scanned, each file clickable.\n- **🔎 Component Reference** — a searchable table of all components.\n- A detail side-panel for any component: layer, language, line count, classes, functions, methods, imports, and dependency links.\n\nEverything is embedded in a single HTML file (data is inlined as JSON), so it is trivial to share, archive, or commit.\n\n## Installation\n\narchmap is pure Python with **zero runtime dependencies**. Pick whichever fits.\n\n### Standalone binary (no Python needed)\n\nDownload the executable for your platform from the [latest release](https://github.com/heiswayi/archmap/releases/latest), then run it directly:\n\n| Platform | Asset |\n| --- | --- |\n| Linux (x86_64) | `archmap-linux-x86_64` |\n| macOS (Apple Silicon) | `archmap-macos-arm64` |\n| macOS (Intel) | `archmap-macos-x86_64` |\n| Windows (x86_64) | `archmap-windows-x86_64.exe` |\n\n```bash\n# Linux / macOS\nchmod +x archmap-linux-x86_64\n./archmap-linux-x86_64 /path/to/project\n```\n\n```powershell\n# Windows\n.\\archmap-windows-x86_64.exe C:\\path\\to\\project\n```\n\n### pipx (recommended if you have Python 3.8+)\n\nInstalls into an isolated environment and puts `archmap` on your PATH:\n\n```bash\npipx install archmap-cli                                   # from PyPI (provides the `archmap` command)\npipx install git+https://github.com/heiswayi/archmap       # from GitHub\n```\n\n### pip\n\n```bash\npip install archmap-cli        # from PyPI (provides the `archmap` command)\npip install .                  # from a source checkout\n```\n\nRequires Python 3.8+ (except the standalone binaries, which bundle their own runtime).\n\n## Usage\n\n```bash\n# Scan the current directory\narchmap .\n\n# Scan a specific project and open the result in your browser\narchmap /path/to/project --open\n\n# Custom output path and display name\narchmap /path/to/project -o report.html --name \"My Service\"\n\n# Ignore .gitignore rules while scanning\narchmap /path/to/project --no-gitignore\n```\n\n| Flag | Description |\n| --- | --- |\n| `path` | Project folder to scan (default: `.`). |\n| `-o, --output` | Output HTML path (default: `\u003cproject\u003e-architecture.html`). |\n| `-n, --name` | Project name shown in the report (default: folder name). |\n| `--open` | Open the report in the default browser when done. |\n| `--no-gitignore` | Do not honor the project's `.gitignore`. |\n| `-q, --quiet` | Suppress progress output. |\n| `-V, --version` | Print version. |\n\nThe output HTML path is also printed to stdout so it can be piped.\n\n## How it works\n\n1. **Scan** (`scanner.py`) — walks the tree, skipping common noise (`.git`, `node_modules`, build dirs, lockfiles, binaries) and honoring `.gitignore`.\n2. **Analyze** (`languages/`) — Python files are parsed with the standard-library `ast`; other languages (JS/TS, Go, Rust, Java, Ruby, C/C++, …) are read with language-aware regex heuristics to pull out classes, functions, and imports.\n3. **Classify** (`layers.py`) — each file is routed into an architectural layer using directory- and filename-based scoring.\n4. **Link** (`analyzer.py`) — raw imports are resolved against in-project files to build the dependency graph (both dotted module paths and relative file paths).\n5. **Render** (`renderer.py`) — the model is serialized to JSON and injected into a single HTML template.\n\n## Supported languages\n\nPython (deep `ast` analysis), JavaScript, TypeScript, Go, Rust, Java, Kotlin, Ruby, PHP, C#, Swift, C/C++, Shell, Vue, Svelte, plus structural files (YAML, TOML, JSON, Markdown, Dockerfile, Terraform, …).\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheiswayi%2Farchmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheiswayi%2Farchmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheiswayi%2Farchmap/lists"}