[package]
name = "morpharch"
version = "2.2.3"
edition = "2024"
rust-version = "1.88"
authors = ["Onur <onur@morpharch.dev>"]
description = "Monorepo architecture drift visualizer with animated TUI"
license = "MIT OR Apache-2.0"
repository = "https://github.com/onplt/morpharch"
homepage = "https://github.com/onplt/morpharch"
documentation = "https://docs.rs/morpharch"
readme = "README.md"
keywords = ["monorepo", "architecture", "drift", "tui", "dependency-graph"]
categories = ["command-line-utilities", "development-tools", "visualization"]
exclude = [
".github/",
".claude/",
"demo-monorepo/",
"morpharch-demo/",
"test-repos/",
"screenshots/",
"*.gif",
"*.mp4",
"npm/",
"dist/",
"Dockerfile",
"install.sh",
"install.ps1",
"web/src/",
"web/node_modules/",
"web/package.json",
"web/package-lock.json",
"web/vite.config.ts",
"web/tsconfig.json",
"web/tsconfig.node.json",
"web/tailwind.css",
"web/index.html",
]
[dependencies]
clap = { version = "4.5", features = ["derive"] }
gix = "0.80"
rusqlite = { version = "0.38", features = ["bundled"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
anyhow = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
bincode = { version = "2.0", features = ["serde"] }
chrono = { version = "0.4", features = ["serde"] }
dirs = "6.0"
petgraph = { version = "0.8", features = ["serde-1", "graphmap", "stable_graph"] }
tree-sitter = "0.24"
tree-sitter-rust = "0.23"
tree-sitter-typescript = "0.23"
tree-sitter-python = "0.23"
tree-sitter-go = "0.23"
walkdir = "2.5"
ratatui = { version = "0.29", features = ["all-widgets", "unstable"] }
tui-markdown = "=0.3.1"
crossterm = { version = "0.29", features = ["event-stream"] }
tokio = { version = "1.50", features = ["full"] }
futures = "0.3"
rand = "0.9"
rayon = "1.10"
dashmap = "6.1"
lru = "0.16"
image = { version = "0.25", default-features = false, features = ["gif"] }
toml = "0.8"
globset = "0.4"
reqwest = { version = "0.13.2", features = ["json", "stream"] }
axum = "0.8"
tower-http = { version = "0.6", features = ["cors", "set-header"] }
rust-embed = { version = "8", features = ["compression"] }
open = "5"
mime_guess = "2"
async-stream = "0.3"
[profile.release]
lto = true
codegen-units = 1
strip = true
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/morpharch-{ target }{ archive-suffix }"
bin-dir = "morpharch{ binary-ext }"
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.x86_64-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/morpharch-linux-x86_64.tar.gz"
[package.metadata.binstall.overrides.aarch64-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/morpharch-linux-aarch64.tar.gz"
[package.metadata.binstall.overrides.x86_64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/morpharch-macos-x86_64.tar.gz"
[package.metadata.binstall.overrides.aarch64-apple-darwin]
pkg-url = "{ repo }/releases/download/v{ version }/morpharch-macos-aarch64.tar.gz"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-url = "{ repo }/releases/download/v{ version }/morpharch-windows-x86_64.zip"
pkg-fmt = "zip"
[package.metadata.deb]
maintainer = "Onur <onur@morpharch.dev>"
copyright = "2026 Onur"
license-file = ["LICENSE-MIT", "0"]
extended-description = """\
MorphArch scans monorepo Git history, builds per-commit dependency \
graphs using tree-sitter AST parsing, calculates architectural health \
scores, and renders the results as an animated force-directed graph \
in your terminal."""
section = "devel"
priority = "optional"
assets = [
["target/release/morpharch", "usr/bin/", "755"],
["README.md", "usr/share/doc/morpharch/README.md", "644"],
["LICENSE-MIT", "usr/share/doc/morpharch/LICENSE-MIT", "644"],
["LICENSE-APACHE", "usr/share/doc/morpharch/LICENSE-APACHE", "644"],
]
[package.metadata.generate-rpm]
assets = [
{ source = "target/release/morpharch", dest = "/usr/bin/morpharch", mode = "0755" },
{ source = "README.md", dest = "/usr/share/doc/morpharch/README.md", mode = "0644", doc = true },
{ source = "LICENSE-MIT", dest = "/usr/share/licenses/morpharch/LICENSE-MIT", mode = "0644" },
{ source = "LICENSE-APACHE", dest = "/usr/share/licenses/morpharch/LICENSE-APACHE", mode = "0644" },
]