{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"vscode-maximedenes-vscoq","slug":"vscoq","name":"VsCoq","type":"extension","url":"https://marketplace.visualstudio.com/items?itemName=maximedenes.vscoq","page_url":"https://unfragile.ai/vscoq","categories":["code-editors"],"tags":["__ext__CoqProject","__ext_v","coq","Coq Project","coq-project","Gallina","keybindings","proof assistant","theorem prover"],"pricing":{"model":"freemium","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"vscode-maximedenes-vscoq__cap_0","uri":"capability://code.generation.editing.asynchronous.incremental.proof.checking.with.continuous.mode","name":"asynchronous incremental proof checking with continuous mode","description":"VsCoq communicates with the Coq proof assistant via Language Server Protocol (LSP) to perform real-time, asynchronous proof validation as the user edits or scrolls through `.v` files. In 'Continuous' mode, the extension sends document changes to the `vscoqtop` language server, which incrementally re-checks only affected proof segments rather than re-processing the entire file. This non-blocking approach allows the editor to remain responsive while proof state updates appear in the goal panel.","intents":["I want to see proof errors and goal states update in real-time as I write, without blocking the editor","I need to iterate on proofs quickly without manually triggering proof checks","I want to understand proof state at any point in my development without switching to a separate IDE"],"best_for":["Coq proof developers working on medium-to-large proof files","Teams migrating from standalone CoqIDE to VS Code","Researchers prototyping formal verification in an integrated editor"],"limitations":["Continuous mode may impact editor responsiveness on very large proof files (>5000 lines) due to frequent LSP round-trips","Asynchronous checking introduces latency between user edits and goal panel updates (typically 100-500ms depending on proof complexity)","Requires Coq >= 8.18; older versions must use VsCoq Legacy extension"],"requires":["Coq proof assistant >= 8.18 installed and accessible via opam","vscoq-language-server package installed via opam in the same switch as Coq","vscoqtop executable discoverable in shell PATH or configured via 'Vscoq: Path' setting","VS Code 1.60+ (outdated versions cause extension hanging)"],"input_types":["Coq source code (.v files)","Proof state from vscoqtop language server"],"output_types":["Proof goals and context (displayed in goal panel)","Syntax errors and type-checking diagnostics","Proof state updates (incremental)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"vscode-maximedenes-vscoq__cap_1","uri":"capability://code.generation.editing.step.by.step.proof.checking.with.top.down.processing","name":"step-by-step proof checking with top-down processing","description":"VsCoq's default mode processes Coq files sequentially from top to bottom, checking each proof definition and tactic step on demand. The extension sends cursor position or explicit step commands to `vscoqtop`, which returns the proof state (goals, context, hypotheses) for display in the goal panel. This mode gives users explicit control over proof progression and is suitable for understanding proof structure incrementally.","intents":["I want to step through a proof line-by-line to understand how tactics transform the goal state","I need deterministic, predictable proof checking without asynchronous surprises","I want to focus on one proof at a time without the extension checking unrelated proofs in the background"],"best_for":["Proof developers learning Coq or debugging complex proofs","Educational settings where step-by-step execution aids understanding","Users on systems with limited CPU resources who want to avoid continuous background checking"],"limitations":["Step-by-step mode may feel slower for rapid iteration compared to continuous mode","User must manually trigger proof advancement (e.g., via keybindings or command palette) — no automatic updates","Large proof files may require many manual steps to reach the end, increasing cognitive load"],"requires":["Coq proof assistant >= 8.18","vscoq-language-server installed via opam","vscoqtop executable in PATH or configured via extension settings"],"input_types":["Coq source code (.v files)","User commands (step forward, step backward, jump to line)"],"output_types":["Proof goals and context at the current step","Proof state (goals, hypotheses, definitions)"],"categories":["code-generation-editing","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"vscode-maximedenes-vscoq__cap_10","uri":"capability://automation.workflow.opam.based.language.server.installation.and.lifecycle.management","name":"opam-based language server installation and lifecycle management","description":"VsCoq depends on the `vscoq-language-server` package, which must be installed via opam (OCaml package manager) in a Coq-enabled opam switch. The extension expects the `vscoqtop` executable to be discoverable in the system PATH or configured via the 'Vscoq: Path' setting. The extension manages the language server lifecycle (startup, shutdown, error recovery) through LSP, but does not manage opam or package installation; users must manually set up the opam environment.","intents":["I want to install and manage the Coq proof assistant and language server for VsCoq","I need to understand the opam dependency chain for VsCoq","I want to troubleshoot language server startup failures"],"best_for":["Developers with opam experience who are setting up Coq development environments","Teams deploying VsCoq in standardized development environments","Users troubleshooting language server connectivity issues"],"limitations":["VsCoq does not provide automated opam installation or package management; users must manually create opam switches and install packages","Opam switch misconfiguration (e.g., wrong Coq version, missing dependencies) causes language server startup failures with unclear error messages","Version mismatches between vscoq-language-server and the VsCoq extension can cause compatibility issues; users must coordinate pre-release versions manually","The extension does not validate the opam environment at startup; invalid configurations are discovered only when the language server fails to start","Requires Coq >= 8.18; older versions must use VsCoq Legacy extension, requiring users to manage multiple extension versions"],"requires":["opam (OCaml package manager) installed and configured","Coq >= 8.18 installed in an opam switch","vscoq-language-server package installed via opam in the same switch","vscoqtop executable discoverable in PATH or configured via 'Vscoq: Path' setting"],"input_types":["opam switch configuration","Coq and vscoq-language-server package versions"],"output_types":["vscoqtop executable process","Language server lifecycle events (startup, shutdown, errors)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"vscode-maximedenes-vscoq__cap_2","uri":"capability://code.generation.editing.goal.panel.display.with.customizable.layout","name":"goal panel display with customizable layout","description":"VsCoq renders the current proof state (goals, context, hypotheses) in a dedicated goal panel within VS Code's sidebar or editor area. The panel supports two display modes: accordion lists (collapsible goal sections) and tabs (one goal per tab). The extension receives goal data from `vscoqtop` via LSP and formats it for display, allowing users to inspect proof state without leaving the editor.","intents":["I want to see the current proof goals and hypotheses in a clear, organized panel","I need to switch between multiple goals in a proof without scrolling through the editor","I want to customize how goals are displayed (accordion vs. tabs) based on my preference"],"best_for":["Coq developers who prefer integrated proof state visualization","Users working with proofs containing multiple goals or subgoals","Teams standardizing on VS Code for formal verification work"],"limitations":["Goal panel display is read-only; users cannot edit goals directly from the panel","Panel layout customization is limited to two modes (accordion or tabs); no custom formatting options","Large goals with complex types may overflow the panel width, requiring horizontal scrolling"],"requires":["VS Code 1.60+","VsCoq extension installed and configured","Active Coq file with proof state (requires vscoqtop running)"],"input_types":["Proof state data from vscoqtop (goals, context, hypotheses in Coq syntax)"],"output_types":["Formatted goal panel UI (text display of goals and context)","Interactive goal navigation (clicking to focus on specific goals)"],"categories":["code-generation-editing","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"vscode-maximedenes-vscoq__cap_3","uri":"capability://search.retrieval.query.panel.with.search.check.and.proof.exploration.commands","name":"query panel with search, check, and proof exploration commands","description":"VsCoq provides a dedicated query panel that accepts Coq commands (Search, Check, About, Locate, Print) and sends them to `vscoqtop` for execution. The panel displays results and maintains a session-scoped history of queries, allowing users to explore the proof environment, inspect definitions, and search for theorems without leaving the editor. Queries are executed asynchronously and results appear inline in the query panel.","intents":["I want to search for theorems or lemmas by name or pattern without navigating to their definitions","I need to check the type of a definition or tactic to understand its signature","I want to explore the Coq library and understand what's available in my proof context"],"best_for":["Coq developers exploring unfamiliar libraries or proof contexts","Users who need quick access to theorem signatures and definitions","Teams building formal verification projects with large proof libraries"],"limitations":["Query results are displayed in the panel only; they cannot be directly inserted into the proof file","Query history is session-scoped and lost when VS Code closes (no persistent history storage)","Complex queries with large result sets may overflow the panel or cause slow rendering","Query execution depends on the current proof state; queries may fail if the proof context is incomplete"],"requires":["VsCoq extension installed and configured","vscoqtop language server running","Valid Coq proof file open in the editor"],"input_types":["Coq query commands (Search, Check, About, Locate, Print)","Query strings (theorem names, patterns, identifiers)"],"output_types":["Query results (theorem signatures, definitions, search matches)","Query history (list of previous queries in the session)"],"categories":["search-retrieval","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"vscode-maximedenes-vscoq__cap_4","uri":"capability://code.generation.editing.syntax.highlighting.for.coq.language","name":"syntax highlighting for coq language","description":"VsCoq provides TextMate-based syntax highlighting for Coq source code (`.v` files), colorizing keywords, tactics, types, comments, and identifiers according to Coq language grammar. The extension integrates with VS Code's syntax highlighting engine to apply color schemes and font styles based on token classification, enabling visual distinction between proof constructs and improving code readability.","intents":["I want to visually distinguish Coq keywords, tactics, and types in my proof files","I need syntax highlighting to match my VS Code color theme","I want to quickly identify syntax errors or unusual constructs through color cues"],"best_for":["All Coq developers using VS Code","Teams standardizing on VS Code for formal verification","Users migrating from CoqIDE who expect familiar syntax highlighting"],"limitations":["Syntax highlighting is static and does not reflect proof state; it does not highlight type errors or undefined identifiers","Custom color schemes may not align with Coq-specific token types if the theme lacks Coq grammar definitions","Highlighting is based on TextMate grammar rules, which may not capture all Coq syntax edge cases (e.g., custom operators)"],"requires":["VsCoq extension installed","VS Code 1.60+ with TextMate grammar support"],"input_types":["Coq source code (.v files)"],"output_types":["Colored and styled text in the editor (syntax highlighting)"],"categories":["code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"vscode-maximedenes-vscoq__cap_5","uri":"capability://tool.use.integration.language.server.protocol.lsp.communication.with.vscoqtop","name":"language server protocol (lsp) communication with vscoqtop","description":"VsCoq acts as an LSP client that communicates with the `vscoqtop` language server (a separate OCaml/Coq package) via JSON-RPC over stdio. The extension sends document changes, cursor positions, and query commands to the language server, which invokes the Coq proof assistant and returns proof state, diagnostics, and query results. This client-server architecture decouples the editor from the proof assistant, enabling responsive UI and background proof checking.","intents":["I want the editor to communicate with the Coq proof assistant without blocking on proof checking","I need the extension to handle language server lifecycle (startup, shutdown, error recovery)","I want proof state and diagnostics to be delivered asynchronously to the editor"],"best_for":["Developers building Coq IDE integrations","Teams deploying VsCoq in standardized development environments","Users who need to understand the architecture for troubleshooting LSP issues"],"limitations":["LSP communication adds latency (typically 100-500ms per round-trip) compared to direct in-process proof checking","Language server crashes or hangs can cause the extension to become unresponsive; users must manually restart the server","LSP protocol overhead may impact performance on very large proof files or slow systems","Requires vscoqtop executable to be discoverable in PATH or explicitly configured; misconfiguration causes 'Unable to start coqtop' errors"],"requires":["vscoq-language-server package installed via opam","vscoqtop executable in PATH or configured via 'Vscoq: Path' setting","Coq >= 8.18 installed in the same opam switch as vscoq-language-server"],"input_types":["LSP messages (document changes, cursor positions, query commands)","Coq file content and metadata"],"output_types":["LSP responses (proof state, diagnostics, query results)","JSON-RPC messages from vscoqtop"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"vscode-maximedenes-vscoq__cap_6","uri":"capability://memory.knowledge.project.aware.proof.context.with.coq.module.system","name":"project-aware proof context with coq module system","description":"VsCoq respects the Coq module system and project structure, allowing the language server to resolve imports and dependencies across multiple `.v` files in a workspace. The extension maintains awareness of the current project's Coq modules, enabling queries and proof checking to access definitions from imported libraries and dependencies. This is managed through the opam switch and Coq's library path configuration.","intents":["I want to work on proofs that depend on other modules and libraries in my project","I need the proof checker to resolve imports and access definitions from dependent modules","I want to navigate and explore the proof context across multiple files in my workspace"],"best_for":["Teams working on large formal verification projects with multiple modules","Researchers building proof libraries with complex dependencies","Projects that require integration with external Coq libraries (e.g., Mathematical Components)"],"limitations":["Module resolution depends on correct opam switch configuration; misconfigured switches cause import errors","Large projects with many dependencies may experience slower proof checking due to increased context size","The extension does not provide visual module navigation or dependency graphs; users must understand the project structure manually","Cross-file refactoring is not supported; renaming a definition in one file does not automatically update imports in other files"],"requires":["Coq project with properly configured opam switch","Coq modules and libraries installed in the opam switch","Correct Coq library path configuration (typically automatic with opam)"],"input_types":["Coq source files (.v) with import statements","Coq module definitions and dependencies"],"output_types":["Resolved module context for proof checking","Proof state that includes definitions from imported modules"],"categories":["memory-knowledge","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"vscode-maximedenes-vscoq__cap_7","uri":"capability://code.generation.editing.inline.diagnostic.reporting.for.proof.errors.and.type.mismatches","name":"inline diagnostic reporting for proof errors and type mismatches","description":"VsCoq receives diagnostic messages from `vscoqtop` (syntax errors, type mismatches, proof failures) and displays them inline in the editor as squiggly underlines, error messages, and diagnostic tooltips. Diagnostics are updated asynchronously as the user edits or the proof checker processes changes, providing real-time feedback on proof validity without requiring manual error checking.","intents":["I want to see proof errors and type mismatches highlighted in the editor as I write","I need clear error messages that explain what went wrong in my proof","I want diagnostics to update automatically as I fix errors"],"best_for":["Coq developers who rely on real-time error feedback","Teams using VS Code's problem panel for error aggregation","Users learning Coq who benefit from immediate error visibility"],"limitations":["Diagnostic accuracy depends on the proof checker's error reporting; some errors may be reported at the wrong line or with unclear messages","In continuous mode, diagnostics may lag behind user edits due to asynchronous checking (100-500ms latency)","The extension does not provide error recovery suggestions or automated fixes; users must manually correct errors","Diagnostics are cleared when the proof checker encounters a fatal error, potentially hiding earlier errors"],"requires":["VsCoq extension installed and configured","vscoqtop language server running","Valid Coq file open in the editor"],"input_types":["Coq source code with potential errors","Diagnostic messages from vscoqtop"],"output_types":["Inline error highlights (squiggly underlines)","Diagnostic messages and tooltips","Problem panel entries (VS Code's built-in problem aggregation)"],"categories":["code-generation-editing","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"vscode-maximedenes-vscoq__cap_8","uri":"capability://automation.workflow.extension.settings.configuration.for.language.server.path.and.proof.mode","name":"extension settings configuration for language server path and proof mode","description":"VsCoq exposes configuration options in VS Code's settings panel, allowing users to specify the path to the `vscoqtop` executable and select the proof checking mode (Continuous vs. step-by-step). These settings are stored in VS Code's configuration system and applied when the extension initializes, enabling per-user or per-workspace customization without editing configuration files.","intents":["I want to configure the path to vscoqtop if it's not in my system PATH","I need to switch between continuous and step-by-step proof checking modes","I want to customize VsCoq settings per workspace or globally"],"best_for":["Users with non-standard opam installations or custom vscoqtop builds","Teams managing multiple Coq projects with different proof checking preferences","Developers who need to troubleshoot language server connectivity"],"limitations":["Settings changes require restarting the language server to take effect; users must manually reload the extension or VS Code","The extension does not validate the vscoqtop path at configuration time; invalid paths cause runtime errors when the extension starts","No GUI for advanced language server options; users cannot configure LSP timeout, memory limits, or other server parameters through the extension","Settings are stored in VS Code's configuration system; users must understand VS Code's settings hierarchy (user vs. workspace) to manage them correctly"],"requires":["VS Code 1.60+ with settings panel support","VsCoq extension installed"],"input_types":["User input via VS Code settings panel (text fields, dropdowns)"],"output_types":["Configuration values stored in VS Code settings","Applied settings that affect extension behavior"],"categories":["automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"vscode-maximedenes-vscoq__cap_9","uri":"capability://automation.workflow.command.palette.integration.for.extension.commands","name":"command palette integration for extension commands","description":"VsCoq registers extension commands in VS Code's command palette (accessible via F1 or Ctrl+Shift+P), allowing users to trigger proof-related actions (e.g., step forward, step backward, restart language server) without memorizing keybindings. Commands are discoverable through the palette's search and can be bound to custom keybindings by users.","intents":["I want to discover and execute VsCoq commands without memorizing keybindings","I need to step through proofs using the command palette","I want to restart the language server if it becomes unresponsive"],"best_for":["Users new to VsCoq who need to discover available commands","Teams with custom keybinding preferences","Users who prefer command palette navigation over keybindings"],"limitations":["Command palette integration is limited to commands registered by the extension; not all proof operations may be exposed as commands","Command discovery requires users to remember command names or search through the palette; no visual menu of available commands","Keybinding customization requires manual editing of VS Code's keybindings.json file; no GUI for keybinding configuration"],"requires":["VS Code 1.60+ with command palette support","VsCoq extension installed"],"input_types":["User input via command palette (command name search)"],"output_types":["Executed extension commands (proof stepping, server restart, etc.)"],"categories":["automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":41,"verified":false,"data_access_risk":"moderate","permissions":["Coq proof assistant >= 8.18 installed and accessible via opam","vscoq-language-server package installed via opam in the same switch as Coq","vscoqtop executable discoverable in shell PATH or configured via 'Vscoq: Path' setting","VS Code 1.60+ (outdated versions cause extension hanging)","Coq proof assistant >= 8.18","vscoq-language-server installed via opam","vscoqtop executable in PATH or configured via extension settings","opam (OCaml package manager) installed and configured","Coq >= 8.18 installed in an opam switch","vscoq-language-server package installed via opam in the same switch"],"failure_modes":["Continuous mode may impact editor responsiveness on very large proof files (>5000 lines) due to frequent LSP round-trips","Asynchronous checking introduces latency between user edits and goal panel updates (typically 100-500ms depending on proof complexity)","Requires Coq >= 8.18; older versions must use VsCoq Legacy extension","Step-by-step mode may feel slower for rapid iteration compared to continuous mode","User must manually trigger proof advancement (e.g., via keybindings or command palette) — no automatic updates","Large proof files may require many manual steps to reach the end, increasing cognitive load","VsCoq does not provide automated opam installation or package management; users must manually create opam switches and install packages","Opam switch misconfiguration (e.g., wrong Coq version, missing dependencies) causes language server startup failures with unclear error messages","Version mismatches between vscoq-language-server and the VsCoq extension can cause compatibility issues; users must coordinate pre-release versions manually","The extension does not validate the opam environment at startup; invalid configurations are discovered only when the language server fails to start","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.52,"quality":0.32,"ecosystem":0.35000000000000003,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:34.803Z","last_scraped_at":"2026-05-03T15:20:37.518Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=vscoq","compare_url":"https://unfragile.ai/compare?artifact=vscoq"}},"signature":"MduVrCOXhfux43n34Fv3UHHTQXNgRR1qYUAaxMpHvmCGKg+j6A1I4D9b4ONITJqsevwG3I/FRaxCm1xYsiNcAA==","signedAt":"2026-06-23T12:35:27.463Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/vscoq","artifact":"https://unfragile.ai/vscoq","verify":"https://unfragile.ai/api/v1/verify?slug=vscoq","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}