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.
- {code_split-0.1.0a8 → code_split-0.1.0a10}/Cargo.lock +5 -5
- {code_split-0.1.0a8 → code_split-0.1.0a10}/Cargo.toml +5 -5
- code_split-0.1.0a10/PKG-INFO +119 -0
- code_split-0.1.0a10/README.md +95 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/pyproject.toml +1 -1
- code_split-0.1.0a8/PKG-INFO +0 -85
- code_split-0.1.0a8/README.md +0 -61
- {code_split-0.1.0a8 → code_split-0.1.0a10}/LICENSE +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/Cargo.toml +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/app.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/dagre.min.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/diagram.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/diff.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/export-popup.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/graphviz.umd.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/index.css +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/index.html +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/layout.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/modal.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/nav.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/node-table.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/panzoom.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/state.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/summary.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/ui.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/assets/utils.js +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/config.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/git.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/logger.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/main.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/plugin/javascript.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/plugin/mod.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/plugin/python.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-cli/src/plugin/rust.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-complexity/Cargo.toml +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-complexity/examples/bench.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-complexity/examples/debug_spaces.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-complexity/src/lib.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/Cargo.toml +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/builder.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/cycles.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/diff.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/graph.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/hk.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/lib.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/semantic.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/snapshot.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-core/src/stats.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-sema/Cargo.toml +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-sema/src/lib.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-syn/Cargo.toml +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-syn/examples/bench_complexity.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-syn/src/crate_graph.rs +0 -0
- {code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-syn/src/lib.rs +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
16
|
-
code-split-syn = { path = "crates/code-split-syn", version = "0.1.0-alpha.
|
|
17
|
-
code-split-sema = { path = "crates/code-split-sema", version = "0.1.0-alpha.
|
|
18
|
-
code-split-complexity = { path = "crates/code-split-complexity", version = "0.1.0-alpha.
|
|
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.
|
|
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"
|
code_split-0.1.0a8/PKG-INFO
DELETED
|
@@ -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
|
-
|
code_split-0.1.0a8/README.md
DELETED
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-complexity/examples/debug_spaces.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_split-0.1.0a8 → code_split-0.1.0a10}/crates/code-split-syn/examples/bench_complexity.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|