Clinescope
Clinescope is an independent, unofficial tool - not affiliated with, endorsed by, or sponsored by Cline or Cline Bot Inc. "Cline" is a trademark of Cline Bot Inc., used only to describe compatibility.
Clinescope runs on the Cline CLI and the VS Code extension. Run clinescope --vscode to auto-discover and score a VS Code extension session (see Score a VS Code extension session).
Clinescope is an AI evaluation tool that lives in your Cline development workflow, reads your logs, and helps you write better prompts by checking tool choices, catching messy code rewrites, and ensuring updates don't break past work. Clinescope reads a Cline log and scores four things:
tool_selection: did the agent call the tools the task needed?diff_coherence: are its code patches valid and well-formed?diff_minimality: are its edits small and focused, not bloated rewrites?apply_recovery: when a patch failed, did the agent fix it?
Three real captured runs; run clinescope --demo to score one yourself.
Why Clinescope
Clinescope scores coding-agent execution traces and ships a code-diff-quality scorer. DeepEval scores tool selection but not code patches or diffs; promptfoo, Langfuse, and Braintrust hand the diff scorer to you; UK AISI's Inspect runs SWE agents but ships no diff-quality scorer. Clinescope's diff_coherence / diff_minimality / apply_recovery scorers are that layer, run against real captured Cline traces (see the validation corpus).
Clinescope validates its own optional LLM judge against human labels and, finding it agrees only at chance level, deliberately keeps it out of the pass/fail gate. See docs/judge-validation.md. Each scorer is deliberately narrow; what it does and does not measure is spelled out in LIMITATIONS.md.
Clinescope was built largely with an AI coding agent. How it stayed correct anyway (frozen invariants, verification-first checks, an AI signal measured and then kept out of the gate) is written up in docs/building-with-agents.md.
Get Started
-
Install Clinescope
Requires Python 3.11+. Installing into a virtual environment is recommended.
pip install clinescope
-
Use Clinescope
Get the score:
Point Clinescope at a Cline log file (a
messages.jsontrace) to score the run - replacepath/to/messages.jsonbelow with your own.clinescope path/to/messages.json --expected read_files apply_patch
After
--expected, list the tools you think the task needed. Runclinescope --list-toolsto print the tools in Clinescope.Improve your prompt:
clinescope path/to/messages.json --expected read_files apply_patch --advice
Learn more in the usage guide. New to this? The quickstart walks you from installing Cline to scoring your own session.
Feedback
Ran Clinescope on your own Cline trace? Tell me how it went, what worked, or what was confusing: open a feedback issue and pick "Share feedback". First-run impressions on a real trace are the single most useful thing you can send.
For a reproducible scorer or CLI bug, the Bug report form is a better fit. To contribute a change, see CONTRIBUTING.md for dev setup, tests, and what a scorer change needs.
License
Apache-2.0. Copyright 2026 Tran Binh Minh.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clinescope-1.2.0.tar.gz.
File metadata
- Download URL: clinescope-1.2.0.tar.gz
- Upload date:
- Size: 257.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62275a2029d630ec026baf940786df102fed428569ebbf4283f3a945b54ccb99
|
|
| MD5 |
8a11f65bd1dafc44e5c0d9469101f4cd
|
|
| BLAKE2b-256 |
794d9f4c1abe8424b94e8bde47d75068b42050f069cd0fecde95dbb68020dcd6
|
Provenance
The following attestation bundles were made for clinescope-1.2.0.tar.gz:
Publisher:
release.yml on minh2416294/clinescope
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clinescope-1.2.0.tar.gz -
Subject digest:
62275a2029d630ec026baf940786df102fed428569ebbf4283f3a945b54ccb99 - Sigstore transparency entry: 2221871789
- Sigstore integration time:
-
Permalink:
minh2416294/clinescope@8bf45a0490fc019ca31e57d2575b7be1e2eb09f0 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/minh2416294
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8bf45a0490fc019ca31e57d2575b7be1e2eb09f0 -
Trigger Event:
release
-
Statement type:
File details
Details for the file clinescope-1.2.0-py3-none-any.whl.
File metadata
- Download URL: clinescope-1.2.0-py3-none-any.whl
- Upload date:
- Size: 238.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b57e18db48506b3380c7acc8f0a592bf3dd0405d2537e082161caf60a6e84a4
|
|
| MD5 |
339d6ae018c7074084c578223e8d6634
|
|
| BLAKE2b-256 |
d62870eaef051b18feb76f537495ce0a88f64a77679f1f778b5a525260572f00
|
Provenance
The following attestation bundles were made for clinescope-1.2.0-py3-none-any.whl:
Publisher:
release.yml on minh2416294/clinescope
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
clinescope-1.2.0-py3-none-any.whl -
Subject digest:
9b57e18db48506b3380c7acc8f0a592bf3dd0405d2537e082161caf60a6e84a4 - Sigstore transparency entry: 2221872232
- Sigstore integration time:
-
Permalink:
minh2416294/clinescope@8bf45a0490fc019ca31e57d2575b7be1e2eb09f0 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/minh2416294
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8bf45a0490fc019ca31e57d2575b7be1e2eb09f0 -
Trigger Event:
release
-
Statement type: