Skip to main content

codetwin

Zero-config, language-agnostic CLI that turns any git repository into high-quality visual documentation — useful from first git clone to ongoing refactoring.

Status: v2 architecture scaffold. Phase 1 of ROADMAP.md is underway; the binary builds and runs end-to-end but drivers currently produce empty CodeModels. See the TODO(Phase N.x) markers in the source for concrete work items.


Install

cargo install codetwin         # crates.io
uv tool install codetwin       # PyPI wrapper (native binary under the hood)
npm install -g codetwin        # npm wrapper

All three package managers install the same native binary. The npm/PyPI wrappers bootstrap the binary on first run via the cargo-dist installer.


Quick start

# Zero-config run — writes docs/architecture.md with the project-overview layout.
codetwin gen

# Inspect what CodeTwin detected.
codetwin list --drivers --layouts

# Re-render on every filesystem change.
codetwin gen --watch

# Dump the intermediate representation as JSON.
codetwin gen --dump-ir > codemodel.json

# Capture / diff architectural snapshots between commits.
codetwin snapshot --ref HEAD~5
codetwin diff HEAD~5 HEAD

Global flags work on every subcommand: --verbose, --quiet, -C/--cwd, --json.


Layouts

Name Audience Status
project-overview Developer who just cloned the repo Scaffolded
architecture-map Architect reviewing the system Scaffolded
c4 C4-model consumers Phase 6.a
metrics Coupling / circular-dep reporting Phase 6.b

codetwin list --layouts prints the live registry.


Configuration (codetwin.toml)

Everything is optional. See the checked-in codetwin.toml for an annotated starting point.

source_dirs      = ["src"]
output_file      = "docs/architecture.md"
layout           = "project-overview"
format           = "markdown"              # "html" is reserved for Phase 7
exclude_patterns = ["**/target/**", "**/node_modules/**"]

# Override auto-detected drivers:
# drivers = ["rust", "python"]

[[layers]]
name     = "CLI"
patterns = ["src/cli/**"]

Development

Requires Rust 1.93+ (edition 2024).

cargo fmt --all
cargo clippy --all-targets -- -D warnings
cargo test --all
cargo run -- list        # exercise the CLI

See tests/README.md for the testing cheatsheet (TDD + non-TDD workflows).

Release pipeline

cargo release → git-cliff → cargo-dist, with PyPI and npm wrapper workflows publishing after GitHub Releases. This is out of roadmap scope.


Repository

License

MIT

Metadata

Release files for codetwin 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for codetwin 0.2.0
File Size Uploaded
codetwin-0.2.0.tar.gz 2.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for codetwin 0.2.0
File Interpreter ABI Platform
codetwin-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.4 kB

Release files / codetwin-0.2.0.tar.gz

Download URL codetwin-0.2.0.tar.gz
Size 2.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2c6cbd5cc3db3891126631b2366c8de9486209e41f78e9bfa8ac812668564d7b
BLAKE2b-256 checksum
How to use checksums
e85dc0e01c2fb71f57da45c80db7fd3634d5b5f10ededd620e7054ae00786ec1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / codetwin-0.2.0-py3-none-any.whl

Download URL codetwin-0.2.0-py3-none-any.whl
Size 3.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e667cc221ff105b4d906b3cc5c7a9c37244d3bd67112a6d1d8c8e333059bb79
BLAKE2b-256 checksum
How to use checksums
671a66d02820e3691642a56808ac696ec66de2df5a5cc6ea05c4d2b9ed88a37f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.9

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page