sourcecode 2.0.0__tar.gz → 2.0.1__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.
- {sourcecode-2.0.0 → sourcecode-2.0.1}/CHANGELOG.md +25 -44
- {sourcecode-2.0.0 → sourcecode-2.0.1}/CONTRIBUTING.md +3 -3
- {sourcecode-2.0.0 → sourcecode-2.0.1}/PKG-INFO +114 -117
- {sourcecode-2.0.0 → sourcecode-2.0.1}/README.md +113 -116
- {sourcecode-2.0.0 → sourcecode-2.0.1}/pyproject.toml +2 -3
- sourcecode-2.0.1/src/sourcecode/__init__.py +3 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/cli.py +196 -199
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/license.py +13 -31
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp/onboarding/applier.py +6 -14
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp/registry.py +22 -22
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp/runner.py +2 -2
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp/server.py +24 -24
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp_nudge.py +1 -1
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/migrate_check.py +64 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/repository_ir.py +1 -1
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/ris.py +1 -1
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/serializer.py +1 -1
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/summarizer.py +33 -2
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/telemetry/consent.py +1 -1
- {sourcecode-2.0.0 → sourcecode-2.0.1}/supabase/functions/README.md +1 -1
- sourcecode-2.0.0/src/sourcecode/__init__.py +0 -7
- {sourcecode-2.0.0 → sourcecode-2.0.1}/.github/workflows/build-windows.yml +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/.gitignore +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/.ruff.toml +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/LICENSE +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/SECURITY.md +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/raw +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/scripts/compare_integration_engines.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/scripts/customer_smoke_test.sh +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/scripts/generate_jdk_exports.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/adaptive_scanner.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/architecture_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/architecture_summary.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/ast_extractor.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/cache.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/call_surface.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/canonical_ir.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/cir_graphs.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/classifier.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/code_notes_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/confidence_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/context_graph.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/context_scorer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/context_summarizer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/contract_model.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/contract_pipeline.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/coverage_parser.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/dependency_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/__init__.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/base.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/csproj_parser.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/dart.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/dotnet.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/elixir.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/go.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/heuristic.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/hybrid.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/java.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/jvm_ext.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/nodejs.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/parsers.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/php.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/project.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/python.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/ruby.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/rust.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/systems.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/terraform.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/detectors/tooling.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/doc_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/dynamic_argument_surface.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/endpoint_literals.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/entrypoint_classifier.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/env_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/error_schema.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/evidence_provider.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/explain.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/file_chunker.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/file_classifier.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/format_contract.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/fqn_utils.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/git_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/graph_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/hibernate_strat.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/jdk_exports.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp/__init__.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp/onboarding/__init__.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp/onboarding/backup.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp/onboarding/detector.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp/onboarding/planner.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/mcp/orchestrator.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/metrics_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/openapi_surface.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/output_budget.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/path_filters.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/pr_comment_renderer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/pr_impact.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/prepare_context.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/progress.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/ranking_engine.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/redactor.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/relevance_scorer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/rename_refactor.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/repo_classifier.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/runtime_classifier.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/scanner.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/schema.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/security_config.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/semantic_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/semantic_impact_engine.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/semantic_integration_engine.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/semantic_services.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/spring_event_topology.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/spring_findings.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/spring_impact.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/spring_model.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/spring_security_audit.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/spring_semantic.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/spring_tx_analyzer.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/telemetry/__init__.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/telemetry/config.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/telemetry/events.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/telemetry/filters.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/telemetry/transport.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/tree_utils.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/type_usage_surface.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/validation_surface.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/version_check.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/src/sourcecode/workspace.py +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/supabase/functions/get-license/index.ts +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/supabase/functions/lemonsqueezy-webhook/index.ts +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/supabase/functions/telemetry/index.ts +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/supabase/sql/license_event_ordering.sql +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/supabase/sql/licensing_schema.sql +0 -0
- {sourcecode-2.0.0 → sourcecode-2.0.1}/supabase/sql/telemetry_events.sql +0 -0
|
@@ -1,49 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [2.0.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
the
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- **
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
**ASK Engine** and use `ask …` in every example. Package/install/config and
|
|
29
|
-
compatibility references are preserved and the compatibility strategy is
|
|
30
|
-
documented in `docs/PRODUCT_IDENTITY.md` (normative).
|
|
31
|
-
|
|
32
|
-
### Compatibility
|
|
33
|
-
|
|
34
|
-
- **PyPI/Homebrew distribution stays `sourcecode` this release**; installing it
|
|
35
|
-
provides both the `ask` and `sourcecode` commands. Renaming the distribution to
|
|
36
|
-
`ask-engine` is a separate, explicitly-breaking future change.
|
|
37
|
-
- Python package/import name (`sourcecode`), MCP protocol identity, cache format,
|
|
38
|
-
and all serialized/JSON outputs are unchanged.
|
|
39
|
-
|
|
40
|
-
### Also in this line (identity + precision, pre-2.0 increments)
|
|
41
|
-
|
|
42
|
-
- **Impact/`review-pr`**: a changed repository/service now surfaces **every**
|
|
43
|
-
affected entry point (controller) instead of collapsing an N-controller blast
|
|
44
|
-
radius to one — bounded by `max_impacts`, no new semantic fact, hash-neutral.
|
|
45
|
-
- **Product identity consolidation**: audited every `sourcecode` occurrence and
|
|
46
|
-
established `docs/PRODUCT_IDENTITY.md` as the normative product↔CLI mapping.
|
|
3
|
+
## [2.0.1] — 2026-07-10
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **`migrate-check --compact` — bounded decision summary.** A new opt-in view of the
|
|
8
|
+
migration report that keeps every decision field (readiness scores, headline blocker,
|
|
9
|
+
blocking count, estimated effort, executive summary, Hibernate classification, aggregate
|
|
10
|
+
counts) and caps each large collection to its top items with a `+N more` count. On real
|
|
11
|
+
monoliths the report shrinks ~97% (BroadleafCommerce 1.2 MB → 32 KB, OpenMRS 908 KB →
|
|
12
|
+
23 KB) — an agent or reviewer gets the verdict without the leaf-level firehose. The full
|
|
13
|
+
report remains the default output.
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- **`onboard` project summary no longer leaks raw README markup.** READMEs that open with
|
|
18
|
+
a logo block (`<img>` / `<p>` HTML) or use inline markdown links (`[label](url)`) had
|
|
19
|
+
produced summaries like `API: <img src="…"/>`. The summary is now rendered to clean prose
|
|
20
|
+
— HTML/badge blocks are skipped and inline links are unwrapped to their label.
|
|
21
|
+
- **More complete blast radius in `impact` and `review-pr`.** Change-impact analysis now
|
|
22
|
+
surfaces every affected entry point for a changed repository/service, reducing missed
|
|
23
|
+
callers on interface- and DI-wired code.
|
|
24
|
+
|
|
25
|
+
### Notes
|
|
26
|
+
|
|
27
|
+
- No breaking changes. Default command outputs are unchanged except where explicitly noted.
|
|
47
28
|
|
|
48
29
|
## [1.73.0] — 2026-07-01
|
|
49
30
|
|
|
@@ -30,8 +30,8 @@ This installs `sourcecode` in editable mode with all development dependencies (`
|
|
|
30
30
|
### Run the CLI locally
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
sourcecode . --agent
|
|
34
|
+
sourcecode . prepare-context explain
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
### Run tests
|
|
@@ -150,7 +150,7 @@ Keep commits atomic. One logical change per commit.
|
|
|
150
150
|
## Reporting bugs
|
|
151
151
|
|
|
152
152
|
Open an issue with:
|
|
153
|
-
- `
|
|
153
|
+
- `sourcecode --version` output
|
|
154
154
|
- Command you ran
|
|
155
155
|
- Expected behavior
|
|
156
156
|
- Actual behavior / error output
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sourcecode
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.1
|
|
4
4
|
Summary: Persistent structural context and ultra-fast repeated analysis for AI coding agents
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Keywords: agents,ai,codebase,context,developer-tools,llm
|
|
@@ -40,14 +40,12 @@ Description-Content-Type: text/markdown
|
|
|
40
40
|
|
|
41
41
|
**Persistent structural context and ultra-fast repeated analysis for AI coding agents.**
|
|
42
42
|
|
|
43
|
-

|
|
44
44
|

|
|
45
45
|
|
|
46
|
-
> **ASK Engine** is the product. The CLI
|
|
47
|
-
>
|
|
48
|
-
>
|
|
49
|
-
> for now. The authoritative version is whatever `ask version` reports. See
|
|
50
|
-
> [docs/PRODUCT_IDENTITY.md](docs/PRODUCT_IDENTITY.md).
|
|
46
|
+
> **ASK Engine** is the product. The CLI you install and run is **`sourcecode`** (the
|
|
47
|
+
> executable and Python package). The authoritative version is whatever
|
|
48
|
+
> `sourcecode version` reports.
|
|
51
49
|
|
|
52
50
|
---
|
|
53
51
|
|
|
@@ -83,19 +81,19 @@ Cache keyed on content hashes — invalidated only when source changes. On repea
|
|
|
83
81
|
|
|
84
82
|
## What changes at 0.3s vs 2.7s
|
|
85
83
|
|
|
86
|
-
At 2.7s per call, you use
|
|
84
|
+
At 2.7s per call, you use sourcecode to occasionally inspect a repo.
|
|
87
85
|
|
|
88
|
-
At 0.3s per call, you use
|
|
86
|
+
At 0.3s per call, you use sourcecode as **constant infrastructure** inside agent loops:
|
|
89
87
|
|
|
90
88
|
```
|
|
91
89
|
agent loop iteration:
|
|
92
|
-
1.
|
|
93
|
-
2.
|
|
90
|
+
1. sourcecode . --compact # 0.3s — instant structural context
|
|
91
|
+
2. sourcecode impact PaymentService . --depth 1 # 0.4s — blast radius check
|
|
94
92
|
3. agent makes targeted change
|
|
95
93
|
4. repeat
|
|
96
94
|
```
|
|
97
95
|
|
|
98
|
-
Sub-second context retrieval changes the cost model for agent workflows. You can call
|
|
96
|
+
Sub-second context retrieval changes the cost model for agent workflows. You can call sourcecode before every edit, before every PR review, before every test run — without batching or caching calls manually.
|
|
99
97
|
|
|
100
98
|
---
|
|
101
99
|
|
|
@@ -116,20 +114,11 @@ pip install sourcecode
|
|
|
116
114
|
pipx install sourcecode
|
|
117
115
|
```
|
|
118
116
|
|
|
119
|
-
> **Package vs. command.** The install package is still named `sourcecode` this
|
|
120
|
-
> release (renaming the PyPI/Homebrew distribution is a separate, breaking change).
|
|
121
|
-
> Installing it gives you the canonical **`ask`** command plus the deprecated
|
|
122
|
-
> **`sourcecode`** alias. A future release will publish `ask-engine` and drop the
|
|
123
|
-
> alias.
|
|
124
|
-
|
|
125
117
|
### Verify
|
|
126
118
|
|
|
127
119
|
```bash
|
|
128
|
-
ask version
|
|
129
|
-
# ask 2.0.0
|
|
130
|
-
|
|
131
|
-
# the deprecated alias still works (prints a one-line notice to stderr):
|
|
132
120
|
sourcecode version
|
|
121
|
+
# sourcecode 2.0.1
|
|
133
122
|
```
|
|
134
123
|
|
|
135
124
|
---
|
|
@@ -138,45 +127,45 @@ sourcecode version
|
|
|
138
127
|
|
|
139
128
|
```bash
|
|
140
129
|
# High-signal summary — warm cache: ~0.3s, cold: 2–10s depending on repo size
|
|
141
|
-
|
|
130
|
+
sourcecode --compact
|
|
142
131
|
|
|
143
132
|
# Add git hotspots and uncommitted file count
|
|
144
|
-
|
|
133
|
+
sourcecode --compact --git-context
|
|
145
134
|
|
|
146
135
|
# Structured output for AI agents — bounded, noise-free, ready to inject
|
|
147
|
-
|
|
136
|
+
sourcecode --agent
|
|
148
137
|
|
|
149
138
|
# Blast radius: what breaks if this class changes?
|
|
150
|
-
|
|
139
|
+
sourcecode impact OrderService /path/to/repo
|
|
151
140
|
|
|
152
141
|
# Spring Boot 2→3 migration readiness: javax→jakarta blockers, removed APIs
|
|
153
|
-
|
|
142
|
+
sourcecode migrate-check /path/to/repo
|
|
154
143
|
|
|
155
144
|
# Spring semantic audit: TX anomalies + security surface (free)
|
|
156
|
-
|
|
145
|
+
sourcecode spring-audit /path/to/repo
|
|
157
146
|
|
|
158
147
|
# Impact chain: systemic blast radius with TX/SEC enrichment (free)
|
|
159
|
-
|
|
148
|
+
sourcecode impact-chain OrderService /path/to/repo
|
|
160
149
|
|
|
161
150
|
# Event topology: publisher → event → consumer graph (free)
|
|
162
|
-
|
|
151
|
+
sourcecode impact-chain OrderPlacedEvent /path/to/repo --type events
|
|
163
152
|
|
|
164
153
|
# REST endpoint surface
|
|
165
|
-
|
|
154
|
+
sourcecode endpoints /path/to/repo
|
|
166
155
|
|
|
167
156
|
# Request-body validation per endpoint: constraints + custom validators (free)
|
|
168
157
|
# Recovers constraints from the OpenAPI spec, or directly from Java DTO
|
|
169
158
|
# bean-validation annotations when no spec is present.
|
|
170
|
-
|
|
159
|
+
sourcecode validation /path/to/repo
|
|
171
160
|
|
|
172
161
|
# Onboard to an unfamiliar codebase
|
|
173
|
-
|
|
162
|
+
sourcecode onboard /path/to/repo
|
|
174
163
|
|
|
175
164
|
# PR review: risk, test gaps, changed modules
|
|
176
|
-
|
|
165
|
+
sourcecode review-pr /path/to/repo --since main
|
|
177
166
|
|
|
178
167
|
# Bug triage: risk-ranked files by symptom
|
|
179
|
-
|
|
168
|
+
sourcecode fix-bug /path/to/repo --symptom "NullPointerException in checkout"
|
|
180
169
|
```
|
|
181
170
|
|
|
182
171
|
---
|
|
@@ -194,21 +183,21 @@ ASK Engine maintains a persistent cache at `.sourcecode-cache/` inside each repo
|
|
|
194
183
|
|
|
195
184
|
```bash
|
|
196
185
|
# Inspect cache state
|
|
197
|
-
|
|
186
|
+
sourcecode cache status
|
|
198
187
|
|
|
199
188
|
# Warm the cache ahead of an agent session
|
|
200
|
-
|
|
189
|
+
sourcecode cache warm
|
|
201
190
|
|
|
202
191
|
# Clear cache
|
|
203
|
-
|
|
192
|
+
sourcecode cache clear
|
|
204
193
|
|
|
205
194
|
# Check RIS freshness relative to current git HEAD
|
|
206
|
-
|
|
195
|
+
sourcecode cache freshness
|
|
207
196
|
```
|
|
208
197
|
|
|
209
198
|
**`--no-cache`** bypasses both layers and forces a fresh scan. Use in CI or when you need to verify a fresh result.
|
|
210
199
|
|
|
211
|
-
**Visibility:** Cache hits are silent. Use `
|
|
200
|
+
**Visibility:** Cache hits are silent. Use `sourcecode cache status` to see cache size, hit keys, and last-warmed timestamp.
|
|
212
201
|
|
|
213
202
|
---
|
|
214
203
|
|
|
@@ -218,66 +207,66 @@ ask cache freshness
|
|
|
218
207
|
|
|
219
208
|
```bash
|
|
220
209
|
# Inject as first message to agent (bounded, deterministic)
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
210
|
+
sourcecode /repo --compact # ~2,500–4,000 tokens
|
|
211
|
+
sourcecode /repo --agent # ~4,500–5,500 tokens — more detail
|
|
212
|
+
sourcecode onboard /repo # task-structured: entry points, key files, gaps
|
|
224
213
|
```
|
|
225
214
|
|
|
226
215
|
### Before every change — blast radius + TX/SEC check
|
|
227
216
|
|
|
228
217
|
```bash
|
|
229
218
|
# Always target the INTERFACE in Spring projects, not the implementation:
|
|
230
|
-
|
|
231
|
-
|
|
219
|
+
sourcecode impact OrderService /repo # ✓ 30 callers, 11 endpoints
|
|
220
|
+
sourcecode impact OrderServiceImpl /repo # ✗ 0 callers (Spring DI blindness)
|
|
232
221
|
|
|
233
222
|
# Impact chain: blast radius enriched with TX boundary and security surfaces
|
|
234
|
-
|
|
223
|
+
sourcecode impact-chain OrderService /repo
|
|
235
224
|
|
|
236
225
|
# Event topology: who publishes/consumes this event, and in what TX phase?
|
|
237
|
-
|
|
226
|
+
sourcecode impact-chain OrderPlacedEvent /repo --type events
|
|
238
227
|
|
|
239
228
|
# Spring audit: catch TX anomalies before they hit production
|
|
240
|
-
|
|
229
|
+
sourcecode spring-audit /repo --scope tx
|
|
241
230
|
```
|
|
242
231
|
|
|
243
232
|
### Continuous agent loop — delta context
|
|
244
233
|
|
|
245
234
|
```bash
|
|
246
235
|
# Only changed files + their transitive importers — minimal token cost:
|
|
247
|
-
|
|
248
|
-
|
|
236
|
+
sourcecode prepare-context delta /repo --since HEAD~1
|
|
237
|
+
sourcecode . --changed-only --git-context
|
|
249
238
|
```
|
|
250
239
|
|
|
251
240
|
### PR review — structured risk signal
|
|
252
241
|
|
|
253
242
|
```bash
|
|
254
243
|
# JSON for programmatic use:
|
|
255
|
-
|
|
244
|
+
sourcecode review-pr /repo --since main --output review.json
|
|
256
245
|
jq '.ci_decision' review.json # "analysis_success" | "git_ref_error"
|
|
257
246
|
|
|
258
247
|
# Markdown for GitHub comment:
|
|
259
|
-
|
|
248
|
+
sourcecode review-pr /repo --since main --format github-comment
|
|
260
249
|
```
|
|
261
250
|
|
|
262
251
|
### Bug triage — symptom-driven
|
|
263
252
|
|
|
264
253
|
```bash
|
|
265
254
|
# Specific symptoms produce the best signal:
|
|
266
|
-
|
|
267
|
-
|
|
255
|
+
sourcecode fix-bug /repo --symptom "OIDC token refresh fails after realm update"
|
|
256
|
+
sourcecode fix-bug /repo --symptom "NullPointerException in OrderService during checkout"
|
|
268
257
|
|
|
269
258
|
# Generic symptoms produce noisy output — be specific.
|
|
270
|
-
|
|
259
|
+
sourcecode fix-bug /repo --symptom "payment timeout" --output triage.json
|
|
271
260
|
```
|
|
272
261
|
|
|
273
262
|
### In CI — cached, deterministic, fast
|
|
274
263
|
|
|
275
264
|
```bash
|
|
276
265
|
# Content-hash cached — safe to run on every commit; cold only when code changes
|
|
277
|
-
|
|
266
|
+
sourcecode /repo --compact --output context.json
|
|
278
267
|
|
|
279
268
|
# PR gate
|
|
280
|
-
|
|
269
|
+
sourcecode review-pr /repo --since $BASE_REF --output review.json
|
|
281
270
|
DECISION=$(jq -r '.ci_decision' review.json)
|
|
282
271
|
if [ "$DECISION" != "analysis_success" ]; then echo "Review failed: $DECISION"; fi
|
|
283
272
|
```
|
|
@@ -335,7 +324,7 @@ when the work gets bigger or automated.
|
|
|
335
324
|
files only, by design. ASK Engine monetises enterprise Java monoliths.
|
|
336
325
|
|
|
337
326
|
```bash
|
|
338
|
-
|
|
327
|
+
sourcecode activate <key> # activate a license key
|
|
339
328
|
```
|
|
340
329
|
|
|
341
330
|
Full breakdown: [docs/PRODUCT_TIERS.md](docs/PRODUCT_TIERS.md).
|
|
@@ -356,9 +345,9 @@ Core flags. Feed directly to AI agents as first-message context.
|
|
|
356
345
|
### `impact` — blast-radius analysis [free ≤500 Java files · Pro above]
|
|
357
346
|
|
|
358
347
|
```bash
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
348
|
+
sourcecode impact ClassName /path/to/repo
|
|
349
|
+
sourcecode impact org.example.OrderService /path/to/repo # FQN also accepted
|
|
350
|
+
sourcecode impact OrderService . --depth 2 # limit BFS depth
|
|
362
351
|
```
|
|
363
352
|
|
|
364
353
|
| Field | Description |
|
|
@@ -383,9 +372,9 @@ ask impact OrderService . --depth 2 # limit BFS depth
|
|
|
383
372
|
### `endpoints` — REST API surface
|
|
384
373
|
|
|
385
374
|
```bash
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
375
|
+
sourcecode endpoints /path/to/repo
|
|
376
|
+
sourcecode endpoints /path/to/repo --output endpoints.json
|
|
377
|
+
sourcecode endpoints /path/to/repo --by-controller
|
|
389
378
|
```
|
|
390
379
|
|
|
391
380
|
Extracts all Spring MVC (`@GetMapping`, `@PostMapping`, `@RequestMapping`, etc.) and JAX-RS (`@GET`, `@POST`, `@Path`) endpoint methods. Returns HTTP method, path, controller class, and handler method. Each endpoint also carries its `return_type`. `--by-controller` groups the surface per controller (`{by_controller, controller_count, total}`) for an API-surface view.
|
|
@@ -414,10 +403,10 @@ Matching endpoints then report `policy: "custom"` with `annotation`, `resourceNa
|
|
|
414
403
|
### `export` — architecture views for downstream tooling
|
|
415
404
|
|
|
416
405
|
```bash
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
406
|
+
sourcecode export /path/to/repo --by-directory # code map, path:line refs
|
|
407
|
+
sourcecode export /path/to/repo --module-graph # module→module dependencies
|
|
408
|
+
sourcecode export /path/to/repo --integrations # outbound HTTP/LDAP/JMS clients
|
|
409
|
+
sourcecode export /path/to/repo --c4 # unified architecture + manifest
|
|
421
410
|
```
|
|
422
411
|
|
|
423
412
|
Emits **structured, tool-agnostic** codebase views as plain JSON/YAML — the kind of input an architecture-doc generator, diagram renderer, or code-search agent can consume directly instead of walking the tree file by file. Section labels map to the open [C4 model](https://c4model.com) (an open architecture notation, not a product); the schema is vendor-neutral.
|
|
@@ -434,15 +423,15 @@ The section flags compose (pass several for one multi-section document); `--c4`
|
|
|
434
423
|
### `spring-audit` — Spring semantic audit [free]
|
|
435
424
|
|
|
436
425
|
```bash
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
426
|
+
sourcecode spring-audit /path/to/repo
|
|
427
|
+
sourcecode spring-audit /path/to/repo --scope tx # TX anomalies only
|
|
428
|
+
sourcecode spring-audit /path/to/repo --scope security # security surface only
|
|
429
|
+
sourcecode spring-audit /path/to/repo --min-severity high
|
|
441
430
|
|
|
442
431
|
# CI/CD gate: exit 1 on any finding
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
432
|
+
sourcecode spring-audit . --ci
|
|
433
|
+
sourcecode spring-audit . --ci --min-severity high # exit 1 only on high/critical
|
|
434
|
+
sourcecode spring-audit . --ci --format github-comment # Markdown output + exit 1
|
|
446
435
|
```
|
|
447
436
|
|
|
448
437
|
Detects structural Spring anomalies that survive code review and tests, but cause production failures:
|
|
@@ -465,9 +454,9 @@ Endpoints guarded by a project-specific authorization annotation are treated as
|
|
|
465
454
|
### `impact-chain` — systemic blast radius with TX/SEC enrichment [free]
|
|
466
455
|
|
|
467
456
|
```bash
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
457
|
+
sourcecode impact-chain OrderService /path/to/repo
|
|
458
|
+
sourcecode impact-chain com.example.OrderService#placeOrder /path/to/repo
|
|
459
|
+
sourcecode impact-chain PaymentService . --depth 6
|
|
471
460
|
```
|
|
472
461
|
|
|
473
462
|
Unlike `impact` (which traces the caller graph), `impact-chain` builds on the SpringSemanticModel to enrich every step of the blast cone with transaction and security context:
|
|
@@ -494,7 +483,7 @@ Unlike `impact` (which traces the caller graph), `impact-chain` builds on the Sp
|
|
|
494
483
|
**Event topology** — query the publisher/consumer graph for a Spring event class:
|
|
495
484
|
|
|
496
485
|
```bash
|
|
497
|
-
|
|
486
|
+
sourcecode impact-chain OrderPlacedEvent /path/to/repo --type events
|
|
498
487
|
```
|
|
499
488
|
|
|
500
489
|
| Field | Description |
|
|
@@ -514,8 +503,8 @@ ask impact-chain OrderPlacedEvent /path/to/repo --type events
|
|
|
514
503
|
### `cold-start` — RIS bootstrap context
|
|
515
504
|
|
|
516
505
|
```bash
|
|
517
|
-
|
|
518
|
-
|
|
506
|
+
sourcecode cold-start /path/to/repo
|
|
507
|
+
sourcecode cold-start /path/to/repo --compact # ~10K token subset
|
|
519
508
|
```
|
|
520
509
|
|
|
521
510
|
Returns the Repository Intelligence Snapshot (RIS) instantly — zero re-analysis. The RIS is built by a prior warm cache pass and includes stacks, entry points, endpoint surface, and Spring semantic signals. Status field: `cold_start_ready` | `cold_start_stale` | `no_ris`.
|
|
@@ -525,12 +514,12 @@ Use `--compact` to get a ~10K token subset safe for direct LLM injection. Full s
|
|
|
525
514
|
### `repo-ir` — symbol-level IR
|
|
526
515
|
|
|
527
516
|
```bash
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
517
|
+
sourcecode repo-ir /path/to/repo --summary-only # ~20K tokens
|
|
518
|
+
sourcecode repo-ir /path/to/repo --since HEAD~1 # symbol-level diff
|
|
519
|
+
sourcecode repo-ir /path/to/repo --files src/.../OrderService.java
|
|
520
|
+
sourcecode repo-ir /path/to/repo --max-nodes 200 --max-edges 500 # limit graph size
|
|
521
|
+
sourcecode repo-ir /path/to/repo --output ir.json.gz --gzip # compressed output (~70-80% smaller)
|
|
522
|
+
sourcecode repo-ir /path/to/repo --include-tests # include test files
|
|
534
523
|
```
|
|
535
524
|
|
|
536
525
|
Builds a deterministic symbol graph: classes, methods, import/injection edges, Spring roles, subsystems.
|
|
@@ -551,9 +540,9 @@ Builds a deterministic symbol graph: classes, methods, import/injection edges, S
|
|
|
551
540
|
### `explain` — architectural summary for a class
|
|
552
541
|
|
|
553
542
|
```bash
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
543
|
+
sourcecode explain UserService
|
|
544
|
+
sourcecode explain OrderController /path/to/repo
|
|
545
|
+
sourcecode explain UserService --format json
|
|
557
546
|
```
|
|
558
547
|
|
|
559
548
|
Human-readable architectural summary derived entirely from static analysis: Spring stereotype, public methods, incoming callers, outgoing dependencies, events published/consumed, `@Transactional` boundaries, security constraints, and related REST endpoints. JAVA/SPRING ONLY.
|
|
@@ -561,8 +550,8 @@ Human-readable architectural summary derived entirely from static analysis: Spri
|
|
|
561
550
|
### `pr-impact` — PR blast-radius report
|
|
562
551
|
|
|
563
552
|
```bash
|
|
564
|
-
|
|
565
|
-
|
|
553
|
+
sourcecode pr-impact --files changed_files.txt
|
|
554
|
+
sourcecode pr-impact /path/to/repo --files diff.txt --format json
|
|
566
555
|
```
|
|
567
556
|
|
|
568
557
|
Takes a file listing changed Java files (one path per line) and produces a consolidated report: modified classes, affected REST endpoints reachable through the call chain, direct callers of each changed class, event publishers/consumers triggered, `@Transactional` methods in changed classes, and a consolidated risk level (`CRITICAL` / `HIGH` / `MEDIUM` / `LOW`). JAVA/SPRING ONLY.
|
|
@@ -570,13 +559,13 @@ Takes a file listing changed Java files (one path per line) and produces a conso
|
|
|
570
559
|
```bash
|
|
571
560
|
# Typical CI usage: pipe git diff to a file, then run
|
|
572
561
|
git diff --name-only main | grep '\.java$' > changed.txt
|
|
573
|
-
|
|
562
|
+
sourcecode pr-impact . --files changed.txt --format json
|
|
574
563
|
```
|
|
575
564
|
|
|
576
565
|
### `onboard` — codebase orientation
|
|
577
566
|
|
|
578
567
|
```bash
|
|
579
|
-
|
|
568
|
+
sourcecode onboard /path/to/repo
|
|
580
569
|
```
|
|
581
570
|
|
|
582
571
|
Entry points, architecture summary, key files, confidence level, and gaps. Designed to be injected as agent context at the start of a session.
|
|
@@ -584,8 +573,8 @@ Entry points, architecture summary, key files, confidence level, and gaps. Desig
|
|
|
584
573
|
### `review-pr` — PR review context [free ≤500 Java files · Pro above]
|
|
585
574
|
|
|
586
575
|
```bash
|
|
587
|
-
|
|
588
|
-
|
|
576
|
+
sourcecode review-pr /path/to/repo --since main
|
|
577
|
+
sourcecode review-pr /path/to/repo --since HEAD~3
|
|
589
578
|
```
|
|
590
579
|
|
|
591
580
|
Changed files, risk ranking, test coverage gaps, affected modules, and blast radius of changed classes. Returns a `ci_decision` field for CI/CD integration.
|
|
@@ -593,7 +582,7 @@ Changed files, risk ranking, test coverage gaps, affected modules, and blast rad
|
|
|
593
582
|
### `fix-bug` — Bug triage context [free ≤500 Java files · Pro above]
|
|
594
583
|
|
|
595
584
|
```bash
|
|
596
|
-
|
|
585
|
+
sourcecode fix-bug /path/to/repo --symptom "NullPointerException in checkout"
|
|
597
586
|
```
|
|
598
587
|
|
|
599
588
|
Risk-ranked file list correlated to the symptom: keyword extraction, path matching, content matching, git commit correlation.
|
|
@@ -601,7 +590,7 @@ Risk-ranked file list correlated to the symptom: keyword extraction, path matchi
|
|
|
601
590
|
### `modernize` — Modernization planning [free ≤500 Java files · Pro above]
|
|
602
591
|
|
|
603
592
|
```bash
|
|
604
|
-
|
|
593
|
+
sourcecode modernize /path/to/repo
|
|
605
594
|
```
|
|
606
595
|
|
|
607
596
|
High-coupling nodes (high fan-in = risky to change), dead zone candidates (isolated symbols), subsystem tangles.
|
|
@@ -609,12 +598,20 @@ High-coupling nodes (high fan-in = risky to change), dead zone candidates (isola
|
|
|
609
598
|
### `migrate-check` — Spring Boot 2→3 migration readiness
|
|
610
599
|
|
|
611
600
|
```bash
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
601
|
+
sourcecode migrate-check /path/to/repo
|
|
602
|
+
sourcecode migrate-check . --compact # bounded decision summary (score, blocker, effort, top items)
|
|
603
|
+
sourcecode migrate-check . --min-severity high
|
|
604
|
+
sourcecode migrate-check . --format text
|
|
605
|
+
sourcecode migrate-check . --output migration.json
|
|
616
606
|
```
|
|
617
607
|
|
|
608
|
+
`--compact` returns the decision-grade envelope — readiness scores, headline blocker,
|
|
609
|
+
blocking count, estimated effort, executive summary, Hibernate classification and
|
|
610
|
+
aggregate counts — with each large collection capped to its top items (`+N more`). On
|
|
611
|
+
large monoliths this is ~97% smaller than the full report (e.g. 1.2 MB → 32 KB), so an
|
|
612
|
+
agent or reviewer gets the verdict without the full leaf-level firehose. The complete
|
|
613
|
+
report remains the default.
|
|
614
|
+
|
|
618
615
|
Detects migration blockers across Java source files, Spring XML config files, and Maven/Gradle build files. 27 rules organized by target:
|
|
619
616
|
|
|
620
617
|
**Jakarta namespace (MIG-001..009) — javax→jakarta**
|
|
@@ -789,19 +786,19 @@ evidence. `migrate-check` enforces:
|
|
|
789
786
|
|
|
790
787
|
```bash
|
|
791
788
|
# inspect only the Hibernate rewrite targets
|
|
792
|
-
|
|
789
|
+
sourcecode migrate-check . --format json | jq '.hibernate.rewrite_targets[]'
|
|
793
790
|
|
|
794
791
|
# product blockers only (excludes test/fixtures + hygiene)
|
|
795
|
-
|
|
792
|
+
sourcecode migrate-check . --format json | jq '.blocking_count, .non_blocking, .hygiene_findings'
|
|
796
793
|
```
|
|
797
794
|
|
|
798
795
|
### `rename-class` — Java class rename
|
|
799
796
|
|
|
800
797
|
```bash
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
798
|
+
sourcecode rename-class . --from ServiceA --to ServiceB
|
|
799
|
+
sourcecode rename-class /path/to/repo --from OrderManager --to OrderService
|
|
800
|
+
sourcecode rename-class . --from OldName --to NewName --dry-run
|
|
801
|
+
sourcecode rename-class . --from OldName --to NewName --no-tests # src/main only
|
|
805
802
|
```
|
|
806
803
|
|
|
807
804
|
Renames a Java class safely throughout the repository: declaration, constructor, all import statements, type references (fields, params, return types), `extends`/`implements`, generics, casts, and Spring `@Qualifier` names. Renames the physical `.java` file. Emits a structured change audit trail (`file`, `before_lines`, `after_lines`, `intent`, `diff`).
|
|
@@ -811,10 +808,10 @@ Use `--dry-run` to preview changes without writing to disk.
|
|
|
811
808
|
### `chunk-file` — split large Java files for agent consumption
|
|
812
809
|
|
|
813
810
|
```bash
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
811
|
+
sourcecode chunk-file BigService.java
|
|
812
|
+
sourcecode chunk-file BigService.java --max-lines 300
|
|
813
|
+
sourcecode chunk-file BigService.java --chunk 5 # read chunk 5 only
|
|
814
|
+
sourcecode chunk-file BigService.java --metadata-only # boundaries only, no content
|
|
818
815
|
```
|
|
819
816
|
|
|
820
817
|
Splits a large Java file at method/class boundaries so AI agents can read files with 10K–25K+ lines in context-sized pieces. Each chunk includes `chunk_id`, `start_line`, `end_line`, `chunk_type`, symbol name, a `context_header` (package + class + imports summary), and `content`. A `size_warning` flag marks methods that exceed `--max-lines` and cannot be split further.
|
|
@@ -824,7 +821,7 @@ Splits a large Java file at method/class boundaries so AI agents can read files
|
|
|
824
821
|
Low-level access to all tasks with full options:
|
|
825
822
|
|
|
826
823
|
```bash
|
|
827
|
-
|
|
824
|
+
sourcecode prepare-context TASK [PATH] [OPTIONS]
|
|
828
825
|
```
|
|
829
826
|
|
|
830
827
|
| Task | What it surfaces |
|
|
@@ -883,9 +880,9 @@ All outputs include:
|
|
|
883
880
|
Anonymous, **on by default (opt-out)**. Collects: version, OS, commands, flags, duration, repo size range, errors. No source code, paths, secrets, or output content. A one-time notice is shown on first interactive run.
|
|
884
881
|
|
|
885
882
|
```bash
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
883
|
+
sourcecode telemetry status
|
|
884
|
+
sourcecode telemetry enable
|
|
885
|
+
sourcecode telemetry disable
|
|
889
886
|
```
|
|
890
887
|
|
|
891
888
|
Disable any time: `export SOURCECODE_TELEMETRY=0` (or `DO_NOT_TRACK=1`)
|
|
@@ -895,7 +892,7 @@ Disable any time: `export SOURCECODE_TELEMETRY=0` (or `DO_NOT_TRACK=1`)
|
|
|
895
892
|
## Configuration
|
|
896
893
|
|
|
897
894
|
```bash
|
|
898
|
-
|
|
895
|
+
sourcecode config # show version, config file path, telemetry status
|
|
899
896
|
```
|
|
900
897
|
|
|
901
898
|
### `sourcecode.config.json` (repo root)
|