Coverctl
ใช้ทำอะไรได้
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
- ต่อแบบ ติดตั้งในเครื่อง
- บัญชีหรือคีย์ ไม่ต้องใส่คีย์
- หมวด เครื่องมือนักพัฒนา
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Go code coverage analysis tool with MCP server for AI-powered coverage workflowsติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
ดาวน์โหลดไฟล์ติดตั้งของผู้ทำ
ไฟล์ .mcpb มาจากผู้ทำโดยตรง เราไม่ได้แก้ไฟล์
ดับเบิลคลิกไฟล์ แล้วกด Install ในแอป Claude บนคอม
ลองเลย
ใช้ Coverctl บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Coverctl หรือมีชื่อเครื่องมือของ Coverctl ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ Coverctl ไม่ได้
Coverctl ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
คุณทำแบบนี้แทนได้
ก · ใช้แอปที่ต่อ Coverctl ได้
- ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
ข · ตัวอื่นในหมวด เครื่องมือนักพัฒนา ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
- Sentry✓ ChatGPT
- Compiler Explorer✓ ChatGPT
- GitDiagram✓ ChatGPT
Claude Code ยังต่อ Coverctl ไม่ได้
ผู้ทำมีแต่ไฟล์ติดตั้งสำหรับแอป Claude บนคอม
คุณทำแบบนี้แทนได้
ก · ใช้แอปที่ต่อ Coverctl ได้
- ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
Cursor ยังต่อ Coverctl ไม่ได้
ผู้ทำมีแต่ไฟล์ติดตั้งสำหรับแอป Claude บนคอม
คุณทำแบบนี้แทนได้
ก · ใช้แอปที่ต่อ Coverctl ได้
- ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
VS Code ยังต่อ Coverctl ไม่ได้
ผู้ทำมีแต่ไฟล์ติดตั้งสำหรับแอป Claude บนคอม
คุณทำแบบนี้แทนได้
ก · ใช้แอปที่ต่อ Coverctl ได้
- ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
สรุป
- ดาวน์โหลดต่อสัปดาห์i
- ไม่มียอดใน npm/PyPI
- การเชื่อมต่อ
- รันบนเครื่อง
- รุ่นล่าสุดi
- 1.20.0
- ส่งเข้า registryi
- 16 ส.ค. 2569
- แก้โค้ดล่าสุดi
- 10 พ.ย. 2569
- ผู้ทำ
- klarlabs-studio
- แพ็กเกจ
mcpb: …/coverctl-mcp-darwin-arm64.mcpbmcpb: …/coverctl-mcp-darwin-amd64.mcpbmcpb: …/coverctl-mcp-linux-amd64.mcpb- สถานะใน registry
- ใช้งานอยู่
ใช้กับโปรแกรมไหนได้
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
คู่มือที่เกี่ยวข้อง
ทำอะไรได้บ้าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 14 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันด้วยบัญชี GitHub klarlabs-studio ซึ่งเป็นเจ้าของ repo
- ✓ ผ่าน
ยังมีคนดูแล
มีการแก้โค้ดล่าสุด 4 วันที่ผ่านมา
- ✓ ผ่าน
มีสัญญาอนุญาต (license)
ใช้ MIT
- – ไม่เกี่ยว
endpoint ตอบ
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
- – ไม่เกี่ยว
ล็อกอินแบบ OAuth
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
- … ยังไม่ตรวจ
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
พูดคุย
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
รีวิวจากผู้ใช้
ยังไม่มีรีวิว
เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi
- ดาวมากกว่า 69% ของอีก 5878 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 28% ของอีก 5878 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5878 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
Coverctl ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด 4 วันที่ผ่านมา และส่งรุ่นล่าสุด (1.20.0) เข้า registry 3 เดือนที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี MCPB ในเครื่องด้วย
ตัวอื่นในหมวดเดียวกัน
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
README จากผู้ทำ
เปิดอ่าน README
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
coverctl
Agent-loop coverage governance for all sorts of languages — coverage your AI coding agent calls before commit, not a dashboard you read after CI.
Works with Python, TypeScript/JavaScript, Java, Rust, Go, C#, C/C++, PHP, Ruby, Swift, Dart, Scala, Elixir, and Shell — one .coverctl.yaml, one MCP surface. Not a Go cover tool.
Get started ↓ · Languages ↓ · What it looks like ↓ · MCP tools ↓ · CLI reference ↓ · Why this exists ↓ · Community ↓
*"Our AI agents ship code fast, but they're blind to coverage policy while editing. We only see breakage in CI, after context is gone, and the same agent then guesses its way to a fix."*
Same policy model on every language: auto-detect the runner, group paths into domains, enforce mins before commit. Mock-heavy or exotic layouts may need an explicit domains: block in .coverctl.yaml.
coverctl is not a Go cover CLI: it is policy + MCP over each language's native coverage runner (vs go test -cover / pytest --cov).
Get started
brew install klarlabs-studio/tap/coverctl
Wire into Claude Code (~/.config/claude-code/mcp.json):
{
"mcpServers": { "coverctl": { "command": "coverctl", "args": ["mcp", "serve"] } } }
Ask the agent: *"Run coverctl check and tell me which domains regressed."*
For Cursor / Cline / Claude Desktop / Aider / Continue / OpenCode and other MCP clients, see docs/src/content/docs/mcp.mdx. All MCP-capable clients work; coverctl mcp serve runs in agent mode by default (3 tools: check, suggest, debt). Use --mode=ci for the full nine-tool surface.
Validate the install end-to-end:
coverctl mcp doctor # PASS/FAIL per step with remediation
What it looks like in the agent loop
*Rendered for clarity — your client may format tool-calls differently.*
You: Add the email-validation feature to the api domain.
Claude: I'll add EmailValidator + tests under src/api/.
[edits: src/api/email.ts, src/api/email.test.ts]
Tool call → coverctl check Result → passed: false; failing: api (78.2%, required 80%) uncovered: src/api/email.ts:42-58 (error paths)
Tool call → coverctl suggest api Result → uncovered files: email.ts (16 lines), retry.ts (4 lines)
Two error branches in EmailValidator.validate are uncovered. I'll add cases for empty-input and malformed-domain so api meets the 80% threshold before we commit.
The regression that used to surface in CI 8 minutes later is fixed in the same agent turn.
The agent does well: reads check output verbatim, calls suggest to find uncovered files, calls debt to rank smallest fixes, re-runs check to confirm.
Watch for: agents lowering thresholds in .coverctl.yaml to "fix" a failure (it's not a fix). Agents claiming coverage rose without a new check call (hallucination). Agents ignoring rejection error_code and retrying with the same input.
coverctl returns deterministic structured signals; the agent's *fix* still needs a human reading. The full contract is in docs/src/content/docs/mcp.mdx.
Why this exists
AI coding agents write code blind to coverage. They edit, you commit, the regression surfaces in CI minutes or hours later — too late to course-correct in the same session. Dashboards (Codecov, Coveralls) and raw language runners (go test -cover, pytest --cov, nyc) target humans reading numbers after the fact — not agents enforcing policy mid-edit.
coverctl is built for the agent loop (and is not a replacement for Go's cover tooling):
- Catches regressions before commit. Coverage feedback in the agent's edit turn — not minutes after CI fails. The wedge metric is regressions caught pre-commit.
- Agent-callable via MCP. Speaks MCP — the multi-vendor agent-tool standard now governed by Anthropic, OpenAI, Google, Microsoft, AWS. Works with every MCP-capable client today; works with whatever ships next without modification.
- Polyglot governance, one config. One
.coverctl.yamlenforces per-domain thresholds across 15 languages. On Go repos it may *invoke*go testthe way it invokespytestelsewhere — then applies the same domain policy. Agents touch any language; coverage governance must too. - Local-first. Your source never leaves the machine. Agent calls coverctl over stdio, not over a SaaS API. No account, no upload, no third-party dependency in the agent's reach.
- Hardened MCP surface. Input + output sanitization defends against prompt-injection through test-runner flags and hostile filenames in coverage profiles (Lethal Trifecta).
The CLI and MCP server are Apache-2.0 licensed and stay free. A hosted layer for cross-repo coverage history is on the roadmap (see docs/strategy/monetization-decision.md) — additive, not a paywall.
MCP tools
Agent mode advertises three tools (check, suggest, debt) for reliable agent tool selection. CI mode (--mode=ci) adds the rest.
| Tool | Mode | Purpose |
|---|---|---|
check | agent + ci | Run tests with coverage and enforce policy. Returns per-domain pass/fail, files, warnings. |
suggest | agent + ci | Recommend thresholds (current / aggressive / conservative). |
debt | agent + ci | Coverage gap per domain — where to spend effort, ranked. |
init | ci | Auto-detect project structure and create .coverctl.yaml with domain policies. |
report | ci | Analyze an existing coverage profile without running tests. |
record | ci | Record current coverage to history for trend tracking. |
compare | ci | Diff two coverage profiles. Returns delta, improved/regressed files, domain changes. |
badge | ci | Generate SVG coverage badge. |
pr-comment | ci | Post coverage report to GitHub / GitLab / Bitbucket PR. |
MCP resources (read-only context)
| URI | Content |
|---|---|
coverctl://debt | Coverage debt as JSON. |
coverctl://trend | Trend over recorded history. |
coverctl://suggest | Threshold suggestions. |
coverctl://config | Detected project config. |
Security boundaries
coverctl treats MCP traffic as untrusted in both directions, per the Lethal Trifecta threat model.
- Input boundary. Agent mode accepts typed capabilities (
packages,tags,race,short,run,timeout) and rejects arbitrary runnertestArgsso coverctl cannot be used as a generic command-execution MCP server. Dangerous flags (--rootdir,--cov-config,-D,-I,--require,--init-script,--node-options, ...) are also denied as defense in depth. Agent mode cannot select an alternate policy file, filter check to a subset of domains, narrowcoverageScope(shrinking measurement can hide untested domains), skip the test run viafromProfile, or use incremental check (an empty diff auto-passes); repository.coverctl.yamlis authoritative and verification must execute tests against the full policy. Rejection responses use a stable schema witherror_codeand agent-actionableremediation. CLI invocations from a human terminal are not sanitized; the human is the trust boundary there. - Output boundary. User-controlled identifiers flowing *back* to the agent (filenames in coverage profiles, domain names, package paths) are percent-encoded rather than destructively replaced, so distinct names stay distinct (
src/über.godoes not collapse into another file). Control characters, backticks, and markdown metacharacters cannot render as instructions. Prevents return-trip prompt injection through a hostile PR or attacker-named test file.
coverctl is local-first. The default install transmits nothing — no telemetry, no analytics, no source data. An opt-in --mcp-telemetry flag emits structured tool-call events to stderr for users who want to instrument their own pipelines (format documented in docs/design/mcp-metrics-spec.md). Adversarial + happy-path evals (85+ scenarios under internal/eval/scenarios/) gate every release on rejection-schema integrity and prompt-injection resistance.
Canonical intent: docs/strategy/system-intent.md. Full threat model + residual risk: docs/security/mcp-threat-model.md.
CLI reference
The CLI is the substrate behind the MCP server; humans can use it directly.
| Command | Purpose | ||
|---|---|---|---|
init / i | Interactive wizard, auto-detects language and domains. --no-interactive for CI. | ||
check / c | Run coverage and enforce policy. -o json for machine output, --fail-under N, --ratchet, --from-profile. | ||
run / r | Produce coverage artifacts without policy evaluation. | ||
watch / w | Re-run coverage on file change during development. | ||
report | Evaluate an existing profile. -o html, --uncovered, --diff , --merge . | ||
detect | Auto-detect domains and write config. --dry-run to preview. | ||
badge | SVG coverage badge. --style flat-square. | ||
compare | Diff two profiles. | ||
debt | Coverage debt report. | ||
trend | Coverage trend from recorded history. | ||
record | Append current coverage to history. --commit, --branch for CI. | ||
suggest | Threshold suggestions. --write-config to apply. | ||
pr-comment | Post coverage to GitHub/GitLab/Bitbucket PR. | ||
ignore | Show configured excludes and tracked domains. | ||
mcp serve | Start MCP server (stdio). `--mode=agent\ | ci\ | auto`. |
mcp doctor | First-run validation: PASS/FAIL per step with remediation. | ||
survey | Sean Ellis 40% PMF prompt; appends to ~/.coverctl/survey.jsonl. |
Global flags: -q/--quiet, --no-color, --ci (combines quiet + GitHub Actions annotations).
Test-execution flags
check, run, record accept toolchain flags forwarded to the underlying test runner:
| Flag | Example |
|---|---|
--tags | --tags integration,e2e |
--race | (Go race detector) |
--short | Skip long-running tests |
-v | Verbose test output |
--run | --run TestFoo |
--timeout | --timeout 30m |
--test-arg | Repeatable: --test-arg=-count=1 --test-arg=-parallel=4 |
--language / -l | Override autodetection: python, javascript, typescript, java, rust, go, csharp, cpp, php, ruby, swift, dart, scala, elixir, shell |
Terminal flow (without an agent)
If you prefer running coverctl directly:
coverctl init # auto-detect language + domains, write .coverctl.yaml
coverctl check # enforce policy; exit 1 on violation coverctl suggest --strategy current coverctl record
If a step fails: coverctl detect --dry-run previews init output; coverctl check -o json surfaces structured failure detail; coverctl record --commit "$(git rev-parse HEAD)" --branch "$(git rev-parse --abbrev-ref HEAD)" provides metadata explicitly in CI.
Configuration
.coverctl.yaml (schema: schemas/coverctl.schema.json):
Domains are named path groups, not language packages. match uses path globs for most languages (src/auth/**) or Go package paths when the project is Go (./internal/auth/...):
version: 1
policy: default: min: 75 domains:
- name: auth match: ["src/auth/**"] # Go equivalent: ["./internal/auth/..."] min: 90 # critical path — stricter
- name: api match: ["src/api