code-split 0.1.0a8__tar.gz → 0.1.0a10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. {code_split-0.1.0a8 → code_split-0.1.0a10}/Cargo.lock +5 -5
  2. {code_split-0.1.0a8 → code_split-0.1.0a10}/Cargo.toml +5 -5
  3. code_split-0.1.0a10/PKG-INFO +119 -0
  4. code_split-0.1.0a10/README.md +95 -0
  5. {code_split-0.1.0a8 → code_split-0.1.0a10}/pyproject.toml +1 -1
  6. code_split-0.1.0a8/PKG-INFO +0 -85
  7. code_split-0.1.0a8/README.md +0 -61
  8. {code_split-0.1.0a8 → code_split-0.1.0a10}/LICENSE +0 -0
  9. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/Cargo.toml +0 -0
  10. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/app.js +0 -0
  11. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/dagre.min.js +0 -0
  12. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/diagram.js +0 -0
  13. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/diff.js +0 -0
  14. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/export-popup.js +0 -0
  15. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/graphviz.umd.js +0 -0
  16. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/index.css +0 -0
  17. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/index.html +0 -0
  18. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/layout.js +0 -0
  19. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/modal.js +0 -0
  20. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/nav.js +0 -0
  21. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/node-table.js +0 -0
  22. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/panzoom.js +0 -0
  23. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/state.js +0 -0
  24. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/summary.js +0 -0
  25. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/ui.js +0 -0
  26. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/utils.js +0 -0
  27. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/config.rs +0 -0
  28. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/git.rs +0 -0
  29. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/logger.rs +0 -0
  30. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/main.rs +0 -0
  31. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/plugin/javascript.rs +0 -0
  32. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/plugin/mod.rs +0 -0
  33. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/plugin/python.rs +0 -0
  34. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/plugin/rust.rs +0 -0
  35. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-complexity/Cargo.toml +0 -0
  36. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-complexity/examples/bench.rs +0 -0
  37. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-complexity/examples/debug_spaces.rs +0 -0
  38. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-complexity/src/lib.rs +0 -0
  39. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/Cargo.toml +0 -0
  40. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/builder.rs +0 -0
  41. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/cycles.rs +0 -0
  42. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/diff.rs +0 -0
  43. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/graph.rs +0 -0
  44. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/hk.rs +0 -0
  45. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/lib.rs +0 -0
  46. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/semantic.rs +0 -0
  47. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/snapshot.rs +0 -0
  48. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/stats.rs +0 -0
  49. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-sema/Cargo.toml +0 -0
  50. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-sema/src/lib.rs +0 -0
  51. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-syn/Cargo.toml +0 -0
  52. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-syn/examples/bench_complexity.rs +0 -0
  53. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-syn/src/crate_graph.rs +0 -0
  54. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-syn/src/lib.rs +0 -0
  55. {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-syn/src/module_graph.rs +0 -0
@@ -296,7 +296,7 @@ dependencies = [
296
296
 
297
297
  [[package]]
298
298
  name = "code-split"
299
- version = "0.1.0-alpha.8"
299
+ version = "0.1.0-alpha.10"
300
300
  dependencies = [
301
301
  "anyhow",
302
302
  "chrono",
@@ -320,7 +320,7 @@ dependencies = [
320
320
 
321
321
  [[package]]
322
322
  name = "code-split-complexity"
323
- version = "0.1.0-alpha.8"
323
+ version = "0.1.0-alpha.10"
324
324
  dependencies = [
325
325
  "anyhow",
326
326
  "code-split-core",
@@ -331,7 +331,7 @@ dependencies = [
331
331
 
332
332
  [[package]]
333
333
  name = "code-split-core"
334
- version = "0.1.0-alpha.8"
334
+ version = "0.1.0-alpha.10"
335
335
  dependencies = [
336
336
  "chrono",
337
337
  "petgraph 0.6.5",
@@ -341,7 +341,7 @@ dependencies = [
341
341
 
342
342
  [[package]]
343
343
  name = "code-split-sema"
344
- version = "0.1.0-alpha.8"
344
+ version = "0.1.0-alpha.10"
345
345
  dependencies = [
346
346
  "anyhow",
347
347
  "code-split-core",
@@ -357,7 +357,7 @@ dependencies = [
357
357
 
358
358
  [[package]]
359
359
  name = "code-split-syn"
360
- version = "0.1.0-alpha.8"
360
+ version = "0.1.0-alpha.10"
361
361
  dependencies = [
362
362
  "anyhow",
363
363
  "cargo_metadata 0.18.1",
@@ -3,7 +3,7 @@ members = ["crates/*"]
3
3
  resolver = "3"
4
4
 
5
5
  [workspace.package]
6
- version = "0.1.0-alpha.8"
6
+ version = "0.1.0-alpha.10"
7
7
  edition = "2024"
8
8
  rust-version = "1.95"
9
9
  license = "Apache-2.0"
@@ -12,10 +12,10 @@ keywords = ["dependency-graph", "coupling", "refactoring", "code-quality", "stat
12
12
  categories = ["development-tools", "command-line-utilities"]
13
13
 
14
14
  [workspace.dependencies]
15
- code-split-core = { path = "crates/code-split-core", version = "0.1.0-alpha.8" }
16
- code-split-syn = { path = "crates/code-split-syn", version = "0.1.0-alpha.8" }
17
- code-split-sema = { path = "crates/code-split-sema", version = "0.1.0-alpha.8" }
18
- code-split-complexity = { path = "crates/code-split-complexity", version = "0.1.0-alpha.8" }
15
+ code-split-core = { path = "crates/code-split-core", version = "0.1.0-alpha.10" }
16
+ code-split-syn = { path = "crates/code-split-syn", version = "0.1.0-alpha.10" }
17
+ code-split-sema = { path = "crates/code-split-sema", version = "0.1.0-alpha.10" }
18
+ code-split-complexity = { path = "crates/code-split-complexity", version = "0.1.0-alpha.10" }
19
19
 
20
20
  anyhow = "1.0"
21
21
  globset = "0.4"
@@ -0,0 +1,119 @@
1
+ Metadata-Version: 2.4
2
+ Name: code-split
3
+ Version: 0.1.0a10
4
+ Classifier: Development Status :: 3 - Alpha
5
+ Classifier: Environment :: Console
6
+ Classifier: Intended Audience :: Developers
7
+ Classifier: License :: OSI Approved :: Apache Software License
8
+ Classifier: Operating System :: MacOS
9
+ Classifier: Operating System :: POSIX :: Linux
10
+ Classifier: Operating System :: Microsoft :: Windows
11
+ Classifier: Programming Language :: Rust
12
+ Classifier: Topic :: Software Development :: Libraries
13
+ Classifier: Topic :: Software Development :: Quality Assurance
14
+ License-File: LICENSE
15
+ Summary: Polyglot structural-analysis platform: extract dependency graphs, visualize coupling, track architectural drift.
16
+ Keywords: dependency-graph,coupling,refactoring,code-quality,static-analysis
17
+ Author-email: Roman Fedorov <Roman.Fedorov@constructor.tech>
18
+ License-Expression: Apache-2.0
19
+ Requires-Python: >=3.8
20
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
21
+ Project-URL: Issues, https://github.com/ffedoroff/code-split/issues
22
+ Project-URL: Repository, https://github.com/ffedoroff/code-split
23
+
24
+ # code-split
25
+
26
+ Structural-analysis tool for **Rust, Python, JavaScript and TypeScript** codebases. Built **AI-agent-friendly first** — finds where a project has structural problems and hands an actionable shortlist to a human or an AI agent for the actual refactor.
27
+
28
+ **Status:** pre-alpha. APIs and output shapes may change without notice. Pin a specific version.
29
+
30
+ ## What it finds
31
+
32
+ - **Components that grew too complex and should be split.** Per-function and per-module cyclomatic / cognitive / Halstead / MI metrics; flags entities above your threshold.
33
+ - **Strong coupling between components.** Computes fan-in / fan-out / HK on the call and module graphs; surfaces the modules that everything depends on (or that depend on everything).
34
+ - **Cyclic dependencies.** Detects SCCs at module, file and function level — including the silent ones the compiler does not catch.
35
+ - **Files that are just too big.** Raw LOC, public surface size, item / method counts per file.
36
+
37
+ The tool **does not refactor for you**. It produces a structured, machine-readable list of problem spots and an offline HTML report a human or an LLM can act on.
38
+
39
+ ## CI integration
40
+
41
+ Runs as a linter. Configure thresholds in `code-split.toml`; the CLI exits non-zero when the codebase breaches them — so a PR that introduces a new cycle, a function above your cognitive budget, or a file above your LOC limit fails the build.
42
+
43
+ ```sh
44
+ code-split analyze --plugin rust . && \
45
+ code-split lint --max-cycles 0 --max-cognitive 25 --max-loc 800
46
+ ```
47
+
48
+ ## Full CLI
49
+
50
+ Written in Rust — fast, memory-safe, single static-ish binary with **no runtime dependencies** (no Python, no Node, no JVM, no shared libs to install). One file on PATH, done.
51
+
52
+ Everything is driven from the command line: `analyze` → snapshot JSON, `report` → offline HTML, `diff` → before/after report between two snapshots, `lint` → CI gate. No daemon, no language server, no plugin host required at runtime.
53
+
54
+ ## HTML report with dynamic diagrams
55
+
56
+ `code-split report` writes a single self-contained HTML file with:
57
+
58
+ - Three interactive levels: modules, files, functions.
59
+ - Dagre-laid-out graph with pan/zoom and live filtering.
60
+ - Sortable tables per metric; click a node to open its neighbourhood.
61
+ - "Prompt generator" panel that copies a ready-to-paste prompt (one for each principle: ADP, SRP, OCP, LSP, ISP, DIP, DRY, KISS, LoD, MISU, CoI, YAGNI; plus *Reduce Complexity*, *Split Components*) — feed the prompt + the selected nodes to your AI agent.
62
+
63
+ No network, no analytics, no telemetry. Open in any browser, share as a file.
64
+
65
+ ## Install
66
+
67
+ Pick a channel:
68
+
69
+ ```sh
70
+ # universal — shell installer that drops the prebuilt binary on PATH
71
+ curl -fsSL https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.sh | sh
72
+
73
+ # Windows
74
+ powershell -ExecutionPolicy ByPass -c "irm https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.ps1 | iex"
75
+
76
+ # Rust (Cargo)
77
+ cargo install code-split --version 0.1.0-alpha.10
78
+
79
+ # Node (npm)
80
+ npm install -g code-split
81
+
82
+ # Python (pip / uv / pipx)
83
+ pip install code-split
84
+
85
+ # Docker (Docker Hub)
86
+ docker pull ffedoroff/code-split:0.1.0-alpha.10
87
+
88
+ # Docker (GHCR — no anonymous rate limits)
89
+ docker pull ghcr.io/ffedoroff/code-split:0.1.0-alpha.10
90
+ ```
91
+
92
+ All channels ship the same `code-split` binary built from the same Rust source. Linux (x86_64, aarch64), macOS (x86_64, aarch64), Windows (x86_64).
93
+
94
+ ## Quick start
95
+
96
+ ```sh
97
+ # extract dependency graphs from a workspace
98
+ code-split analyze --plugin rust ./path/to/project
99
+ # → modules.json / files.json / functions.json
100
+
101
+ # generate an offline interactive HTML report
102
+ code-split report ./snapshots/latest
103
+
104
+ # before / after refactor comparison
105
+ code-split diff ./snapshots/before ./snapshots/after
106
+ ```
107
+
108
+ Built-in plugins: `rust` (cargo + syn + rust-analyzer), `python`, `javascript` (also handles TypeScript). Third-party plugins resolved as `code-split-plugin-<name>` on PATH.
109
+
110
+ ## Documentation
111
+
112
+ - [PRD](docs/PRD.md) — product requirements
113
+ - [DESIGN](docs/DESIGN.md) — technical design
114
+ - [Principles corpus](principles/) — Rust / Python / TypeScript principle catalogues used by the prompt generator
115
+
116
+ ## License
117
+
118
+ Apache-2.0.
119
+
@@ -0,0 +1,95 @@
1
+ # code-split
2
+
3
+ Structural-analysis tool for **Rust, Python, JavaScript and TypeScript** codebases. Built **AI-agent-friendly first** — finds where a project has structural problems and hands an actionable shortlist to a human or an AI agent for the actual refactor.
4
+
5
+ **Status:** pre-alpha. APIs and output shapes may change without notice. Pin a specific version.
6
+
7
+ ## What it finds
8
+
9
+ - **Components that grew too complex and should be split.** Per-function and per-module cyclomatic / cognitive / Halstead / MI metrics; flags entities above your threshold.
10
+ - **Strong coupling between components.** Computes fan-in / fan-out / HK on the call and module graphs; surfaces the modules that everything depends on (or that depend on everything).
11
+ - **Cyclic dependencies.** Detects SCCs at module, file and function level — including the silent ones the compiler does not catch.
12
+ - **Files that are just too big.** Raw LOC, public surface size, item / method counts per file.
13
+
14
+ The tool **does not refactor for you**. It produces a structured, machine-readable list of problem spots and an offline HTML report a human or an LLM can act on.
15
+
16
+ ## CI integration
17
+
18
+ Runs as a linter. Configure thresholds in `code-split.toml`; the CLI exits non-zero when the codebase breaches them — so a PR that introduces a new cycle, a function above your cognitive budget, or a file above your LOC limit fails the build.
19
+
20
+ ```sh
21
+ code-split analyze --plugin rust . && \
22
+ code-split lint --max-cycles 0 --max-cognitive 25 --max-loc 800
23
+ ```
24
+
25
+ ## Full CLI
26
+
27
+ Written in Rust — fast, memory-safe, single static-ish binary with **no runtime dependencies** (no Python, no Node, no JVM, no shared libs to install). One file on PATH, done.
28
+
29
+ Everything is driven from the command line: `analyze` → snapshot JSON, `report` → offline HTML, `diff` → before/after report between two snapshots, `lint` → CI gate. No daemon, no language server, no plugin host required at runtime.
30
+
31
+ ## HTML report with dynamic diagrams
32
+
33
+ `code-split report` writes a single self-contained HTML file with:
34
+
35
+ - Three interactive levels: modules, files, functions.
36
+ - Dagre-laid-out graph with pan/zoom and live filtering.
37
+ - Sortable tables per metric; click a node to open its neighbourhood.
38
+ - "Prompt generator" panel that copies a ready-to-paste prompt (one for each principle: ADP, SRP, OCP, LSP, ISP, DIP, DRY, KISS, LoD, MISU, CoI, YAGNI; plus *Reduce Complexity*, *Split Components*) — feed the prompt + the selected nodes to your AI agent.
39
+
40
+ No network, no analytics, no telemetry. Open in any browser, share as a file.
41
+
42
+ ## Install
43
+
44
+ Pick a channel:
45
+
46
+ ```sh
47
+ # universal — shell installer that drops the prebuilt binary on PATH
48
+ curl -fsSL https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.sh | sh
49
+
50
+ # Windows
51
+ powershell -ExecutionPolicy ByPass -c "irm https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.ps1 | iex"
52
+
53
+ # Rust (Cargo)
54
+ cargo install code-split --version 0.1.0-alpha.10
55
+
56
+ # Node (npm)
57
+ npm install -g code-split
58
+
59
+ # Python (pip / uv / pipx)
60
+ pip install code-split
61
+
62
+ # Docker (Docker Hub)
63
+ docker pull ffedoroff/code-split:0.1.0-alpha.10
64
+
65
+ # Docker (GHCR — no anonymous rate limits)
66
+ docker pull ghcr.io/ffedoroff/code-split:0.1.0-alpha.10
67
+ ```
68
+
69
+ All channels ship the same `code-split` binary built from the same Rust source. Linux (x86_64, aarch64), macOS (x86_64, aarch64), Windows (x86_64).
70
+
71
+ ## Quick start
72
+
73
+ ```sh
74
+ # extract dependency graphs from a workspace
75
+ code-split analyze --plugin rust ./path/to/project
76
+ # → modules.json / files.json / functions.json
77
+
78
+ # generate an offline interactive HTML report
79
+ code-split report ./snapshots/latest
80
+
81
+ # before / after refactor comparison
82
+ code-split diff ./snapshots/before ./snapshots/after
83
+ ```
84
+
85
+ Built-in plugins: `rust` (cargo + syn + rust-analyzer), `python`, `javascript` (also handles TypeScript). Third-party plugins resolved as `code-split-plugin-<name>` on PATH.
86
+
87
+ ## Documentation
88
+
89
+ - [PRD](docs/PRD.md) — product requirements
90
+ - [DESIGN](docs/DESIGN.md) — technical design
91
+ - [Principles corpus](principles/) — Rust / Python / TypeScript principle catalogues used by the prompt generator
92
+
93
+ ## License
94
+
95
+ Apache-2.0.
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "code-split"
7
- version = "0.1.0a8"
7
+ version = "0.1.0a10"
8
8
  description = "Polyglot structural-analysis platform: extract dependency graphs, visualize coupling, track architectural drift."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -1,85 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: code-split
3
- Version: 0.1.0a8
4
- Classifier: Development Status :: 3 - Alpha
5
- Classifier: Environment :: Console
6
- Classifier: Intended Audience :: Developers
7
- Classifier: License :: OSI Approved :: Apache Software License
8
- Classifier: Operating System :: MacOS
9
- Classifier: Operating System :: POSIX :: Linux
10
- Classifier: Operating System :: Microsoft :: Windows
11
- Classifier: Programming Language :: Rust
12
- Classifier: Topic :: Software Development :: Libraries
13
- Classifier: Topic :: Software Development :: Quality Assurance
14
- License-File: LICENSE
15
- Summary: Polyglot structural-analysis platform: extract dependency graphs, visualize coupling, track architectural drift.
16
- Keywords: dependency-graph,coupling,refactoring,code-quality,static-analysis
17
- Author-email: Roman Fedorov <Roman.Fedorov@constructor.tech>
18
- License-Expression: Apache-2.0
19
- Requires-Python: >=3.8
20
- Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
21
- Project-URL: Issues, https://github.com/ffedoroff/code-split/issues
22
- Project-URL: Repository, https://github.com/ffedoroff/code-split
23
-
24
- # code-split
25
-
26
- Polyglot structural-analysis platform. Extract dependency graphs at module / file / function granularity, visualize coupling as an offline HTML report, and track architectural drift between snapshots.
27
-
28
- **Status:** pre-alpha. APIs and output shapes may change without notice. Pin a specific version.
29
-
30
- ## Install
31
-
32
- Pick whichever channel fits your toolchain:
33
-
34
- ```sh
35
- # universal — installs prebuilt binary
36
- curl -fsSL https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.sh | sh
37
- ```
38
-
39
- ```sh
40
- # Rust users
41
- cargo install code-split --version 0.1.0-alpha.5
42
- ```
43
-
44
- ```sh
45
- # Node users
46
- npm install -g code-split
47
- ```
48
-
49
- ```sh
50
- # Python users
51
- pip install code-split
52
- ```
53
-
54
- ```powershell
55
- # Windows
56
- powershell -ExecutionPolicy ByPass -c "irm https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.ps1 | iex"
57
- ```
58
-
59
- All channels ship the same `code-split` binary built from the same source.
60
-
61
- ## Quick start
62
-
63
- ```sh
64
- # extract dependency graphs from a workspace (writes modules.json / files.json / functions.json)
65
- code-split analyze --plugin rust ./path/to/project
66
-
67
- # generate an offline HTML report
68
- code-split report ./snapshots/latest
69
-
70
- # diff two snapshots
71
- code-split diff ./snapshots/before ./snapshots/after
72
- ```
73
-
74
- Built-in language plugins: `rust`, `python`, `javascript` (also handles TypeScript). Third-party plugins are resolved as `code-split-plugin-<name>` on PATH.
75
-
76
- ## Documentation
77
-
78
- - [PRD](docs/PRD.md) — product requirements
79
- - [DESIGN](docs/DESIGN.md) — technical design
80
- - [Principles corpus](principles/) — Rust / Python / TypeScript principle catalogues used for prompt-based code review
81
-
82
- ## License
83
-
84
- Apache-2.0.
85
-
@@ -1,61 +0,0 @@
1
- # code-split
2
-
3
- Polyglot structural-analysis platform. Extract dependency graphs at module / file / function granularity, visualize coupling as an offline HTML report, and track architectural drift between snapshots.
4
-
5
- **Status:** pre-alpha. APIs and output shapes may change without notice. Pin a specific version.
6
-
7
- ## Install
8
-
9
- Pick whichever channel fits your toolchain:
10
-
11
- ```sh
12
- # universal — installs prebuilt binary
13
- curl -fsSL https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.sh | sh
14
- ```
15
-
16
- ```sh
17
- # Rust users
18
- cargo install code-split --version 0.1.0-alpha.5
19
- ```
20
-
21
- ```sh
22
- # Node users
23
- npm install -g code-split
24
- ```
25
-
26
- ```sh
27
- # Python users
28
- pip install code-split
29
- ```
30
-
31
- ```powershell
32
- # Windows
33
- powershell -ExecutionPolicy ByPass -c "irm https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.ps1 | iex"
34
- ```
35
-
36
- All channels ship the same `code-split` binary built from the same source.
37
-
38
- ## Quick start
39
-
40
- ```sh
41
- # extract dependency graphs from a workspace (writes modules.json / files.json / functions.json)
42
- code-split analyze --plugin rust ./path/to/project
43
-
44
- # generate an offline HTML report
45
- code-split report ./snapshots/latest
46
-
47
- # diff two snapshots
48
- code-split diff ./snapshots/before ./snapshots/after
49
- ```
50
-
51
- Built-in language plugins: `rust`, `python`, `javascript` (also handles TypeScript). Third-party plugins are resolved as `code-split-plugin-<name>` on PATH.
52
-
53
- ## Documentation
54
-
55
- - [PRD](docs/PRD.md) — product requirements
56
- - [DESIGN](docs/DESIGN.md) — technical design
57
- - [Principles corpus](principles/) — Rust / Python / TypeScript principle catalogues used for prompt-based code review
58
-
59
- ## License
60
-
61
- Apache-2.0.
File without changes