[package]
edition = "2024"
rust-version = "1.88"
name = "morpharch"
version = "2.0.0"
authors = ["Onur <onur@morpharch.dev>"]
build = false
exclude = [
".github/",
".claude/",
"demo-monorepo/",
"morpharch-demo/",
"test-repos/",
"screenshots/",
"*.gif",
"*.mp4",
"npm/",
"dist/",
"Dockerfile",
"install.sh",
"install.ps1",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Monorepo architecture drift visualizer with animated TUI"
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",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/onplt/morpharch"
[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"
[[package.metadata.generate-rpm.assets]]
source = "README.md"
dest = "/usr/share/doc/morpharch/README.md"
mode = "0644"
doc = true
[[package.metadata.generate-rpm.assets]]
source = "LICENSE-MIT"
dest = "/usr/share/licenses/morpharch/LICENSE-MIT"
mode = "0644"
[[package.metadata.generate-rpm.assets]]
source = "LICENSE-APACHE"
dest = "/usr/share/licenses/morpharch/LICENSE-APACHE"
mode = "0644"
[lib]
name = "morpharch"
path = "src/lib.rs"
[[bin]]
name = "morpharch"
path = "src/main.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.bincode]
version = "2.0"
features = ["serde"]
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.crossterm]
version = "0.29"
features = ["event-stream"]
[dependencies.dashmap]
version = "6.1"
[dependencies.dirs]
version = "6.0"
[dependencies.futures]
version = "0.3"
[dependencies.gix]
version = "0.80"
[dependencies.globset]
version = "0.4"
[dependencies.image]
version = "0.25"
features = ["gif"]
default-features = false
[dependencies.lru]
version = "0.16"
[dependencies.petgraph]
version = "0.8"
features = [
"serde-1",
"graphmap",
"stable_graph",
]
[dependencies.rand]
version = "0.9"
[dependencies.ratatui]
version = "0.29"
features = [
"all-widgets",
"unstable",
]
[dependencies.rayon]
version = "1.10"
[dependencies.rusqlite]
version = "0.38"
features = ["bundled"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.tokio]
version = "1.50"
features = ["full"]
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.tree-sitter]
version = "0.24"
[dependencies.tree-sitter-go]
version = "0.23"
[dependencies.tree-sitter-python]
version = "0.23"
[dependencies.tree-sitter-rust]
version = "0.23"
[dependencies.tree-sitter-typescript]
version = "0.23"
[dependencies.walkdir]
version = "2.5"
[profile.release]
lto = true
codegen-units = 1
strip = true