# Full Technical Specification & Architecture: MySpec.dev ## What is Spec-Driven Development (SDD)? Spec-Driven Development (SDD) is an AI-first software engineering methodology where structured, version-controlled technical specifications (`constitution.md`, `requirements.md`, `solution.md`, `tasks.md`) precede code generation to eliminate hallucinations and scope creep. ## The 4-File Spec Bundle Hierarchy 1. `constitution.md`: Non-negotiable technical constraints (TypeScript strict mode, framework versions, styling rules, forbidden packages). 2. `requirements.md`: EARS+ formatted functional requirements with explicit acceptance criteria. 3. `solution.md`: Architecture diagrams (Mermaid.js), database models (Postgres, Drizzle, Prisma), API route signatures. 4. `tasks.md`: Atomic, ordered development tasks that execute within optimal LLM token windows. ## EARS Requirements Syntax Patterns 1. Ubiquitous: The shall . 2. Event-Driven: WHEN , the shall . 3. State-Driven: WHILE , the shall . 4. Unwanted Behavior: IF , THEN the shall . 5. Optional Feature: WHERE , the shall . ## Connecting via Model Context Protocol (MCP) Install `@myspec/mcp-server` over stdio in Claude Code / Cursor Composer: ```json { "mcpServers": { "myspec": { "command": "npx", "args": ["-y", "@myspec/mcp-server"] } } } ``` Available tools: - `get_constitution`: Returns active tech stack rules - `get_requirements`: Returns EARS functional criteria - `get_solution`: Returns architecture diagrams and schemas - `get_tasks`: Returns task list with progress markers - `update_task`: Marks task as completed with Git diff reference