{"_id":"@d0whc3r/mcp-specgen","name":"@d0whc3r/mcp-specgen","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.2":{"name":"@d0whc3r/mcp-specgen","version":"1.0.2","private":false,"description":"MCP SpecGen - EARS-based Specification Generator MCP Server for AI-powered software development","main":"dist/index.js","bin":{"mcp-specgen":"dist/index.js"},"type":"module","scripts":{"build":"vite build --ssr","build:dev":"vite build --ssr --mode development && npm run copy-templates","dev":"vite build --ssr --watch","copy-templates":"cp -r src/prompts/templates dist/prompts/","start":"node dist/index.js","debug":"DANGEROUSLY_OMIT_AUTH=true npx @modelcontextprotocol/inspector node dist/index.js","start:streamableHttp":"node dist/streamableHttp.js","test":"vitest","test:run":"vitest run --reporter=dot","test:coverage":"vitest --coverage","build:analyze":"vite build --ssr --mode production","lint":"eslint . --cache","lint:fix":"eslint . --fix --cache","lint:staged":"lint-staged","type-check":"tsc -b --noEmit tsconfig.json","format":"prettier --write .","format:check":"prettier --check .","prepare":"[ -n \"$CI\" ] || husky","commit-msg":"commitlint --edit","pre-push":"npm run lint && npm run type-check && npm run test:run","release":"semantic-release","release:ci":"HUSKY=0 semantic-release","release:dry-run":"semantic-release --dry-run"},"keywords":["mcp","mcp-server","specification","requirements","ears","requirements","design","tasks","markdown","ai","claude","cursor","model-context-protocol","software-development","documentation","codecov","bundle-analysis"],"author":{"name":"d0whc3r"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/d0whc3r/mcp-specgen.git"},"bugs":{"url":"https://github.com/d0whc3r/mcp-specgen/issues"},"homepage":"https://github.com/d0whc3r/mcp-specgen#readme","mcp":{"type":"server","usage":"Configure in MCP-compatible AI editors with npx @d0whc3r/mcp-specgen"},"engines":{"node":">=22.0.0"},"dependencies":{"@modelcontextprotocol/sdk":"1.17.3","express":"5.1.0","zod":"3.25.76"},"devDependencies":{"@codecov/vite-plugin":"1.9.1","@commitlint/cli":"19.8.1","@commitlint/config-conventional":"19.8.1","@eslint/js":"9.33.0","@semantic-release/changelog":"6.0.3","@semantic-release/git":"10.0.1","@semantic-release/github":"11.0.4","@semantic-release/npm":"12.0.2","@types/express":"5.0.3","@types/node":"24.3.0","@typescript-eslint/eslint-plugin":"8.40.0","@typescript-eslint/parser":"8.40.0","@vitest/coverage-v8":"3.2.4","@vitest/eslint-plugin":"1.3.4","@vitest/ui":"3.2.4","eslint":"9.33.0","eslint-config-prettier":"10.1.8","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-array-func":"5.0.2","eslint-plugin-import":"2.32.0","eslint-plugin-jsdoc":"54.1.0","eslint-plugin-n":"17.21.3","eslint-plugin-prettier":"5.5.4","eslint-plugin-promise":"7.2.1","eslint-plugin-regexp":"2.10.0","eslint-plugin-security":"3.0.1","eslint-plugin-sonarjs":"3.0.4","eslint-plugin-unicorn":"60.0.0","globals":"16.3.0","husky":"9.1.7","lint-staged":"16.1.5","prettier":"3.6.2","semantic-release":"24.2.7","typescript":"5.9.2","typescript-eslint":"8.40.0","vite":"7.1.3","vitest":"3.2.4"},"overrides":{"vite":"7.1.3"},"_id":"@d0whc3r/mcp-specgen@1.0.2","gitHead":"875ec4c64ad1b98088abc833ce36a09f93c3f804","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-b2feKKLYoHQm9csRR+MSezSqkTRJFQHASQ83NazjQb/0q0bDTWbF1/8DQ+ZrRC7S5rDMJ7EXHozaGUSDDV9tpQ==","shasum":"8687ebf6adfdec90e7541fc1525d75066ea4e77b","tarball":"https://registry.npmjs.org/@d0whc3r/mcp-specgen/-/mcp-specgen-1.0.2.tgz","fileCount":8,"unpackedSize":617002,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDubStSNCOEAqzs4w+250l4pZV3G0Ric6MjxhszgxmquwIhAN6L60k60YlbHSE1+qXwbJN5RlNoPsDFTw53/qXlN14C"}]},"_npmUser":{"name":"d0whc3r","email":"d0whc3r@gmail.com"},"directories":{},"maintainers":[{"name":"d0whc3r","email":"d0whc3r@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-specgen_1.0.2_1755648114843_0.7161117004032371"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-20T00:01:54.724Z","1.0.2":"2025-08-20T00:01:55.103Z","modified":"2025-08-20T00:01:55.439Z"},"maintainers":[{"name":"d0whc3r","email":"d0whc3r@gmail.com"}],"description":"MCP SpecGen - EARS-based Specification Generator MCP Server for AI-powered software development","homepage":"https://github.com/d0whc3r/mcp-specgen#readme","keywords":["mcp","mcp-server","specification","requirements","ears","requirements","design","tasks","markdown","ai","claude","cursor","model-context-protocol","software-development","documentation","codecov","bundle-analysis"],"repository":{"type":"git","url":"git+https://github.com/d0whc3r/mcp-specgen.git"},"author":{"name":"d0whc3r"},"bugs":{"url":"https://github.com/d0whc3r/mcp-specgen/issues"},"license":"MIT","readme":"# MCP SpecGen\n\n[![CI](https://github.com/d0whc3r/mcp-specgen/actions/workflows/pr.yml/badge.svg)](https://github.com/d0whc3r/mcp-specgen/actions/workflows/pr.yml)\n[![Release](https://github.com/d0whc3r/mcp-specgen/actions/workflows/master.yml/badge.svg)](https://github.com/d0whc3r/mcp-specgen/actions/workflows/master.yml)\n[![npm version](https://badge.fury.io/js/%40d0whc3r%2Fmcp-specgen.svg)](https://badge.fury.io/js/%40d0whc3r%2Fmcp-specgen)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![codecov](https://codecov.io/gh/d0whc3r/mcp-specgen/graph/badge.svg?token=bGGegfydi5)](https://codecov.io/gh/d0whc3r/mcp-specgen)\n[![GitHub Pages](https://github.com/d0whc3r/mcp-specgen/actions/workflows/pages.yml/badge.svg)](https://d0whc3r.github.io/mcp-specgen)\n\n**MCP SpecGen** is a Model Context Protocol (MCP) server that generates software\nspecifications in Markdown format using the EARS (Easy Approach to Requirements\nSyntax) methodology for AI-powered software development. It enables AI\nassistants to create and manage comprehensive software specifications using\nthree core documents: requirements.md, design.md, and tasks.md, all following\nstructured EARS patterns.\n\n## 🚀 Quick Start\n\n**No installation required!** Configure in your MCP-compatible AI editor:\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-specgen\": {\n      \"command\": \"npx\",\n      \"args\": [\"@d0whc3r/mcp-specgen\"]\n    }\n  }\n}\n```\n\n**Supported AI Editors:**\n\n- Claude Desktop\n- Cursor\n- Other MCP-compatible editors\n\n**Benefits of using npx:**\n\n- ✅ No installation required\n- ✅ Always gets the latest version\n- ✅ No global package conflicts\n- ✅ Works immediately\n\n## 🚀 Features\n\n- **EARS Methodology**: Generate specifications using Easy Approach to\n  Requirements Syntax\n- **Markdown Specification Generation**: Create comprehensive software\n  specifications in Markdown format using three core documents\n- **Document Generation**: Generate requirements.md, design.md, and tasks.md\n  documents with structured EARS patterns\n- **Task Management**: Generate and manage implementation tasks\n- **AI Integration**: Seamless integration with Claude Desktop, Cursor, and\n  other AI editors\n- **Security**: Secure file access with path validation and input sanitization\n- **Code Coverage**: Comprehensive test coverage with Codecov integration\n- **Documentation**: Comprehensive documentation hosted on GitHub Pages\n\n## 📖 Documentation\n\n📚 **[Full Documentation](https://d0whc3r.github.io/mcp-specgen)** - Complete\nguides, architecture, and usage examples\n\n## ⚙️ Configuration\n\n### For AI Editors\n\nAdd the following configuration to your MCP settings:\n\n**Claude Desktop** (`~/.config/claude/desktop-config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-specgen\": {\n      \"command\": \"npx\",\n      \"args\": [\"@d0whc3r/mcp-specgen\"]\n    }\n  }\n}\n```\n\n**Cursor** (Settings → Extensions → MCP):\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-specgen\": {\n      \"command\": \"npx\",\n      \"args\": [\"@d0whc3r/mcp-specgen\"]\n    }\n  }\n}\n```\n\n**Other MCP-compatible editors**: Use the same configuration pattern\n\n**Note**: This package is designed to be used with `npx` and does not require\nglobal installation. The `npx` approach ensures you always get the latest\nversion and avoids conflicts with other global packages.\n\n## 🎯 Usage\n\n1. **Configure your MCP-compatible AI editor** with the settings above\n\n2. **Start using the prompts**:\n   - Ask your AI assistant to \"Generate requirements for a user registration\n     system\"\n   - Use \"Generate design from requirements\" to create design documents\n   - Request \"Generate tasks from requirements\" to create implementation tasks\n\n## 📚 Available Prompts\n\n### Document Generation\n\n- `generate-requirements`: Creates requirements.md documents using EARS\n  methodology\n- `generate-design-from-requirements`: Generates design.md documents using EARS\n  patterns\n- `generate-tasks`: Generates tasks.md documents using EARS methodology\n\n### Task Management\n\n- `execute-task`: Executes development tasks\n- `list-pending-tasks`: Shows pending tasks\n- `mark-task-completed`: Marks tasks as completed\n\n## 🎯 EARS Methodology\n\nMCP SpecGen uses the **EARS (Easy Approach to Requirements Syntax)** methodology\nto generate clear, testable specifications:\n\n- **Ubiquitous**: \"The [system] shall [function]\"\n- **Event-driven**: \"When [trigger], the [system] shall [function]\"\n- **State-driven**: \"While [state], the [system] shall [function]\"\n- **Unwanted behavior**: \"If [condition], then the [system] shall [function]\"\n- **Optional**: \"Where [condition], the [system] shall [function]\"\n\n## 🔧 Development\n\n### Prerequisites\n\n- Node.js 22.0.0 or higher\n- npm\n\n### Setup (For Contributors)\n\n```bash\n# Clone the repository\ngit clone https://github.com/d0whc3r/mcp-specgen.git\ncd mcp-specgen\n\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Run tests\nnpm test\n```\n\n**Note**: For end users, this package should be used with\n`npx @d0whc3r/mcp-specgen` - no installation required!\n\n### Available Scripts\n\n- `npm run build`: Build the project\n- `npm run build:analyze`: Build with bundle analysis (Codecov)\n- `npm test`: Run tests\n- `npm run test:coverage`: Run tests with coverage\n- `npm run lint`: Run ESLint\n- `npm run lint:fix`: Fix ESLint issues\n- `npm run format`: Format code with Prettier\n- `npm run type-check`: Run TypeScript type checking\n\n## 📊 Bundle Analysis\n\nThis project uses [@codecov/vite-plugin](https://github.com/codecov/vite-plugin)\nfor bundle analysis and optimization insights. The plugin automatically:\n\n- Analyzes bundle size and composition\n- Provides optimization recommendations\n- Tracks bundle changes over time\n- Integrates with Codecov for detailed reporting\n\nBundle analysis runs automatically during CI/CD builds and can be triggered\nmanually with `npm run build:analyze`.\n\n## 📖 Documentation\n\n- **[Architecture](docs/ARCHITECTURE.md)**: Detailed system architecture and\n  components\n- **[Usage Guide](docs/USAGE.md)**: Comprehensive usage instructions and\n  examples\n\n## 🔒 Security\n\n- **File Path Validation**: All file access is restricted to the current working\n  directory\n- **Input Validation**: Zod schemas validate all input parameters\n- **Error Handling**: Graceful error handling prevents information leakage\n- **Template Sanitization**: Templates are processed safely without code\n  execution\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md)\nfor details.\n\n### Development Workflow\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file\nfor details.\n\n## 🙏 Acknowledgments\n\n- [Model Context Protocol](https://modelcontextprotocol.io/) for the MCP\n  specification\n- [Anthropic](https://www.anthropic.com/) for Claude and the MCP ecosystem\n\n## 📞 Support\n\n- **Issues**: [GitHub Issues](https://github.com/d0whc3r/mcp-specgen/issues)\n- **Discussions**:\n  [GitHub Discussions](https://github.com/d0whc3r/mcp-specgen/discussions)\n- **Documentation**: [docs/](docs/) directory\n","readmeFilename":"README.md","_rev":"1-515b739b61208ec149522fd28fa9808e"}