@@ -26,6 +26,13 @@ Docs: [orenlab.github.io/codeclone](https://orenlab.github.io/codeclone/) ·
2626Live sample report:
2727[ orenlab.github.io/codeclone/examples/report/] ( https://orenlab.github.io/codeclone/examples/report/ )
2828
29+ > [ !NOTE]
30+ > This README and docs site track the in-development ` v2.0.x ` line from ` main ` .
31+ > For the latest stable CodeClone documentation (` v1.4.4 ` ), see the
32+ > [ ` v1.4.4 ` README] ( https://github.com/orenlab/codeclone/blob/v1.4.4/README.md )
33+ > and the
34+ > [ ` v1.4.4 ` docs tree] ( https://github.com/orenlab/codeclone/tree/v1.4.4/docs ) .
35+
2936## Features
3037
3138- ** Clone detection** — function (CFG fingerprint), block (statement windows), and segment (report-only) clones
@@ -48,6 +55,8 @@ codeclone . --html # generate HTML report
4855codeclone . --html --open-html-report # generate and open HTML report
4956codeclone . --json --md --sarif --text # generate machine-readable reports
5057codeclone . --html --json --timestamped-report-paths # keep timestamped report snapshots
58+ codeclone . --changed-only --diff-against main # changed-scope clone gating against git diff
59+ codeclone . --paths-from-git-diff HEAD~1 # shorthand diff source for changed-scope review
5160codeclone . --ci # CI mode (--fail-on-new --no-color --quiet)
5261```
5362
@@ -80,8 +89,29 @@ For local command-based clients, prefer `stdio`. Use `streamable-http` only
8089when the client expects a remote MCP endpoint.
8190
8291CodeClone MCP is read-only and baseline-aware. It exposes deterministic tools
83- for analysis, summaries, findings, hotspots, report sections, and gate previews
84- without mutating source files or baselines.
92+ for:
93+
94+ - full repository analysis and changed-files analysis
95+ - run summaries and run-to-run comparison
96+ - findings, hotspots, remediation payloads, and PR summaries
97+ - granular clone / complexity / coupling / cohesion / dead-code checks
98+ - session-local review markers for long agent workflows
99+
100+ It never mutates source files, baselines, or repo state.
101+ Diff-aware MCP calls use repo-relative ` changed_paths ` lists (or ` git_diff_ref ` )
102+ and may reuse the same ` run_id ` when the canonical report digest stays
103+ unchanged.
104+ Focused ` check_* ` MCP tools may trigger a full analysis first when no stored run
105+ exists yet.
106+
107+ Latest-run resources are also available for MCP-capable clients:
108+
109+ - ` codeclone://latest/summary `
110+ - ` codeclone://latest/report.json `
111+ - ` codeclone://latest/health `
112+ - ` codeclone://latest/gates `
113+ - ` codeclone://latest/changed `
114+ - ` codeclone://schema `
85115
86116Docs:
87117[ MCP interface contract] ( https://orenlab.github.io/codeclone/book/20-mcp-interface/ )
@@ -240,6 +270,7 @@ Dynamic/runtime false positives are resolved via explicit inline suppressions, n
240270 "...": "..."
241271 },
242272 "runtime": {
273+ "analysis_started_at_utc": "...",
243274 "report_generated_at_utc": "..."
244275 }
245276 },
@@ -329,20 +360,20 @@ CFG semantics: [CFG semantics](https://orenlab.github.io/codeclone/cfg/)
329360
330361# # Documentation
331362
332- | Topic | Link |
333- |----------------------------|----------------------------------------------------------------------------------------------------|
334- | Contract book (start here) | [Contracts and guarantees](https://orenlab.github.io/codeclone/book/00-intro/) |
335- | Exit codes | [Exit codes and failure policy](https://orenlab.github.io/codeclone/book/03-contracts-exit-codes/) |
336- | Configuration | [Config and defaults](https://orenlab.github.io/codeclone/book/04-config-and-defaults/) |
337- | Baseline contract | [Baseline contract](https://orenlab.github.io/codeclone/book/06-baseline/) |
338- | Cache contract | [Cache contract](https://orenlab.github.io/codeclone/book/07-cache/) |
339- | Report contract | [Report contract](https://orenlab.github.io/codeclone/book/08-report/) |
363+ | Topic | Link |
364+ |----------------------------|----------------------------------------------------------------------------------------------------- |
365+ | Contract book (start here) | [Contracts and guarantees](https://orenlab.github.io/codeclone/book/00-intro/) |
366+ | Exit codes | [Exit codes and failure policy](https://orenlab.github.io/codeclone/book/03-contracts-exit-codes/) |
367+ | Configuration | [Config and defaults](https://orenlab.github.io/codeclone/book/04-config-and-defaults/) |
368+ | Baseline contract | [Baseline contract](https://orenlab.github.io/codeclone/book/06-baseline/) |
369+ | Cache contract | [Cache contract](https://orenlab.github.io/codeclone/book/07-cache/) |
370+ | Report contract | [Report contract](https://orenlab.github.io/codeclone/book/08-report/) |
340371| Metrics & quality gates | [Metrics and quality gates](https://orenlab.github.io/codeclone/book/15-metrics-and-quality-gates/) |
341- | Dead code | [Dead-code contract](https://orenlab.github.io/codeclone/book/16-dead-code-contract/) |
342- | Docker benchmark contract | [Benchmarking contract](https://orenlab.github.io/codeclone/book/18-benchmarking/) |
343- | Determinism | [Determinism policy](https://orenlab.github.io/codeclone/book/12-determinism/) |
372+ | Dead code | [Dead-code contract](https://orenlab.github.io/codeclone/book/16-dead-code-contract/) |
373+ | Docker benchmark contract | [Benchmarking contract](https://orenlab.github.io/codeclone/book/18-benchmarking/) |
374+ | Determinism | [Determinism policy](https://orenlab.github.io/codeclone/book/12-determinism/) |
344375
345- # # * Benchmarking
376+ # # * Benchmarking
346377
347378<details>
348379<summary>Reproducible Docker Benchmark</summary>
0 commit comments