code-split 0.1.1__py3-none-win_amd64.whl → 1.0.0a2__py3-none-win_amd64.whl
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.1.data → code_split-1.0.0a2.data}/scripts/code-split.exe +0 -0
- {code_split-0.1.1.dist-info → code_split-1.0.0a2.dist-info}/METADATA +21 -20
- code_split-1.0.0a2.dist-info/RECORD +6 -0
- code_split-1.0.0a2.dist-info/sboms/code-split.cyclonedx.json +3736 -0
- code_split-0.1.1.dist-info/RECORD +0 -6
- code_split-0.1.1.dist-info/sboms/code-split.cyclonedx.json +0 -10041
- {code_split-0.1.1.dist-info → code_split-1.0.0a2.dist-info}/WHEEL +0 -0
- {code_split-0.1.1.dist-info → code_split-1.0.0a2.dist-info}/licenses/LICENSE +0 -0
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-split
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0a2
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Environment :: Console
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -25,7 +25,7 @@ Project-URL: Repository, https://github.com/ffedoroff/code-split
|
|
|
25
25
|
|
|
26
26
|
[](https://github.com/ffedoroff/code-split/actions/workflows/ci.yml)
|
|
27
27
|
[](https://codecov.io/gh/ffedoroff/code-split)
|
|
28
|
-
[](https://deps.rs/crate/code-split/1.0.0-alpha.2)
|
|
29
29
|
[](https://crates.io/crates/code-split)
|
|
30
30
|
[](https://www.npmjs.com/package/code-split)
|
|
31
31
|
[](https://pypi.org/project/code-split/)
|
|
@@ -41,37 +41,37 @@ code-split always runs **entirely on your machine**. It makes **no network calls
|
|
|
41
41
|
|
|
42
42
|
## What it finds
|
|
43
43
|
|
|
44
|
-
- **
|
|
45
|
-
- **Strong coupling between
|
|
46
|
-
- **Cyclic dependencies.** Detects SCCs
|
|
47
|
-
- **Files that are just too big.** Raw LOC, public surface size
|
|
44
|
+
- **Files that grew too complex and should be split.** Per-file cyclomatic / cognitive / Halstead / MI metrics; flags files above your threshold.
|
|
45
|
+
- **Strong coupling between files.** Computes fan-in / fan-out / HK on the file dependency graph; surfaces the files that everything depends on (or that depend on everything). Third-party libraries are tracked separately as depth-1 external nodes (`fan_out_external`), so they never inflate your internal-coupling numbers.
|
|
46
|
+
- **Cyclic dependencies.** Detects SCCs in the file graph — including the silent ones the compiler does not catch.
|
|
47
|
+
- **Files that are just too big.** Raw LOC, public surface size per file.
|
|
48
48
|
|
|
49
49
|
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.
|
|
50
50
|
|
|
51
51
|
## CI integration
|
|
52
52
|
|
|
53
|
-
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
|
|
53
|
+
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 file above your cognitive budget, or a file above your LOC limit fails the build.
|
|
54
54
|
|
|
55
55
|
```sh
|
|
56
56
|
code-split check . \
|
|
57
|
-
--threshold
|
|
57
|
+
--threshold file.cognitive=25 --threshold file.loc=800
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
The linter is the `check` command — exits non-zero on any cycle or threshold violation (`mutual` and `chain` cycle checks are on by default). See [docs/CLI.md](docs/CLI.md) for all flags.
|
|
60
|
+
The linter is the `check` command — exits non-zero on any cycle or threshold violation, e.g. a PR that introduces a new file-level cycle or a file above your LOC limit (`mutual` and `chain` cycle checks are on by default). See [docs/CLI.md](docs/CLI.md) for all flags.
|
|
61
61
|
|
|
62
62
|
## Full CLI
|
|
63
63
|
|
|
64
64
|
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.
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
Two commands: `check` (linter — exits non-zero on violations; with `--baseline`, a relative regression gate) and `report` (snapshot JSON + offline HTML; with `--baseline`, a baseline↔current diff). Both accept a directory **or** an existing `.json`/`.html` snapshot as input — analyze once, then run cheap passes over the snapshot. No daemon, no language server, no plugin host required at runtime. Full reference: [docs/CLI.md](docs/CLI.md).
|
|
67
67
|
|
|
68
68
|
## HTML report with dynamic diagrams
|
|
69
69
|
|
|
70
70
|
`code-split report` writes a single self-contained HTML file with:
|
|
71
71
|
|
|
72
|
-
-
|
|
72
|
+
- An interactive file dependency graph; third-party libraries appear as depth-1 external nodes in a distinct amber colour with dashed edges.
|
|
73
73
|
- Dagre-laid-out graph with pan/zoom and live filtering.
|
|
74
|
-
- Sortable
|
|
74
|
+
- Sortable table per metric; click a node to open its neighbourhood.
|
|
75
75
|
- "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.
|
|
76
76
|
|
|
77
77
|
No network, no analytics, no telemetry. Open in any browser, share as a file.
|
|
@@ -90,7 +90,7 @@ curl -fsSL https://github.com/ffedoroff/code-split/releases/latest/download/code
|
|
|
90
90
|
powershell -ExecutionPolicy ByPass -c "irm https://github.com/ffedoroff/code-split/releases/latest/download/code-split-installer.ps1 | iex"
|
|
91
91
|
|
|
92
92
|
# Rust (Cargo)
|
|
93
|
-
cargo install code-split --version 0.
|
|
93
|
+
cargo install code-split --version 1.0.0-alpha.2
|
|
94
94
|
|
|
95
95
|
# Node (npm)
|
|
96
96
|
npm install -g code-split
|
|
@@ -99,10 +99,10 @@ npm install -g code-split
|
|
|
99
99
|
pip install code-split
|
|
100
100
|
|
|
101
101
|
# Docker (Docker Hub)
|
|
102
|
-
docker pull fedoroff/code-split:0.
|
|
102
|
+
docker pull fedoroff/code-split:1.0.0-alpha.2
|
|
103
103
|
|
|
104
104
|
# Docker (GHCR — no anonymous rate limits)
|
|
105
|
-
docker pull ghcr.io/ffedoroff/code-split:0.
|
|
105
|
+
docker pull ghcr.io/ffedoroff/code-split:1.0.0-alpha.2
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
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).
|
|
@@ -115,18 +115,19 @@ code-split check ./path/to/project
|
|
|
115
115
|
|
|
116
116
|
# analyze and write a snapshot JSON + offline HTML report
|
|
117
117
|
code-split report
|
|
118
|
-
# → .code-split/{
|
|
118
|
+
# → .code-split/{ts}-{git-hash-3}.json + .code-split/{ts}-{git-hash-3}.html
|
|
119
|
+
# (override paths via --output.<fmt>.path or [output.<fmt>] in code-split.toml)
|
|
119
120
|
|
|
120
|
-
# before / after refactor comparison
|
|
121
|
-
code-split
|
|
121
|
+
# before / after refactor comparison: an HTML diff against a baseline snapshot
|
|
122
|
+
code-split report . --baseline .code-split/before.json
|
|
122
123
|
```
|
|
123
124
|
|
|
124
|
-
Built-in plugins: `rust` (cargo + syn
|
|
125
|
+
Built-in plugins: `rust` (cargo + syn), `python`, `javascript` (also handles TypeScript) — all compiled into the single binary, nothing to install.
|
|
125
126
|
|
|
126
127
|
## Documentation
|
|
127
128
|
|
|
128
129
|
- [CLI](docs/CLI.md) — commands, flags, and examples
|
|
129
|
-
- [Rule reference](docs/ERRORS.md) — rule ids grouped by concern (`CYC`/`CPX`/`CPL`/`SIZ`),
|
|
130
|
+
- [Rule reference](docs/ERRORS.md) — rule ids grouped by concern (`CYC`/`CPX`/`CPL`/`SIZ`), per-file thresholds (`file`), what each flags, and how to fix it
|
|
130
131
|
- [Config](docs/config.md) — `code-split.toml` schema
|
|
131
132
|
- [PRD](docs/PRD.md) — product requirements
|
|
132
133
|
- [DESIGN](docs/DESIGN.md) — technical design
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
code_split-1.0.0a2.data/scripts/code-split.exe,sha256=pB46p7Bpu5gips1wb9z2NeyoIz9d1622WlHBOT-f1-0,21682688
|
|
2
|
+
code_split-1.0.0a2.dist-info/METADATA,sha256=WdV6J5Tinuoi5jPfKcdTqW7EluLI8mbJ6CnhoqMkN7A,7755
|
|
3
|
+
code_split-1.0.0a2.dist-info/WHEEL,sha256=fxUURV-tpz4EGoGaAcyzIZ0CMCngNhGnetS-bU4AaSg,94
|
|
4
|
+
code_split-1.0.0a2.dist-info/licenses/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
|
|
5
|
+
code_split-1.0.0a2.dist-info/sboms/code-split.cyclonedx.json,sha256=-f06_iRxuGVgnn_qXseO7f6V--rni1dldkuPLgmvXL4,119837
|
|
6
|
+
code_split-1.0.0a2.dist-info/RECORD,,
|