AI-powered test generation and execution platform. Scan features, generate tests, run them — one command.
Coverit defines 7 tools with explicit schemas and descriptions. Tool naming follows verb_noun convention (coverit_scan, coverit_cover, coverit_fix, coverit_status, coverit_clear, coverit_backup, coverit_restore), which is clear and action-oriented. Descriptions are present for all tools and parameters. However, several tools exhibit significant gaps: (1) Output schemas are not documented in the source code, only text responses are shown; (2) Error handling lacks actionable recovery guidance; (3) Some parameter descriptions are minimal; (4) Tool composition could be improved, clear/backup/restore are maintenance tools that might distract from core functionality. The four core tools (scan, cover, fix, status) have reasonable descriptions (100-200 chars), but the utility tools (clear, backup, restore) feel like operational sidecars rather than first-class agent capabilities. No tool descriptions indicate whether operations are idempotent, retryable, or irreversible (except clear). Parameter constraints are present but descriptions could be more explicit about ranges and formats.
Backup coverit.json to .coverit/backup/ with timestamp. Preserves quality manifest history.
Delete coverit.json and .coverit/ directory. Clears all scan results and quality manifest data.
Generate tests and fix code quality issues from coverit.json gaps. Covers all scanned dimensions by default: functionality (test generation), security (fix vulnerabilities), stability (improve error handling), conformance (fix style issues).
Run existing tests, fix failures via AI, rescan and update coverit.json. Unlike cover (which writes new tests), fix assumes tests exist and just runs + fixes them.
Restore coverit.json from a timestamped backup in .coverit/backup/. Lists available backups and restores a specific one.
Scan and analyze the full codebase using AI and generate coverit.json quality manifest. AI explores the project with tool access to detect modules, map existing tests, classify complexity, identify journeys and contracts, and compute baseline scores.
Output schemas are completely undocumented. No tool documents what fields are returned, their types, or structure. LLMs cannot plan downstream operations or extract values for chaining.
Irreversible operations (coverit_clear, coverit_restore overwriting existing manifest) lack confirmation/dry-run pattern or explicit warnings. Agents may accidentally destroy data.
Error handling is minimal. No tool description indicates what errors can occur, how they are classified (retryable/fatal/user-fixable), or recovery actions. Code shows generic error wrapping.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 65 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Shows quality dashboard from coverit.json (instant, no AI). Displays overall score (0–100) across five quality dimensions: Functionality, Security, Stability, Conformance, and Regression.
Tool composition issue: coverit_clear, coverit_backup, and coverit_restore are operational/maintenance tools that may distract agents from the core intent (scan → cover → fix → status). These could be exposed via a separate 'manifest_management' toolset or resource.
Parameter descriptions lack explicit constraints. E.g., timeoutSeconds has no min/max bounds; dimensions enum is listed but no indication of default behavior when omitted.
coverit_restore requires backupPath parameter in an internal format (timestamp filename). No mechanism to list available backups before calling, LLM must call the tool speculatively or with guessed filenames.
Tool descriptions do not indicate idempotency. Can coverit_scan be called twice on the same project safely? Is coverit_cover additive or destructive to existing tests?