Skip to main content
Glama
vscode.md11.5 kB
# VS Code Integration Guide **Integration Strategy C: GitHub Copilot + DinCoder MCP Server** This guide shows how to integrate DinCoder with VS Code and GitHub Copilot for spec-driven development workflows. ## Table of Contents 1. [Overview](#overview) 2. [Prerequisites](#prerequisites) 3. [Quick Start](#quick-start) 4. [Configuration Files](#configuration-files) 5. [Usage](#usage) 6. [Troubleshooting](#troubleshooting) 7. [Best Practices](#best-practices) --- ## Overview DinCoder integrates seamlessly with VS Code through: - **MCP Server** - Automatic tool discovery via `.vscode/mcp.json` - **GitHub Copilot** - Native integration with Copilot Chat - **MCP Prompts** - Workflow slash commands (`/mcp.dincoder.*`) - **Workspace Config** - Shareable configuration via git ### Benefits ✅ **Native VS Code integration** - No separate installations ✅ **GitHub Copilot compatibility** - Works with existing workflows ✅ **Workspace-level config** - Shareable via git ✅ **Enterprise-friendly** - IT can deploy managed configs ✅ **Autodiscovery** - Detects Claude Desktop configs --- ## Prerequisites Before you begin, ensure you have: 1. **VS Code** installed (version 1.80 or later) 2. **GitHub Copilot** subscription (Free, Pro, or Enterprise) 3. **Node.js** 20 or later (for running the MCP server) 4. **Git** installed ### Verify Installation ```bash # Check Node.js version node --version # Should output: v20.x.x or higher # Check npm npm --version # Check git git --version ``` --- ## Quick Start ### 1. Create Configuration Files In your project root, create a `.vscode/` directory: ```bash mkdir -p .vscode ``` ### 2. Create `.vscode/mcp.json` ```json { "mcpServers": { "dincoder": { "command": "npx", "args": ["-y", "mcp-dincoder@latest"], "env": {} } } } ``` ### 3. Create `.vscode/settings.json` ```json { "chat.mcp.access": "registry", "chat.mcp.discovery.enabled": true, "chat.mcp.approval": "workspace" } ``` ### 4. Create `.github/copilot-instructions.md` (Optional but Recommended) This file provides context to Copilot about the DinCoder workflow: ```markdown # DinCoder Spec-Driven Development This project uses DinCoder for spec-driven development workflows. ## Available MCP Tools ### Project Initialization - `specify_start` - Initialize .dincoder/ directory - `prereqs_check` - Verify environment setup ### Specification Phase - `specify_describe` - Create detailed specification - `spec_validate` - Check specification quality - `spec_refine` - Update specific sections - `clarify_add/resolve/list` - Manage clarifications ### Planning Phase - `plan_create` - Generate technical implementation plan - `artifacts_analyze` - Verify spec-plan alignment ### Task Management - `tasks_generate` - Create actionable task list - `tasks_visualize` - Show dependency graphs - `tasks_filter` - Smart filtering - `tasks_search` - Fuzzy search across tasks - `tasks_stats` - Progress analytics - `tasks_tick` - Mark single task complete - `tasks_tick_range` - Batch completion ## MCP Prompts (Slash Commands) Use these in Copilot Chat (agent mode): - `/mcp.dincoder.start_project` - Initialize new project - `/mcp.dincoder.create_spec` - Create specification - `/mcp.dincoder.generate_plan` - Generate implementation plan - `/mcp.dincoder.create_tasks` - Generate task list - `/mcp.dincoder.review_progress` - View progress report - `/mcp.dincoder.validate_spec` - Check spec quality - `/mcp.dincoder.next_tasks` - Show next actionable tasks ## Workflow 1. **Specify** - Define what to build 2. **Plan** - Design how to build it 3. **Execute** - Build following tasks 4. **Track** - Monitor progress ``` ### 5. Reload VS Code 1. Open Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`) 2. Run: `Developer: Reload Window` 3. Open Copilot Chat panel 4. Click tools icon → verify "dincoder" appears --- ## Configuration Files ### `.vscode/mcp.json` (Required) This file tells VS Code where to find the DinCoder MCP server. **Basic Configuration:** ```json { "mcpServers": { "dincoder": { "command": "npx", "args": ["-y", "mcp-dincoder@latest"] } } } ``` **Advanced Configuration (with environment variables):** ```json { "mcpServers": { "dincoder": { "command": "npx", "args": ["-y", "mcp-dincoder@0.5.0"], "env": { "NODE_ENV": "development", "LOG_LEVEL": "info" } } } } ``` ### `.vscode/settings.json` (Recommended) Controls MCP behavior in VS Code. ```json { "chat.mcp.access": "registry", "chat.mcp.discovery.enabled": true, "chat.mcp.approval": "workspace" } ``` **Settings Explained:** - `chat.mcp.access: "registry"` - Allow MCP servers from registry - `chat.mcp.discovery.enabled: true` - Auto-discover MCP configs - `chat.mcp.approval: "workspace"` - Require approval per workspace ### `.github/copilot-instructions.md` (Optional) Provides Copilot with project-specific context. This file is automatically read by GitHub Copilot. --- ## Usage ### Using Slash Commands In Copilot Chat, use MCP prompt slash commands: ``` # Start a new project /mcp.dincoder.start_project my-app # Create a specification /mcp.dincoder.create_spec "Build a REST API for task management" # Generate implementation plan /mcp.dincoder.generate_plan # Create actionable tasks /mcp.dincoder.create_tasks # Check progress /mcp.dincoder.review_progress # Validate spec quality /mcp.dincoder.validate_spec # Show next tasks /mcp.dincoder.next_tasks ``` ### Using Tools Directly Reference tools with `#` in Copilot Chat: ``` # Initialize project #dincoder.specify_start # Create specification #dincoder.specify_describe # Generate plan #dincoder.plan_create # Create tasks #dincoder.tasks_generate # Show progress #dincoder.tasks_stats ``` ### Adding Context Include DinCoder artifacts as context: 1. Click "Add Context" in Copilot Chat 2. Select "MCP Resources" 3. Choose: - `dincoder/spec.md` - Project specification - `dincoder/plan.md` - Implementation plan - `dincoder/tasks.md` - Task list --- ## Troubleshooting ### MCP Server Not Appearing **Problem:** DinCoder doesn't show up in Copilot Chat tools **Solutions:** 1. Verify `.vscode/mcp.json` exists and is valid JSON 2. Check Node.js is installed: `node --version` 3. Reload VS Code window: `Cmd+Shift+P` → `Developer: Reload Window` 4. Check Copilot extension is updated 5. Try manual installation: `npx -y mcp-dincoder@latest` to verify server works ### Permission Denied Errors **Problem:** VS Code shows permission dialogs for MCP server **Solutions:** 1. Check `.vscode/settings.json` has `"chat.mcp.approval": "workspace"` 2. Click "Allow for this workspace" when prompted 3. Add workspace to trusted workspaces ### Slash Commands Not Working **Problem:** `/mcp.dincoder.*` commands not recognized **Solutions:** 1. Ensure you're in Copilot Chat **agent mode** (not inline mode) 2. Type `/` to see available commands - verify `mcp.dincoder` appears 3. Check MCP server is running: Look for "dincoder" in tools list 4. Try refreshing tools: Reload window ### Server Timeout **Problem:** MCP server takes too long to start **Solutions:** 1. Pre-install package: `npm install -g mcp-dincoder` 2. Update mcp.json to use local installation: ```json { "mcpServers": { "dincoder": { "command": "mcp-dincoder" } } } ``` 3. Increase timeout in settings (if available) ### Tools Not Discovered **Problem:** Copilot doesn't see DinCoder tools **Solutions:** 1. Verify `"chat.mcp.discovery.enabled": true` in settings 2. Check server logs in Output panel (View → Output → MCP) 3. Test server manually: `npx -y mcp-dincoder@latest` 4. Ensure firewall isn't blocking localhost connections --- ## Best Practices ### 1. Commit Configuration to Git Add VS Code config to version control: ```bash git add .vscode/mcp.json .vscode/settings.json .github/copilot-instructions.md git commit -m "Add DinCoder MCP configuration for VS Code" ``` **Benefits:** - Team members get same setup automatically - Configuration travels with project - Easier onboarding for new developers ### 2. Use Workspace-Specific Settings Keep MCP settings at workspace level (`.vscode/settings.json`) rather than user settings to avoid conflicts across projects. ### 3. Version Lock for Stability For production projects, pin to specific version: ```json { "mcpServers": { "dincoder": { "command": "npx", "args": ["-y", "mcp-dincoder@0.5.0"] } } } ``` ### 4. Update Copilot Instructions Keep `.github/copilot-instructions.md` updated with: - Project-specific workflow preferences - Custom task metadata conventions - Team-specific clarification processes ### 5. Regular Updates Update DinCoder periodically: ```bash # Check current version npx -y mcp-dincoder@latest --version # Update to latest npm install -g mcp-dincoder@latest # Or use @latest in mcp.json to auto-update ``` ### 6. Team Consistency Ensure all team members: - Use same DinCoder version - Have same VS Code/Copilot setup - Commit .dincoder/ directory to git for shared context --- ## Example Workflow ### Starting a New Feature ``` 1. Open Copilot Chat 2. Type: /mcp.dincoder.create_spec "Add user authentication" 3. Answer Copilot's clarifying questions 4. Review generated spec.md 5. Type: /mcp.dincoder.validate_spec 6. Fix any validation issues 7. Type: /mcp.dincoder.generate_plan 8. Review plan.md 9. Type: /mcp.dincoder.create_tasks 10. Start working on tasks from /mcp.dincoder.next_tasks ``` ### Daily Workflow ``` 1. Open project in VS Code 2. Copilot Chat: /mcp.dincoder.next_tasks 3. Work on highest-priority unblocked task 4. Mark complete when done 5. End of day: /mcp.dincoder.review_progress ``` --- ## File Structure After setup, your project will have: ``` my-project/ ├── .vscode/ │ ├── mcp.json # MCP server config │ └── settings.json # VS Code MCP settings ├── .github/ │ └── copilot-instructions.md # Context for Copilot ├── .dincoder/ # Generated by DinCoder │ ├── spec.md # Project specification │ ├── plan.md # Implementation plan │ ├── tasks.md # Task list │ ├── research.md # Technical decisions │ └── constitution.json # Project principles └── ... ``` --- ## Quality Gates DinCoder enforces quality at each phase: - ✅ **Spec Validation** - Before planning (`spec_validate`) - ✅ **Plan-Spec Alignment** - Before tasks (`artifacts_analyze`) - ✅ **Dependency Check** - Before starting tasks (`tasks_visualize`) - ✅ **Progress Review** - Regularly during execution (`tasks_stats`) --- ## Additional Resources - **DinCoder GitHub**: https://github.com/flight505/MCP_DinCoder - **npm Package**: https://www.npmjs.com/package/mcp-dincoder - **Integration Strategy**: See INTEGRATION_STRATEGY.md in main repo - **VS Code MCP Docs**: https://code.visualstudio.com/docs/copilot/customization/mcp-servers --- ## Support If you encounter issues: 1. Check this troubleshooting guide first 2. Search existing issues: https://github.com/flight505/MCP_DinCoder/issues 3. Create new issue with: - VS Code version - Copilot version - Node.js version - Error messages - `.vscode/mcp.json` content --- **Last Updated:** 2025-10-17 **DinCoder Version:** 0.5.0 **VS Code Version:** 1.80+

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/flight505/MCP_DinCoder'

If you have feedback or need assistance with the MCP directory API, please join our Discord server