{"version":"1","name":"codeloop","homepage":"https://codeloop.tech","docs":"https://codeloop.tech/docs/tools","install":{"cursor":"npx codeloop install-cursor-extension","cli":"npx codeloop install","bootstrap":"codeloop init","auth":"npx codeloop auth"},"description":"CodeLoop is the zero-LLM-cost verification layer for AI coding agents. Local MCP server; orchestrates verify → diagnose → gate-check loops with real screenshots, videos, and gate scores; works with Cursor and Claude Code.","tool_count":29,"categories":["verification","visual","interaction","orchestration","reporting","discovery","advanced"],"tools":[{"name":"codeloop_init_project","category":"verification","description":"Bootstrap a project for CodeLoop. Auto-detects stack (Flutter / Web / Python / Ruby / Rails / Rust / .NET / Xcode) and emits .codeloop/config.json plus the agent rule files for Cursor and Claude Code.","parameters":[{"name":"project_dir","type":"string","required":false,"description":"Absolute path to the project root. Defaults to CODELOOP_PROJECT_DIR or cwd."},{"name":"force","type":"boolean","required":false,"description":"Overwrite existing config files."}],"output":"Initialised file list, detected project type, recommended next-step tools."},{"name":"codeloop_verify","category":"verification","description":"Run the verification suite (lint + tests + build + screenshot capture) on the current project. Returns a structured pass/fail report and a run_id you can pass to diagnose / gate_check.","parameters":[{"name":"scope","type":"enum","enumValues":["full","affected"],"default":"full","description":"Run the full suite or only the checks affected by recent changes."},{"name":"platform","type":"enum","enumValues":["flutter","web","mobile","xcode","android","dotnet","auto"],"default":"auto","description":"Force a specific platform; defaults to auto-detect."},{"name":"project_dir","type":"string","required":false,"description":"Absolute path to the project root."}],"output":"{ run_id, pass_count, fail_count, warning_count, artifact_paths, summary, suggestion }"},{"name":"codeloop_diagnose","category":"verification","description":"Classify failures from a verify run into structured issues with severity, evidence, root cause, and concrete repair tasks.","parameters":[{"name":"run_id","type":"string","required":true,"description":"The run_id returned by codeloop_verify."},{"name":"focus_files","type":"array","required":false,"description":"Optional list of file paths to constrain the analysis to."},{"name":"project_dir","type":"string","required":false,"description":"Absolute path to the project root."}],"output":"Categorised issues with severity (blocker / critical / warning / info), evidence, and repair tasks."},{"name":"codeloop_gate_check","category":"verification","description":"Final pass/fail gate. Compares the verify run against the spec + acceptance checklist and returns a confidence score plus per-gate evidence. Required before declaring a task complete.","parameters":[{"name":"run_id","type":"string","required":true,"description":"The run_id to evaluate."},{"name":"spec_path","type":"string","required":true,"description":"Path to the spec markdown (e.g. CodeLoop_Development_Plan.md)."},{"name":"acceptance_path","type":"string","required":true,"description":"Path to the acceptance checklist markdown (e.g. docs/E2E_TEST_CHECKLIST.md)."}],"output":"{ passed, failing_gates, passing_gates, confidence_score, recommendation, evidence_summary }"},{"name":"codeloop_check_workflow","category":"verification","description":"Workflow-enforcement check that fails loudly if you skipped verify, screenshots, recordings, or gate_check before declaring a task complete.","parameters":[{"name":"task_id","type":"string","required":false,"description":"Task identifier or section name."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"List of missing prerequisite calls + the exact tool calls required next."},{"name":"codeloop_capture_screenshot","category":"visual","description":"Capture a screenshot of the running app window (or a Playwright/Browser scene) and save it as a verification artifact.","parameters":[{"name":"screen_name","type":"string","required":true,"description":"Logical screen name (becomes the filename)."},{"name":"app_name","type":"string","required":false,"description":"Window / app name to focus before capture."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Path to PNG screenshot, plus run_id binding."},{"name":"codeloop_visual_review","category":"visual","description":"Run an LLM-driven visual inspection over the captured screenshots and return ranked issues (layout, contrast, alignment, missing elements).","parameters":[{"name":"run_id","type":"string","required":false,"description":"Specific run to review. Defaults to the latest."},{"name":"screen_name","type":"string","required":false,"description":"Single-screen mode."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Per-screen findings with severity and pixel coordinates."},{"name":"codeloop_visual_attribution","category":"visual","description":"Identify which commit, branch, and section introduced each visual diff. Pair with codeloop_design_compare or update_baseline to gate visual regressions.","parameters":[{"name":"run_id","type":"string","required":true,"description":"Run id."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Diff-by-commit map; per-screen attribution metadata."},{"name":"codeloop_design_compare","category":"visual","description":"Compare reference designs (Figma exports or baseline PNGs) to the actual coded UI. Returns pixel-diff scores and an LLM-ranked rationale.","parameters":[{"name":"design_dir","type":"string","required":false,"description":"Folder of reference PNGs. Defaults to designs/."},{"name":"screenshot_dir","type":"string","required":false,"description":"Folder of current screenshots. Defaults to artifacts/runs/<latest>/screenshots/."},{"name":"mode","type":"enum","enumValues":["all","single"],"default":"all","description":"Compare all design files or a single matched pair."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Per-design pixel-diff %, severity, and a structured fix list."},{"name":"codeloop_update_baseline","category":"visual","description":"Accept the current screenshots as the new visual regression baseline.","parameters":[{"name":"run_id","type":"string","required":false,"description":"Run id whose screenshots become the new baseline."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"List of screenshots promoted to baseline."},{"name":"codeloop_record_interaction","category":"interaction","description":"Record a fixed-duration video of the app window (blocking). Use for simple captures where no scripted interaction is needed.","parameters":[{"name":"duration_s","type":"number","required":true,"description":"Recording duration in seconds."},{"name":"app_name","type":"string","required":false,"description":"App / window name to focus."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Path to MP4 + run binding."},{"name":"codeloop_start_recording","category":"interaction","description":"Start a background recording of the app window. Pair with codeloop_interact then codeloop_stop_recording.","parameters":[{"name":"app_name","type":"string","required":true,"description":"App / window name to record."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"{ recording_id, started_at }"},{"name":"codeloop_stop_recording","category":"interaction","description":"Stop a background recording started by codeloop_start_recording.","parameters":[{"name":"recording_id","type":"string","required":true,"description":"ID returned by start_recording."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Path to finalised MP4."},{"name":"codeloop_interact","category":"interaction","description":"Perform UI interactions (click, type, swipe, key) on the running app during a recording session.","parameters":[{"name":"actions","type":"array","required":true,"description":"Sequence of interaction objects: [{type:'click', x, y}, {type:'type', text}, ...]."},{"name":"app_name","type":"string","required":false,"description":"Window to target."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Per-step success / error log."},{"name":"codeloop_interaction_replay","category":"interaction","description":"Analyse a recorded interaction video and verify the flow completed as expected. Returns frame-by-frame issues.","parameters":[{"name":"video_path","type":"string","required":true,"description":"Path to MP4."},{"name":"expected_flow","type":"string","required":false,"description":"Plain-text description of the expected outcome."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Per-frame state, deviation list, severity."},{"name":"codeloop_section_status","category":"orchestration","description":"Report the progress of multi-section app development against the section state machine.","parameters":[{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Per-section status (planned / in-progress / verified / replanning)."},{"name":"codeloop_integration_check","category":"orchestration","description":"Run cross-section integration verification on a multi-section project.","parameters":[{"name":"sections","type":"array","required":false,"description":"Subset of section names to integrate."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Integration report with per-pair compatibility findings."},{"name":"codeloop_replan","category":"orchestration","description":"Detect scope changes in the project spec and update the section state machine accordingly.","parameters":[{"name":"spec_path","type":"string","required":true,"description":"Path to the spec markdown."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Diff of section changes (added / removed / re-prioritised)."},{"name":"codeloop_release_readiness","category":"reporting","description":"Generate a comprehensive release-readiness report combining gate checks, visual regression, and integration results.","parameters":[{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Markdown report + machine-readable readiness score."},{"name":"codeloop_run_history","category":"reporting","description":"Query past CodeLoop runs for this project. Supports filtering by tool, status, and time range.","parameters":[{"name":"limit","type":"number","required":false,"default":20,"description":"Max number of runs to return."},{"name":"tool","type":"string","required":false,"description":"Filter to runs that invoked a specific tool."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Array of run summaries: { run_id, started_at, tool, status, artifact_paths }."},{"name":"codeloop_generate_dev_report","category":"reporting","description":"MANDATORY at task end. Produce docs/DEVELOPMENT_LOG.md summarising the verify → diagnose → fix → gate evidence.","parameters":[{"name":"project_name","type":"string","required":true,"description":"Display name for the report."},{"name":"project_description","type":"string","required":false,"description":"Brief description of what was built."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Path to generated report + a summary table."},{"name":"codeloop_generate_spec","category":"reporting","description":"Generate a design specification from Figma design tokens (colors, typography, spacing) so the agent can match them in code.","parameters":[{"name":"figma_file_id","type":"string","required":false,"description":"Figma file ID. Falls back to .codeloop/figma.json."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Path to generated spec markdown + token JSON."},{"name":"codeloop_discover_screens","category":"discovery","description":"Scan the source tree to discover all navigable screens / pages / routes. Useful before screenshot sweeps.","parameters":[{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"List of { route, file, screen_name, framework }."},{"name":"codeloop_recommend_tool","category":"discovery","description":"Recommend third-party tools and services based on the current project stack and constraints (e.g. analytics, monitoring, auth).","parameters":[{"name":"category","type":"string","required":false,"description":"auth / monitoring / payments / analytics / ..."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Ranked list of tools with rationale and integration links."},{"name":"codeloop_recommend_action","category":"discovery","description":"Context-aware recommendation router that returns the next CodeLoop tool to call given the current state.","parameters":[{"name":"context","type":"string","required":false,"description":"Free-form description of the current intent."},{"name":"project_dir","type":"string","required":false,"description":"Project root."}],"output":"Suggested tool + arguments + rationale."},{"name":"codeloop_list_env_presets","category":"advanced","description":"List available environment-normalisation presets (locale, timezone, font scaling) used by visual review to produce stable diffs.","parameters":[],"output":"Array of preset definitions."},{"name":"codeloop_get_prompt","category":"advanced","description":"Retrieve a context-aware prompt template for the current stage of multi-section app development.","parameters":[{"name":"stage","type":"string","required":true,"description":"plan / implement / verify / gate / report."},{"name":"section_id","type":"string","required":false,"description":"Section identifier."}],"output":"Prompt text + variable bindings."},{"name":"codeloop_list_prompts","category":"advanced","description":"List all available prompt template layers and their metadata.","parameters":[],"output":"Array of prompt descriptors."},{"name":"codeloop_flush_usage","category":"advanced","description":"Drain the persisted offline usage queue and POST events to the CodeLoop backend. Called automatically on shutdown; expose for explicit retries.","parameters":[],"output":"{ flushed_count, remaining_count, last_error }"}],"generated_at":"2026-04-30T20:23:02.475Z"}