{
  "name": "@madmatt112org/spec-workflow-mcp",
  "version": "5.1.0",
  "description": "MCP server for spec-driven development workflow with real-time web dashboard (madmatt112 fork of Pimzino/spec-workflow-mcp)",
  "author": "Matthew Field <fieldm58@gmail.com>",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/madmatt112/spec-workflow-mcp.git"
  },
  "bugs": {
    "url": "https://github.com/madmatt112/spec-workflow-mcp/issues"
  },
  "homepage": "https://github.com/madmatt112/spec-workflow-mcp#readme",
  "main": "dist/index.js",
  "type": "module",
  "bin": {
    "spec-workflow-mcp": "dist/index.js"
  },
  "files": [
    "dist/**/*",
    "README.md",
    "CHANGELOG.md",
    "LICENSE"
  ],
  "scripts": {
    "build": "npm run validate:i18n && npm run clean && tsc && npm run build:dashboard",
    "copy-static": "node scripts/copy-static.cjs",
    "dev": "tsx src/index.ts",
    "start": "node dist/index.js",
    "dev:dashboard": "vite --config src/dashboard_frontend/vite.config.ts",
    "build:dashboard": "vite build --config src/dashboard_frontend/vite.config.ts && npm run copy-static",
    "clean": "rimraf dist",
    "validate:i18n": "node scripts/validate-i18n.js",
    "sync:plugin-version": "node scripts/sync-plugin-version.js",
    "check:plugin-version": "node scripts/sync-plugin-version.js --check",
    "version": "npm run sync:plugin-version && git add .claude-plugin",
    "test": "vitest",
    "test:watch": "vitest --watch",
    "test:coverage": "vitest --coverage",
    "test:e2e": "playwright test",
    "test:e2e:worktree": "playwright test -c playwright.worktree.config.ts",
    "test:e2e:ui": "playwright test --ui",
    "test:generate-approvals": "node scripts/generate-test-approvals.cjs",
    "prepublishOnly": "npm run build",
    "validate:mdx": "tsx scripts/validate-mdx.ts"
  },
  "keywords": [
    "mcp",
    "model-context-protocol",
    "spec-workflow",
    "ai-development",
    "claude",
    "cursor",
    "development-workflow",
    "project-management"
  ],
  "license": "GPL-3.0",
  "dependencies": {
    "@dnd-kit/core": "^6.1.0",
    "@dnd-kit/sortable": "^8.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@fastify/cors": "^11.2.0",
    "@fastify/static": "^9.0.0",
    "@fastify/websocket": "^11.2.0",
    "@heroicons/react": "^2.2.0",
    "@mdx-js/mdx": "^3.1.1",
    "@mdxeditor/editor": "^3.50.0",
    "@modelcontextprotocol/sdk": "^1.24.3",
    "@tailwindcss/vite": "^4.1.13",
    "@toon-format/toon": "^0.8.0",
    "ajv": "^8.17.1",
    "ajv-formats": "^3.0.1",
    "chokidar": "^3.5.3",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "diff": "^5.2.0",
    "fastify": "^5.7.4",
    "highlight.js": "^11.9.0",
    "howler": "^2.2.4",
    "i18next": "^25.5.2",
    "i18next-browser-languagedetector": "^8.2.0",
    "markdown-it": "^14.1.0",
    "mermaid": "^10.9.1",
    "node-cron": "^4.2.1",
    "open": "^8.4.2",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-i18next": "^15.7.3",
    "react-router-dom": "^6.26.2",
    "react-text-annotate-blend": "^1.2.0",
    "simple-git": "^3.28.0",
    "tailwind-merge": "^3.3.1",
    "toml": "^3.0.0",
    "ws": "^8.18.0",
    "zod": "^3.25.0"
  },
  "devDependencies": {
    "@playwright/test": "^1.58.0",
    "@tailwindcss/typography": "^0.5.16",
    "@types/diff": "^5.2.3",
    "@types/node": "^22.18.1",
    "@types/react": "^18.3.5",
    "@types/react-dom": "^18.3.0",
    "@types/ws": "^8.5.13",
    "@vitejs/plugin-react": "^4.3.3",
    "@vitest/coverage-v8": "^4.0.15",
    "rimraf": "^6.0.1",
    "tailwindcss": "^4.1.13",
    "tsx": "^4.7.0",
    "typescript": "^5.7.2",
    "vite": "^7.2.7",
    "vitest": "^4.0.15"
  }
}
