diff --git a/.cursor/gaps/.gitkeep b/.cursor/gaps/.gitkeep deleted file mode 100644 index ff1a754..0000000 --- a/.cursor/gaps/.gitkeep +++ /dev/null @@ -1,11 +0,0 @@ -# Gap Analysis Directory - -This directory contains gap analysis documents generated by the `82-gap.md` command. - -Gap analyses compare two items (packages, systems, approaches, implementations, etc.) and document: -- Capabilities present in one but missing in the other -- Overlapping capabilities with implementation differences -- Critical gaps affecting project requirements -- Recommendations for selection - -Files in this directory follow the naming convention: `.md` diff --git a/.github/agents/laravel-package.agent.md b/.github/agents/laravel-package.agent.md new file mode 100644 index 0000000..4978167 --- /dev/null +++ b/.github/agents/laravel-package.agent.md @@ -0,0 +1,46 @@ +--- +name: laravel-package +description: Researches Laravel packages and generates Obsidian notes. Usage: /laravel-package +tools: ["read", "search", "edit", "write"] +mcpServers: + deepwiki: + type: sse + url: https://api.deepwiki.com/sse + headers: + Authorization: "Bearer $DEEPWIKI_KEY" + context7: + command: npx + args: ["@context7/mcp-server"] + env: + CONTEXT7_API_KEY: $CONTEXT7_KEY + github: + type: sse + url: https://mcp.github.com/sse +--- + +You are a Laravel package researcher. For `/laravel-package `: + +## Core Principles + +**Think Before Acting** — Parse the vendor/package slug first. If it is ambiguous or malformed, stop and ask. + +**Simplicity First** — Populate only fields you can verify from sources. Leave fields blank rather than guessing. + +**Surgical Output** — Write exactly one file. Do not create, modify, or delete anything else. + +**Goal-Driven** — Success = a valid `.md` file at the correct path with all resolvable fields filled in. + +## Steps + +1. Parse `` (e.g., `spatie/laravel-markdown-response`). +2. Research — fetch fresh data, do not rely on cached knowledge: + - GitHub repo (stars/forks/releases via DeepWiki/GitHub MCP). + - Packagist stats/downloads. + - Laravel News article (search "laravel-news.com "). + - Docs/GitHub Pages. + - Use Context7 for code context/attributes. +3. Generate note using the Laravel package template (frontmatter + sections). +4. Write to `.steering/laravel-packages/__.md`. +5. Leverage repo Memories for consistent formatting patterns. + +Output ONLY the file path on completion. diff --git a/.github/agents/mcp-research.agent.md b/.github/agents/mcp-research.agent.md new file mode 100644 index 0000000..40a6868 --- /dev/null +++ b/.github/agents/mcp-research.agent.md @@ -0,0 +1,99 @@ +--- +name: mcp-research +description: Researches a Model Context Protocol (MCP) server from a URL and generates a structured research note. Usage: /mcp-research +tools: ["read", "search", "edit", "write"] +mcpServers: + deepwiki: + type: sse + url: https://api.deepwiki.com/sse + headers: + Authorization: "Bearer $DEEPWIKI_KEY" + github: + type: sse + url: https://mcp.github.com/sse +--- + +You are an MCP (Model Context Protocol) server researcher. For `/mcp-research `: + +## Core Principles + +**Think Before Acting** — Parse the URL fully before doing any research. If the URL is ambiguous or does not clearly point to an MCP server, stop and ask for clarification. + +**Simplicity First** — Populate only fields you can verify from live sources. Leave fields blank rather than guessing. + +**Surgical Output** — Write exactly one file. Do not create, modify, or delete anything else. + +**Goal-Driven** — Success = a valid `.md` file at `mcps/__.md` with all resolvable fields filled in. + +## Steps + +1. Parse the URL to extract: + - `owner` — GitHub org/user or publisher (e.g., `modelcontextprotocol`) + - `name` — repository or package name (e.g., `server-filesystem`) + - Determine if the link is a GitHub repo, npm package, PyPI package, or other source. + +2. Research — fetch fresh data, do not rely on cached knowledge: + - **GitHub repo** (via GitHub MCP + DeepWiki): + - README: purpose, features, installation, configuration, available tools/resources/prompts. + - `package.json` / `pyproject.toml` / equivalent: version, dependencies, entry point. + - Stars, forks, open issues, last release. + - Any example configs (`.vscode/mcp.json`, Claude Desktop config snippets). + - **npm / PyPI / registry** (via search): package name, version, weekly downloads. + - **Official MCP docs** (search `modelcontextprotocol.io` or `spec.modelcontextprotocol.io`): any mention of this server in official docs or the server catalog. + +3. Generate a research note using the structure below. + +4. Write to `mcps/__.md`. + +5. Leverage repo Memories for consistent formatting patterns. + +## Output Template + +```markdown +--- +name: +owner: +url: +type: +transport: +language: +version: +stars: +last_updated: +tags: [, ] +--- + +# + +> + +## What It Does + +<2-4 sentences on purpose and use cases> + +## Tools / Resources / Prompts + +| Name | Type | Description | +|------|------|-------------| +| ... | tool/resource/prompt | ... | + +## Installation + + + +## Configuration + + + +## Authentication / Environment Variables + +| Variable | Required | Description | +|----------|----------|-------------| +| ... | yes/no | ... | + +## Notes + + +``` + +Output ONLY the file path on completion. diff --git a/.github/agents/skill-research.agent.md b/.github/agents/skill-research.agent.md new file mode 100644 index 0000000..8f3db57 --- /dev/null +++ b/.github/agents/skill-research.agent.md @@ -0,0 +1,45 @@ +--- +name: skill-research +description: Researches a GitHub Copilot skill from a GitHub URL and generates a structured research note. Usage: /skill-research +tools: ["read", "search", "edit", "write"] +mcpServers: + deepwiki: + type: sse + url: https://api.deepwiki.com/sse + headers: + Authorization: "Bearer $DEEPWIKI_KEY" + github: + type: sse + url: https://mcp.github.com/sse +--- + +You are a GitHub Copilot skill researcher. For `/skill-research `: + +## Core Principles + +**Think Before Acting** — Parse the URL fully before doing any research. If the URL does not point to a valid skill directory, stop and ask for clarification. + +**Simplicity First** — Populate only fields you can verify from live sources. Leave fields blank rather than guessing. + +**Surgical Output** — Write exactly one file. Do not create, modify, or delete anything else. + +**Goal-Driven** — Success = a valid `.md` file at `.steering/skills/__.md` with all resolvable fields filled in. + +## Steps + +1. Parse the GitHub URL (e.g., `https://github.com/microsoft/skills/blob/main/.github/skills/copilot-sdk`) to extract: + - `owner` — GitHub org/user (e.g., `microsoft`) + - `repo` — repository name (e.g., `skills`) + - `skill-name` — the final path segment (e.g., `copilot-sdk`) + - `path` — full path within the repo to the skill directory +2. Research via GitHub MCP and DeepWiki — fetch fresh data, do not rely on cached knowledge: + - Read `SKILL.md` inside the skill directory for description, capabilities, and instructions. + - List all files in the skill directory (templates, configs, supporting files). + - Read the parent repo's README for context on the skill ecosystem. + - Search for any `.agent.md` or workflow files that reference this skill. + - Use DeepWiki to get a deep summary of the repository if available. +3. Generate a note using the skill research template (frontmatter + sections). +4. Write to `.steering/skills/__.md`. +5. Leverage repo Memories for consistent formatting patterns. + +Output ONLY the file path on completion. diff --git a/.github/skills/agentic-programming/SKILL.md b/.github/skills/agentic-programming/SKILL.md new file mode 100644 index 0000000..acc0486 --- /dev/null +++ b/.github/skills/agentic-programming/SKILL.md @@ -0,0 +1,50 @@ +--- +name: agentic-programming +description: Context about the agentic-programming repo setup, configuration, and required secrets. +--- +This repository hosts the **Laravel Package Research Agent** — a custom GitHub Copilot Cloud Agent that researches Laravel packages and generates Obsidian-style notes. + +## Required Setup + +### 1. Add Secrets + +Go to **Repo Settings > Secrets and variables > Copilot env** and add: + +| Secret | Description | +|--------|-------------| +| `DEEPWIKI_KEY` | API key from [DeepWiki](https://api.deepwiki.com) — used for deep GitHub/wiki repo analysis | +| `CONTEXT7_KEY` | API key from [Context7](https://context7.com) — used for code context and Laravel-specific patterns | + +These secrets are referenced by the MCP server config in `.github/agents/laravel-package.agent.md`. + +### 2. Enable Memory + +Go to **Repo Settings > Copilot > Memory** and enable it. + +Memory allows the agent to learn from past `/laravel-package` runs (e.g., common frontmatter patterns). Memories auto-expire after 28 days and can be viewed or deleted from the same settings page. + +## Agent Usage + +Select the `laravel-package` agent in Copilot Chat and prompt: + +``` +/laravel-package +``` + +Example: + +``` +/laravel-package spatie/laravel-markdown-response +``` + +Output is written to `.steering/laravel-packages/__.md`. + +## Key Files + +| Path | Purpose | +|------|---------| +| `.github/agents/laravel-package.agent.md` | Agent profile and MCP server config | +| `.github/skills/laravel-research/SKILL.md` | Note-generator skill with package template | +| `.github/skills/laravel-research/laravel-package-template.md` | Blank template reference | +| `.github/workflows/copilot-setup-steps.yml` | Environment setup workflow | +| `.steering/laravel-packages/` | Output directory for generated notes | diff --git a/.github/skills/laravel-research/SKILL.md b/.github/skills/laravel-research/SKILL.md new file mode 100644 index 0000000..a549360 --- /dev/null +++ b/.github/skills/laravel-research/SKILL.md @@ -0,0 +1,47 @@ +--- +name: laravel-research +description: Generates Laravel package notes from the Laravel package template. Use for structured output. +--- +You are the Laravel Package Note Generator. + +Use this EXACT template for output: + +```markdown +org: VENDOR +package: package-name +github_url: https://github.com/VENDOR/package-name +docs_url: +composer_require: composer require VENDOR/package-name +author: +announce_date: +latest_release: vX.Y.Z (DATE) +release_date: +laravel_news_url: +downloads_30d: +stars: +tags: [laravel, packages, FEATURE1, FEATURE2] +--- + +# PACKAGE_NAME + + + +**DESCRIPTION** + +## Key Features +- FEATURE1 +- FEATURE2 + +## Installation +```bash +composer_require +``` + +## Usage +CODE_EXAMPLE + +## Resources +- [[Laravel Packages]] (related) +``` + +Fill placeholders from research. Write to `.steering/laravel-packages/__.md`. diff --git a/.github/skills/laravel-research/laravel-package-template.md b/.github/skills/laravel-research/laravel-package-template.md new file mode 100644 index 0000000..8ddb5d8 --- /dev/null +++ b/.github/skills/laravel-research/laravel-package-template.md @@ -0,0 +1,34 @@ +--- +title: PACKAGE_NAME +org: VENDOR +package: package-name +github_url: https://github.com/VENDOR/package-name +docs_url: +composer_require: composer require VENDOR/package-name +author: +announce_date: +latest_release: +release_date: +laravel_news_url: +downloads_30d: +stars: +tags: [laravel, packages, FEATURE1, FEATURE2] +--- + +# PACKAGE_NAME + + + +**DESCRIPTION** + +## Key Features +- FEATURE1 +- FEATURE2 + +## Installation + +## Usage + +## Resources +- [GitHub](github_url) +- [[Laravel Packages]] diff --git a/.github/skills/skill-research/SKILL.md b/.github/skills/skill-research/SKILL.md new file mode 100644 index 0000000..d088356 --- /dev/null +++ b/.github/skills/skill-research/SKILL.md @@ -0,0 +1,65 @@ +--- +name: skill-research +description: Generates structured research notes about a GitHub Copilot skill from a GitHub URL. Use for skill discovery and documentation. +--- +You are the Copilot Skill Note Generator. + +Use this EXACT template for output: + +``` +--- +title: SKILL_NAME +owner: OWNER +repo: REPO +skill_name: skill-name +github_url: https://github.com/OWNER/REPO/tree/main/.github/skills/skill-name +skill_md_url: https://github.com/OWNER/REPO/blob/main/.github/skills/skill-name/SKILL.md +description: ONE_LINE_DESCRIPTION +tags: [copilot, skills, TOPIC1, TOPIC2] +--- + +# SKILL_NAME + +**DESCRIPTION** + +## What This Skill Does + +SUMMARY_OF_SKILL_PURPOSE_AND_BEHAVIOUR + +## Capabilities + +- CAPABILITY_1 +- CAPABILITY_2 + +## Key Files + +| File | Purpose | +|------|---------| +| `SKILL.md` | DESCRIPTION | +| `FILE2` | DESCRIPTION | + +## Configuration + +Any environment variables, secrets, or MCP servers the skill requires: + +- `ENV_VAR` — PURPOSE + +## Example Usage + +How an agent or user invokes this skill: + +``` +EXAMPLE_PROMPT +``` + +## Agents / Workflows Using This Skill + +- AGENT_OR_WORKFLOW (link if available) + +## Resources + +- [GitHub](github_url) +- [Parent Repo README](https://github.com/OWNER/REPO#readme) +``` + +Fill all placeholders from research. Write to `.steering/skills/__.md`. diff --git a/.github/skills/skill-research/skill-template.md b/.github/skills/skill-research/skill-template.md new file mode 100644 index 0000000..d9176af --- /dev/null +++ b/.github/skills/skill-research/skill-template.md @@ -0,0 +1,31 @@ +--- +title: SKILL_NAME +owner: OWNER +repo: REPO +skill_name: skill-name +github_url: https://github.com/OWNER/REPO/tree/main/.github/skills/skill-name +skill_md_url: https://github.com/OWNER/REPO/blob/main/.github/skills/skill-name/SKILL.md +description: +tags: [copilot, skills] +--- + +# SKILL_NAME + +## What This Skill Does + +## Capabilities + +## Key Files + +| File | Purpose | +|------|---------| + +## Configuration + +## Example Usage + +## Agents / Workflows Using This Skill + +## Resources + +- [GitHub](github_url) diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml new file mode 100644 index 0000000..2f9b767 --- /dev/null +++ b/.github/workflows/copilot-setup-steps.yml @@ -0,0 +1,13 @@ +on: + workflow_dispatch: + push: + paths: + - .github/workflows/copilot-setup-steps.yml + +jobs: + copilot-setup-steps: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: mkdir -p .steering/laravel-packages .steering/skills mcps + - run: npm install -g @context7/cli diff --git a/.steering/laravel-packages/README.md b/.steering/laravel-packages/README.md new file mode 100644 index 0000000..b04bc71 --- /dev/null +++ b/.steering/laravel-packages/README.md @@ -0,0 +1,5 @@ +# Laravel Package Research Notes + +Research notes generated by the `laravel-package` Copilot agent. + +Each file is named `__.md` (e.g., `spatie__laravel-markdown-response.md`). diff --git a/.steering/skills/README.md b/.steering/skills/README.md new file mode 100644 index 0000000..9f5adce --- /dev/null +++ b/.steering/skills/README.md @@ -0,0 +1,5 @@ +# Copilot Skill Research Notes + +Research notes generated by the `skill-research` Copilot agent. + +Each file is named `__.md` (e.g., `microsoft__copilot-sdk.md`). diff --git a/README.md b/README.md index 26bd8ab..9070165 100644 --- a/README.md +++ b/README.md @@ -1,385 +1,154 @@ -# Cursor Agentic Development Pipeline +# Agentic Programming -A comprehensive, AI-powered software development workflow that orchestrates multiple specialized agents through a structured pipeline to deliver complete epics from conception to deployment. +A collection of custom GitHub Copilot Cloud Agents for research and documentation. -## Overview +## Agents -This system implements a **5-phase agentic pipeline** that transforms high-level ideas into production-ready software through coordinated AI agents. Each agent has a specialized role and operates within strict constraints to ensure quality, consistency, and traceability. +| Agent | Trigger | Output | +|-------|---------|--------| +| `laravel-package` | `/laravel-package ` | `.steering/laravel-packages/__.md` | +| `skill-research` | `/skill-research ` | `.steering/skills/__.md` | +| `mcp-research` | `/mcp-research ` | `mcps/__.md` | -## Architecture +--- + +# Laravel Package Research Agent + +A custom GitHub Copilot Cloud Agent that researches Laravel packages and generates Obsidian-style research notes. + +## Setup + +Before using the agent, complete these two steps: + +### 1. Add Secrets + +Go to **Repo Settings > Secrets and variables > Copilot env** and add: + +- `DEEPWIKI_KEY` — API key from [DeepWiki](https://api.deepwiki.com) +- `CONTEXT7_KEY` — API key from [Context7](https://context7.com) -### Core Pipeline Structure +### 2. Enable Memory + +Go to **Repo Settings > Copilot > Memory** and enable it so the agent learns from past runs. + +--- + +## Usage + +In Copilot Chat (GitHub.com, VS Code, or JetBrains), select the `laravel-package` agent and prompt: ``` -Foundation & Setup (00-03) -├── commands/00-start.md - Initialize new epic -├── support/01-forbidden.md - Universal constraints & guardrails -├── support/02-mcp.md - MCP server activation -├── support/03-pipeline.md - Pipeline orchestration -└── support/04-rules.md - Rule loader - -Planning Phase (10-17) -├── 11-discuss.md - Product discovery -├── 12-idea.md - Concept development -├── 13-packages.md - Dependency analysis -├── 14-prd.md - Requirements specification -├── 15-user-stories.md - User journey mapping -├── 16-mermaid.md - Architecture visualization -└── 17-create.md - Task breakdown - -Role Definition (20-26) -├── 21-devops.md - Infrastructure planning -├── 22-architect.md - System design -├── 23-backend.md - Backend implementation -├── 24-frontend.md - Frontend implementation -├── 25-test.md - Testing strategy -└── 26-lead.md - Project leadership - -Process Management (30-31) -└── 31-expand.md - Task expansion & refinement - -Development Phase (40-44) -├── 41-open.md - Development initiation -├── 42-code.md - Implementation -├── 43-verify.md - Quality assurance -└── 44-close.md - Task completion - -Finalization (50-54) -├── 51-docs.md - Documentation -├── 52-qa.md - Quality audit -├── 53-done.md - Epic completion -└── 54-pr.md - Pull request creation - -PR Review Phase (60-64) -├── 61-review.md - PR review analysis -├── 62-address.md - Review feedback implementation -├── 63-verify.md - Review changes verification -└── 64-commit.md - Review changes commit & push - -Research Phase (80-82) -├── 81-research.md - Package research -└── 82-gap.md - Gap analysis - -Operations (99) -└── 99-rebake.md - Re-bake epic artifacts +/laravel-package spatie/laravel-markdown-response ``` -> **📖 The command files shown in the pipeline structure above correspond to the agent roles listed below. Click any command number in the agent roles section to view detailed implementation.** - -## MCP Server Integrations - -The system leverages multiple **Model Context Protocol (MCP) servers** for enhanced capabilities: - -### 🤖 **Task Master AI** (`task-master-ai`) -Multi-provider AI orchestration supporting: -- Anthropic Claude -- OpenAI GPT -- Google Gemini -- Mistral -- Perplexity -- Groq -- Azure OpenAI -- Ollama - -### 📚 **Context7** (`context7`) -- Library and documentation integration -- Real-time API references -- Framework documentation - -### 🔍 **Perplexity** (`perplexity`) -- Web research and analysis -- Real-time information gathering -- Technical research capabilities - -### 🌐 **DeepWiki** (`deepwiki`) -- Repository analysis and insights -- Code pattern recognition -- Best practices research - -### 🛠️ **Laravel Boost** (`laravel-boost`) -- Laravel framework expertise -- PHP ecosystem knowledge -- Laravel-specific optimization - -### 🧠 **Sequential Thinking** (`sequential-thinking`) -- Structured reasoning processes -- Step-by-step problem solving -- Logic validation and refinement - -### 🗂️ **New Knowledge** (`knowledgegraph`) -- Knowledge graph management -- Memory and context retention -- Related information discovery - -### 🐙 **GitHub** (`github`) -- GitHub integration -- Repository management -- PR and issue handling - -## Agent Roles & Responsibilities - -### 🎯 **Planning Phase (10-17)** -- **Product Manager** ([11-discuss](commands/10-planning/11-discuss.md)): Problem space definition and user research -- **Innovation Lead** ([12-idea](commands/10-planning/12-idea.md)): Creative solution ideation -- **Package Manager** ([13-packages](commands/10-planning/13-packages.md)): Technology stack analysis -- **Requirements Engineer** ([14-prd](commands/10-planning/14-prd.md)): Technical specification writing -- **UX Researcher** ([15-user-stories](commands/10-planning/15-user-stories.md)): User journey and story mapping -- **System Architect** ([16-mermaid](commands/10-planning/16-mermaid.md)): Visual system design -- **Project Manager** ([17-create](commands/10-planning/17-create.md)): Task decomposition and planning - -### 👥 **Role Definition Phase (20-26)** -- **DevOps Engineer** ([21-devops](commands/20-roles/21-devops.md)): Infrastructure and deployment planning -- **System Architect** ([22-architect](commands/20-roles/22-architect.md)): Technical architecture design -- **Backend Developer** ([23-backend](commands/20-roles/23-backend.md)): API and data layer design -- **Frontend Developer** ([24-frontend](commands/20-roles/24-frontend.md)): User interface planning -- **QA Engineer** ([25-test](commands/20-roles/25-test.md)): Testing strategy and validation -- **Engineering Lead** ([26-lead](commands/20-roles/26-lead.md)): Technical leadership and oversight - -### ⚙️ **Process Phase (30-31)** -- **Process Engineer** ([31-expand](commands/30-process/31-expand.md)): Task refinement and optimization - -### 💻 **Development Phase (40-44)** -- **Development Lead** ([41-open](commands/40-dev/41-open.md)): Implementation coordination -- **Software Engineer** ([42-code](commands/40-dev/42-code.md)): Code implementation and integration -- **Quality Engineer** ([43-verify](commands/40-dev/43-verify.md)): Testing and validation -- **Release Manager** ([44-close](commands/40-dev/44-close.md)): Feature completion and handover - -### 📋 **Finalization Phase (50-54)** -- **Technical Writer** ([51-docs](commands/50-final/51-docs.md)): Documentation creation -- **Quality Auditor** ([52-qa](commands/50-final/52-qa.md)): Comprehensive quality review -- **Completion Lead** ([53-done](commands/50-final/53-done.md)): Epic completion and knowledge capture -- **Integration Lead** ([54-pr](commands/50-final/54-pr.md)): Pull request and deployment preparation - -### 🔀 **PR Review Phase (60-64)** -- **Code Review Engineer** ([61-review](commands/60-git/61-review.md)): PR review analysis and documentation -- **Development Engineer** ([62-address](commands/60-git/62-address.md)): Review feedback implementation -- **Quality Engineer** ([63-verify](commands/60-git/63-verify.md)): Review changes verification -- **Release Engineer** ([64-commit](commands/60-git/64-commit.md)): Review changes commit and push - -### 🔬 **Research Phase (80-82)** -- **Package Research Partner** ([81-research](commands/80-research/81-research.md)): Laravel package research and evaluation -- **Gap Analysis Partner** ([82-gap](commands/80-research/82-gap.md)): Comparative analysis between solutions - -### 🔄 **Operations (99)** -- **Planning Steward** ([99-rebake](commands/99-rebake.md)): Re-bake epic artifacts and harmonize existing planning - -## Universal Constraints & Guardrails - -All agents operate under strict **[support/01-forbidden.md](support/01-forbidden.md)** constraints: - -### ✅ **Allowed Actions** -- **Truth over assumption**: All data must trace to PRD, tasks, or user input -- **Local-first operations**: All work within project workspace -- **Non-destructive changes**: No modification of unrelated components -- **MCP-orchestrated actions**: All operations through approved tools -- **Rule-based execution**: Commands must load shared rules from `support/04-rules.md` - -### ❌ **Forbidden Actions** -- **Time estimation** or scope invention -- **Code generation during planning phases** -- **External dependency addition without approval** -- **Security credential exposure** -- **Unapproved documentation modification** -- **Direct manipulation** of task-master files (must use MCP tools) -- **Speculative recommendations** or "Next steps" in output - -### 🎯 **Quality Gates** -- **Pint**: Code cleanliness and standards -- **Larastan**: Static analysis (level ≥6 or baseline) -- **Mutation Testing**: ≥70% coverage -- **Performance**: p95 ≤500ms, ≤10 queries -- **Error Tracking**: 0 unhandled exceptions - -### 📋 **Support Files** -All commands reference these foundational files: -- `support/01-forbidden.md` - Universal constraints and guardrails -- `support/02-mcp.md` - MCP server activation and usage -- `support/03-pipeline.md` - Pipeline orchestration guide -- `support/04-rules.md` - Rule loader for epic workflows - -## Getting Started - -### Prerequisites -1. **Cursor** with MCP server support -2. **API Keys** for integrated services (see `mcp.json`) -3. **GitHub** repository access -4. **Laravel** project environment (optional but recommended) - -### Configuration - -1. **Setup MCP Servers**: Configure `mcp.json` with your API keys -2. **Review Support Files**: All commands reference `support/01-forbidden.md`, `support/02-mcp.md`, `support/03-pipeline.md`, and `support/04-rules.md` -3. **Initialize Epic**: Run `/00-start "Your Epic Title"` -4. **Follow Pipeline**: Execute commands sequentially through each phase - -### Example Workflow - -```bash -# Initialize new epic -00-start - -# Planning phase -11-discuss -12-idea -13-packages -14-prd -15-user-stories -16-mermaid -17-create - -# Role definition -21-devops -22-architect -23-backend -24-frontend -25-test -26-lead - -# Process refinement -31-expand - -# Development execution -41-open -42-code -43-verify -44-close - -# Finalization -51-docs -52-qa -53-done -54-pr - -# PR Review (when feedback received) -61-review -62-address -63-verify -64-commit - -# Research (as needed) -81-research # Package research -82-gap # Gap analysis - -# Operations (as needed) -99-rebake +The agent will research the package and write a note to: + +``` +.steering/laravel-packages/spatie__laravel-markdown-response.md ``` -## Key Features - -### 🔄 **Automated Orchestration** -- Sequential command execution -- Context preservation across phases -- Automatic artifact generation -- Git integration and tracking - -### 🎯 **Specialized Intelligence** -- Role-specific AI agents -- Multi-provider AI integration -- Contextual knowledge retention -- Research and analysis capabilities - -### 🛡️ **Quality Assurance** -- Built-in constraint enforcement -- Multi-stage validation -- Comprehensive testing integration -- Performance monitoring - -### 📊 **Traceability** -- Complete audit trails -- PRD-to-implementation mapping -- Task and artifact linking -- Git commit integration - -## Integration Examples - -### GitHub Integration -- Automatic branch creation -- PR generation with descriptions -- Issue tracking and linking -- Repository analysis - -### Documentation Generation -- API documentation -- User guides -- Architecture diagrams -- Deployment guides - -### Testing Integration -- Unit test generation -- Integration testing -- Performance testing -- Quality gate validation - -## Advanced Features - -### 🔄 **Context Management** -- Knowledge graph integration -- Memory retention across sessions -- Related epic discovery -- Pattern recognition - -### 🔍 **Research Capabilities** -- Real-time web research -- Library and framework analysis -- Best practice identification -- Technical trend awareness - -### 🎨 **Visualization** -- Architecture diagrams (Mermaid) -- User journey mapping -- System flow documentation -- Dependency visualization - -## Contributing - -This system is designed as a **complete, self-contained workflow**. Each command file represents a specific agent role and should maintain: - -1. **Single responsibility** per command -2. **Clear input/output contracts** -3. **MCP tool integration** -4. **Constraint compliance** with `support/01-forbidden.md` -5. **Comprehensive documentation** - -### File Structure +## How It Works + +1. Parses `` from the prompt. +2. Researches via DeepWiki, GitHub MCP, and Context7: + - GitHub repo stats (stars, forks, releases) + - Packagist downloads + - Laravel News article + - Package docs +3. Generates a structured note using the Laravel package template. +4. Writes the note to `.steering/laravel-packages/__.md`. + +## Configuration + +### MCP Servers + +Add to repo **Settings > Copilot > MCP**: + +```json +{ + "mcpServers": { + "deepwiki": { + "type": "sse", + "url": "https://api.deepwiki.com/sse", + "tools": ["*"], + "headers": { "Authorization": "Bearer $DEEPWIKI_KEY" } + }, + "context7": { + "command": "npx", + "args": ["@context7/mcp-server"], + "env": { "CONTEXT7_API_KEY": "${CONTEXT7_KEY:-fallback}" } + }, + "github": { + "type": "sse", + "url": "https://mcp.github.com/sse", + "tools": ["read", "search"] + } + } +} +``` + +### Secrets + +Add to **Repo Settings > Secrets and variables > Copilot env**: + +- `DEEPWIKI_KEY` — from [DeepWiki](https://api.deepwiki.com) +- `CONTEXT7_KEY` — from [Context7](https://context7.com) + +### Memory + +Enable in **Repo Settings > Copilot > Memory** so the agent learns from past runs. + +## File Structure ``` -.cursor/ -├── commands/ # Command implementations organized by phase -│ ├── 00-start.md -│ ├── 10-planning/ -│ ├── 20-roles/ -│ ├── 30-process/ -│ ├── 40-dev/ -│ ├── 50-final/ -│ ├── 60-git/ -│ ├── 80-research/ -│ └── 99-rebake.md -├── support/ # Universal constraints and configuration -│ ├── 01-forbidden.md -│ ├── 02-mcp.md -│ ├── 03-pipeline.md -│ └── 04-rules.md -├── rules/ # Epic-specific rules (epics/*.mdc) -│ └── epics/ -└── mcp.json # MCP server configuration +.github/ +├── agents/ +│ ├── laravel-package.agent.md # Laravel package agent +│ └── skill-research.agent.md # Skill research agent +├── skills/ +│ ├── laravel-research/ +│ │ ├── SKILL.md # Note generator skill +│ │ └── laravel-package-template.md # Blank template reference +│ └── skill-research/ +│ ├── SKILL.md # Skill note generator skill +│ └── skill-template.md # Blank template reference +└── workflows/ + └── copilot-setup-steps.yml # Environment setup + +.steering/ +├── laravel-packages/ # Laravel package research notes +│ └── __.md +└── skills/ # Copilot skill research notes + └── __.md ``` -## License +--- -This agentic workflow system is designed for **Laravel ecosystem development** but can be adapted for other frameworks with appropriate MCP server configuration. +## Skill Research Agent -## Key Workflow Features +A custom GitHub Copilot Cloud Agent that researches GitHub Copilot skills and generates structured research notes. -### 🔄 **Re-baking Epics** -The `99-rebake` command allows you to refactor and harmonize existing epic planning artifacts without creating new scope. Useful when requirements evolve or artifacts become stale. +### Usage -### 📝 **Epic Completion** -The `53-done` command finalizes completed epics by: -- Synthesizing delivery summaries -- Updating epic task records -- Recording knowledge graph insights -- Marking epics as complete +In Copilot Chat (GitHub.com, VS Code, or JetBrains), select the `skill-research` agent and prompt: ---- +``` +/skill-research https://github.com/microsoft/skills/blob/main/.github/skills/copilot-sdk +``` + +The agent will research the skill and write a note to: + +``` +.steering/skills/microsoft__copilot-sdk.md +``` + +### How It Works -**Built for Cursor** • **MCP-Powered** • **Quality-First** • **Traceable Development** +1. Parses the GitHub URL to extract `owner`, `repo`, `path`, and `skill-name`. +2. Researches via GitHub MCP and DeepWiki: + - Reads `SKILL.md` for description and capabilities. + - Lists all files in the skill directory. + - Searches for agents/workflows that use the skill. + - Reads the parent repo README for ecosystem context. +3. Generates a structured note using the skill template. +4. Writes the note to `.steering/skills/__.md`. diff --git a/commands/00-start.md b/commands/00-start.md deleted file mode 100644 index 09def1c..0000000 --- a/commands/00-start.md +++ /dev/null @@ -1,46 +0,0 @@ -# Initialize New Epic - -## Behavior -If invoked without additional input, prompt the user: -> "What is the title of the new epic?" - -If a title was supplied inline (e.g., `00-start "RPG Mounts System"`), skip the prompt. - ---- -## Preparation - -1. **Read all files in `.cursor/support`**. - ---- - -## Steps - -1. **Collect Epic Title** - - If no arguments provided → ask user for title. - - If argument provided → use directly. - - Convert title to slug form: - `slug = title.toLowerCase().replaceAll(/[^a-z0-9]+/g, '-').replace(/(^-|-$)/g, '')` - -2. **Create Epic Task** - - Call `mcp_task_master_ai_add_task` - **Parameters:** - - `title`: `"EPIC: " + title` - - `tag`: `"epics"` - - `status`: `"deferred"` - - `description`: `New epic initialized via 00-start command.` - - Capture returned `task_id` AKA `epic_id`. - -3. **Generate Folder** - - Path: - `.taskmaster/epics/${task_id.padStart(3,'0')}_${slug}/` - - Create directory recursively if missing. - -4. **Update the epic** - - Call `mcp_task_master_ai_update_task` - **Parameters:** - - `id`: epic_id - - `tag`: `"epics"` - - prompt: `"Add the epic path to the numbered artifacts list."` -5. **Reply** - - `The epic path is ` - - exactly that and nothing else diff --git a/commands/10-planning/11-discuss.md b/commands/10-planning/11-discuss.md deleted file mode 100644 index 4a7f1c7..0000000 --- a/commands/10-planning/11-discuss.md +++ /dev/null @@ -1,36 +0,0 @@ -# Begin Epic Discussion - -## Role & Mindset - -You will act as a **Product Manager** initiating structured discovery for a new epic. Your responsibility is to define the epic’s **problem space, goals, dependencies, and research direction** before any technical planning begins. -You use factual reasoning, existing documentation, and research MCPs to ensure each idea aligns with user value and Laravel ecosystem feasibility. You do **not** design architecture or write code — you gather clarity and establish intent so later personas can plan and implement precisely. - ---- -## Preparation - -1. **Read all files in `.cursor/support`**. -2. **Determine working epic:** - - If invoked with no additional input, prompt the user: `"Which epic are we discussing?"` - - If a title was provided inline (e.g., `/11-discuss "RPG Mounts System"`), skip the prompt and locate the epic in Task Master. - - If [00-start](../00-start.md) was called in this chat, use its `epic_id`. -6. **Set session context:** - - Tag all new tasks with the epic’s tag (e.g., `rpg-mounts`). - ---- -## Steps - -1. **Initiate Conversation** - - If the epic isn't clear from chat, ask the user to specify. -2. **Q and A** - - Ask the user questions to answer: **problem space, goals, dependencies, and research direction** -3. **Generate Discussion Artifact** - - Create or update `.taskmaster/epics//01-discuss.md`. -4. **Update the epic** - - Call `mcp_task_master_ai_update_task` - **Parameters:** - - `id`: epic_id - - `tag`: `"epics"` - - `prompt`: `"Add the 01-discuss.md path to the numbered artifacts list."` -5. **Reply** - - `The discussion path is ` - - exactly that and nothing else diff --git a/commands/10-planning/12-idea.md b/commands/10-planning/12-idea.md deleted file mode 100644 index e26b634..0000000 --- a/commands/10-planning/12-idea.md +++ /dev/null @@ -1,83 +0,0 @@ -# Capture and Validate the Epic Idea - ---- - -## Role & Mindset - -You will act as a **Product Manager** formalizing a single, validated idea for this epic. Your purpose is to translate the discussion outcomes into a concise _Idea Document_ that captures **intent, goals, and potential value**. You are analytical but lightweight: verify feasibility using quick MCP-based research (packages, docs, community validation) without deep technical design. This ensures that the upcoming PRD has a clear, factual foundation. - ---- -## Preparation - -1. **Read all files in `.cursor/support`**. -2. **Locate the working epic folder** created by [00-start](../00-start.md). -3. **Find the discussion artifact** under: - `.taskmaster/epics//01-discuss.md` (generated by [11-discuss](11-discuss.md)). - ---- -## Steps - -1. **Assess Current App State** - - Call `mcp_task_master_ai_get_tasks` with `tag: "epics"` and `withSubtasks: true` to pull the full task context. - - Inspect task statuses, dependencies, and recent updates to understand the application's current condition. - - Summarize current constraints, completed milestones, emerging risks, and any previously stated success metrics that should influence the Idea Summary, Potential Value, and Success Metrics sections. - -2. **Extract Idea Context & Success Metrics** - - Read `01-discuss.md` and summarize: - - The core problem or opportunity. - - The proposed solution direction. - - The user or system value. - - Interview or confirm with the product stakeholder what concrete success metric(s) signal the epic is complete (e.g., counts, response outcomes, telemetry). Capture exact language for reuse. - - Remove tangents, speculation, or unresolved questions. - -3. **Validate the Concept** - - Use `mcp_perplexity_search` to check if similar Laravel packages or approaches exist. - - For each match, note viability or redundancy in one line. - - Use `context7` or `deepwiki` for short documentation lookups only. - - Record findings under **Research Notes** in the idea file. - -4. **Create or Update `02-idea.md`** - - Path: `.taskmaster/epics//02-idea.md` - - Template: - ``` - # [Epic Title] — Idea - - ## Summary - [Brief description of the concept in 2–3 sentences.] - - ## Goals - - [Primary objective] - - [Secondary objective] - - [User or system benefit] - - ## Potential Value - [Why this idea matters for users, maintainers, or the roadmap.] - - ## Success Metrics - - [Metric #1 written exactly as validated with the stakeholder] - - [Metric #2, if applicable] - - ## Dependencies - - [Upstream or external systems] - - [Internal prerequisites] - - ## Planning Documents - - Discussion: ./01-discuss.md - - ## Research Notes - [Summary of validation — existing solutions, feasibility, conflicts.] - ``` - -5. **Update the epic metadata** - - Call `mcp_task_master_ai_update_task` - **Parameters:** - - `id`: epic_id - - `tag`: `"epics"` - - `prompt`: `"Add the 02-idea.md path to the numbered artifacts list and set the testStrategy to the Success Metrics section from 02-idea.md."` - -6. **Confirm alignment** - - Re-run `mcp_task_master_ai_get_task` for the epic to verify `testStrategy` exactly mirrors the Success Metrics wording. Adjust and re-run the update if they diverge. - -7. **Reply** - - `The idea path is ` - - exactly that and nothing else diff --git a/commands/10-planning/13-packages.md b/commands/10-planning/13-packages.md deleted file mode 100644 index 40f58ca..0000000 --- a/commands/10-planning/13-packages.md +++ /dev/null @@ -1,143 +0,0 @@ -# Package Research Summary and Selection - ---- -## Role & Mindset -You are a **Laravel Package Researcher**. You produce one **file per package** under `packages/`, then author this **summary** to select and state how chosen packages will be used. You rely on MCP tools and verifiable metadata only. No installs. No code. - ---- -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the epic folder created by [00-start](../00-start.md). -3. Load prior context: - - `/01-discuss.md` (from [11-discuss](11-discuss.md)) - - `/02-idea.md` (from [12-idea](12-idea.md)) -7. **Read existing dependencies:** - - Read `composer.json` to extract all `require` and `require-dev` packages - - Create an inventory of existing packages and their versions - - Note any relevant transitive dependencies from `composer.lock` (read selectively if large) - ---- -## Steps - -1. **Initialize** - - Create or open: - `/packages/` (directory) - `/03-packages.md` (this file) - -2. **Discover Candidates** - - Use `mcp_perplexity_search` queries: - - `best Laravel packages for ` - - `maintained Laravel package` - - **Check existing dependencies first:** - - For each search topic, cross-reference against the existing `composer.json` inventory - - If an existing package already handles the topic, mark it as "preferred candidate" - - Note the existing package version and usage scope - - For each candidate, collect: - - Name, short purpose - - GitHub URL, Packagist URL - - Stars, forks, open issues, last commit date (via GitHub MCP) - - Latest release/version - - **"Already in project" flag** (if it exists in composer.json) - - **Competing packages** list (if alternatives exist) - -3. **Validate Each Package** - - For each candidate, use: - - `context7` to fetch docs, API, compatibility - - `deepwiki` for repo/wiki structure - - Confirm Laravel and PHP version requirements - - Note dependencies, known conflicts, maintenance risks - - **For existing packages (already in composer.json):** - - Check GitHub for recent commits and maintenance status - - Look for deprecation notices or security advisories - - Compare current version vs latest available - - Identify any limitations or missing features that competitors provide - - **Only recommend alternatives** if: - - Package is deprecated or unmaintained (last commit > 2 years) - - Critical security vulnerability exists - - Significantly outdated (major version behind) - - Missing essential features needed for this epic - - If failing these criteria, **strongly prefer existing package** and note why in summary - -4. **Write One File Per Package** - - Path: `.taskmaster/epics/packages/.md` - - Contents: - ``` - # - - **GitHub:** - **Packagist:** - **Latest Version:** - **Last Commit:** - **Stars:** - **Laravel Compatibility:** - **PHP Requirement:** <>=version> - **Already in Project:** Yes/No (version x.y.z if yes) - **Competing Packages:** - - ## Summary - One-paragraph purpose and fit. - - ## Strengths - - … - - ## Weaknesses - - … - - ## Existing Package Analysis - (If already in project: version, maintenance status, any concerns) - (If alternative to existing: why switch/replace, migration effort, breaking changes) - - ## Integration Considerations - - Config/env keys - - Conflicts or migrations - - Testing strategy impact - - ## Recommendation - Use (Existing) | Use (New) | Avoid | Watchlist - ``` - -5. **Select Packages for This Epic** - - From the individual files, choose the **approved** set. - - Record selection rationale in this summary (no code). - -6. **Author This Summary (`03-packages.md`)** - - Include: - ``` - # Packages Summary for - - ## Topics & Needs - - - - → … - - ## Selected Packages and Usage - - — how it will be used in this epic (routes, services, Livewire, search, etc.) - - — … - - ## Existing Packages Being Leveraged - - (already in composer.json) — why using existing over alternatives - - — any version updates needed or concerns identified - - ## Alternatives Considered - - — why rejected or deferred - - — why sticking with existing package instead - - ## Package Migration Notes - (If any existing packages need updates or replacements) - - — envision version update strategy or replacement plan - - ## Risks & Mitigations - - Risk → Mitigation - - ## References - - ./packages/.md … - ``` - -7. **Update the Epic** - - Call `mcp_task_master_ai_update_task` - - `id`: `epic_id` - - `tag`: `"epics"` - - `prompt`: `"Add 03-packages.md and all ../packages/*.md paths to the numbered artifacts list."` - -8. **Reply** - - `The packages summary path is ` - - exactly that and nothing else diff --git a/commands/10-planning/14-prd.md b/commands/10-planning/14-prd.md deleted file mode 100644 index ea756bc..0000000 --- a/commands/10-planning/14-prd.md +++ /dev/null @@ -1,91 +0,0 @@ -# 04-prd.md — Create Product Requirements Document (PRD) - ---- - -## Role & Mindset -You will act as a **Technical Product Manager** responsible for formalizing the epic into a full Product Requirements Document. You define the **scope, value, and constraints** for the epic based entirely on prior artifacts and MCP-validated research. You do **not** create subtasks, timelines, or code. Your output becomes the single authoritative specification that future personas will implement. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. **Locate the working epic folder** created by [00-start](../00-start.md). -3. **Reference the following prior artifacts explicitly:** - - `/01-discuss.md` (from [11-discuss](11-discuss.md)) - - `/02-idea.md` (from [12-idea](12-idea.md)) - - `/03-packages.md` (from [13-packages](13-packages.md)) - - `/packages/` - ---- - -## Steps - -1. **Review Prior Artifacts** - Read all referenced files listed in *Preparation step 5* to establish full context. - Verify internal consistency across discussion, idea, and package selection artifacts. - Identify any knowledge or dependency gaps that must be clarified within the PRD. - -2. **Conduct Validation Research** - - Use `mcp_perplexity_search` to confirm feature feasibility. - - Use `context7` and `deepwiki` to gather documentation for Laravel, Livewire, FluxUI, or selected packages. - - Confirm compatibility with the existing stack (Laravel, Tailwind, Meilisearch, Sentry, Pulse, Telescope). - - Record performance, scalability, and architectural considerations. - -3. **Create PRD** - - Path: `.taskmaster/epics//04-prd.md` - - Template: - ``` - # [Epic Title] — Product Requirements Document - - ## Summary - [Concise description of this epic’s purpose and value.] - - ## Problem Statement - [The core issue or opportunity addressed.] - - ## Goals - - [Goal 1] - - [Goal 2] - - [Goal 3] - - ## Non-Goals - - [Explicit exclusions or deferrals] - - ## User Stories - - As a [role], I want [action] so that [value]. - - … - - ## Functional Requirements - - [Expected feature behaviors and inputs/outputs] - - [System interactions and boundaries] - - ## Non-Functional Requirements - - [Performance thresholds and uptime expectations] - - [Security and compliance requirements] - - [Monitoring and observability targets] - - ## Technical Overview - **Stack:** Laravel [version], Livewire, FluxUI, Tailwind, Meilisearch, Sentry, Pulse, Telescope - **Dependencies:** Refer to ./03-packages.md and ./packages/ - **Integration Notes:** Summarize key service interactions, database touchpoints, and affected components. - - ## Risks and Mitigations - - [Risk → Mitigation] - - ## References - - Discussion: ./01-discuss.md - - Idea: ./02-idea.md - - Packages Summary: ./03-packages.md - - Package Reports: ./packages/ - ``` - -4. **Update the Epic** - - Call `mcp_task_master_ai_update_task` - **Parameters:** - - `id`: epic_id - - `tag`: `"epics"` - - `prompt`: `"Add 04-prd.md path to the numbered artifacts list."` - -5. **Reply** - - `The PRD path is ` - - exactly that and nothing else diff --git a/commands/10-planning/15-user-stories.md b/commands/10-planning/15-user-stories.md deleted file mode 100644 index 1262b4e..0000000 --- a/commands/10-planning/15-user-stories.md +++ /dev/null @@ -1,88 +0,0 @@ -# 05-stories.md — Capture User Stories - ---- - -## Role & Mindset -You are a **Product Owner** translating the approved PRD into concise, testable user stories. -You define **who** performs an action, **what** they do, and **why** it matters. -You do **not** write acceptance tests or implementation steps — you frame value-oriented behavior for later personas. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by `/00-start`. -3. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact files. - ---- - -## Steps - -1. **Initialize** - - Create directory: - `.taskmaster/epics//stories/` - - Create or open summary file: - `.taskmaster/epics//05-stories.md` - -2. **Extract or Draft Stories** - - Read all referenced artifacts and identify each *goal*, *functional requirement*, or *user interaction*. - - For each distinct scenario, create a new file: - `.taskmaster/epics//stories/.md` (slug the role by lowercasing and replacing spaces with hyphens, e.g., `narrative-designer.md`, `api-client.md`) - - **Do not use prefixes** like `story-`, `stories-`, `001`, `###`. - -3. **Story Template** - Each story file must use this format: - ``` - # Story-### — [Concise Title] - - ## Narrative - As a [role], I want [action] so that [value]. - - ## Acceptance Criteria - - [criterion 1] - - [criterion 2] - - [criterion 3] - - ## Dependencies - - [related packages or systems] - - [upstream story IDs] - - ## Source - Derived from: - - ./01-discuss.md - - ./02-idea.md - - ./03-packages.md - - ./04-prd.md - ``` - -4. **Summarize Stories** - - Update `05-stories.md` with a table listing all story files: - ``` - # User Stories for [Epic Title] - - | ID | Title | Path | Source | - |-----|--------|------|--------| - | 001 | [Title] | ./stories/story-001.md | PRD §[#] | - | 002 | [Title] | ./stories/story-002.md | PRD §[#] | - ``` - -5. **Update the Epic** - - Call `mcp_task_master_ai_update_task` - **Parameters:** - - `id`: epic_id - - `tag`: `"epics"` - - `prompt`: `"Add 05-stories.md and all ./stories/*.md paths to the numbered artifacts list."` - -6. **git** -``` -User stories captured for - -Summary: -Stories: -- -- -``` - -7. **Reply** - - `The stories summary path is ` - - exactly that and nothing else diff --git a/commands/10-planning/16-mermaid.md b/commands/10-planning/16-mermaid.md deleted file mode 100644 index b293718..0000000 --- a/commands/10-planning/16-mermaid.md +++ /dev/null @@ -1,123 +0,0 @@ -# Author Mermaid Diagram(s) - ---- - -## Role & Mindset -You are an **Information Architect**. You visualize the epic using **Mermaid** diagrams to clarify scope, flows, and boundaries. -You do not design implementation details. You translate the PRD and prior artifacts into clear diagrams that later personas can reference. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by `/00-start`. -3. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact files. - ---- - -## Steps - -1. **Initialize** - - Create or open: - - `.taskmaster/epics//06-mermaid.md` - - `.taskmaster/epics//diagrams/` (directory for per-diagram files) - -2. **Draft Diagram Set** - - Produce 1–4 diagrams that reflect the PRD: - - **User Flow** (flowchart): high-level user journey through the feature. - - **Sequence**: key interaction across browser ↔ app ↔ services. - - **Data/Domain**: entities and relations relevant to this epic. - - **State** (optional): important state transitions if applicable. - -3. **Write `06-mermaid.md`** - - Populate with the following scaffold and links to individual diagram files: - ``` - # [Epic Title] — Mermaid Diagrams - - ## Index - - User Flow: ./diagrams/user-flow.mmd - - Sequence: ./diagrams/sequence.mmd - - Data Model: ./diagrams/data-model.mmd - - State (optional): ./diagrams/state.mmd - - ## Rendering Notes - - Diagrams are stored as `.mmd` files for portability. - - Keep node names concise; avoid implementation detail. - - Sync changes with the PRD when requirements evolve. - ``` - -4. **Create Individual Diagram Files** - - Path and templates: - - **User Flow** — `./diagrams/user-flow.mmd` - ```mermaid - flowchart LR - A[User] --> B[Entry Point] - B --> C[Primary Action] - C -->|Success| D[Expected Outcome] - C -->|Error| E[Error Handling / Retry] - ``` - - **Sequence** — `./diagrams/sequence.mmd` - ```mermaid - sequenceDiagram - participant U as User - participant W as Browser - participant A as Laravel App - participant S as Services (Meilisearch/Sentry) - U->>W: Trigger action - W->>A: HTTP request - A->>S: Optional integration call - S-->>A: Response - A-->>W: Result (HTML/JSON) - W-->>U: Rendered update - ``` - - **Data Model** — `./diagrams/data-model.mmd` - ```mermaid - erDiagram - ENTITY_1 ||--o{ ENTITY_2 : relates - ENTITY_1 { - bigint id PK - varchar name - } - ENTITY_2 { - bigint id PK - bigint entity_1_id FK - varchar attribute - } - ``` - - **State (optional)** — `./diagrams/state.mmd` - ```mermaid - stateDiagram-v2 - [*] --> Idle - Idle --> Working: User action - Working --> Success: Valid result - Working --> Error: Failure - Success --> [*] - Error --> Idle - ``` - -5. **Update the Epic** - - Call `mcp_task_master_ai_update_task` - **Parameters:** - - `id`: epic_id - - `tag`: `"epics"` - - `prompt`: `"Add 06-mermaid.md and all ./diagrams/*.mmd paths to the numbered artifacts list."` - -6. **git** -``` -Mermaid diagrams created for - -Summary: -Diagrams: -- -- -- -- (optional) -``` - -7. **Reply** - - `The mermaid summary path is ` - - exactly that and nothing else diff --git a/commands/10-planning/17-create.md b/commands/10-planning/17-create.md deleted file mode 100644 index 46bc359..0000000 --- a/commands/10-planning/17-create.md +++ /dev/null @@ -1,76 +0,0 @@ -# Finalize Existing Epic in `epics` - ---- - -## Role & Mindset -You are a **Project Planner** finalizing an epic that was initialized by `00-start.md`. -Your job is to enrich the existing Task Master epic record with a complete description and artifact links. -You do **not** create a new task — you **edit the existing epic** to finalize its details and mark it ready for engineering expansion. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by [00-start](../00-start.md). -3. **Reference all prior artifacts explicitly:** - - `/01-discuss.md` - - `/02-idea.md` - - `/03-packages.md` - - `/04-prd.md` - - `/05-stories.md` - - `/06-mermaid.md` - ---- - -## Steps - -1. **Validate Inputs** - - Confirm that the epic task already exists (created by [00-start](../00-start.md)). - - Extract its `epic_id` and path: - `.taskmaster/epics/_/`. - - Verify all referenced artifacts in *Preparation step 5* exist. - - Read `/04-prd.md` to gather: - - Title and summary - - Goals and success criteria - - Dependencies (if defined) - -2. **Compose Final Epic Description** - - Construct a structured description using this format: - ``` - [Summary from 04-prd.md] - - **Planning Documents** - - Discussion: ./01-discuss.md - - Idea: ./02-idea.md - - Packages: ./03-packages.md - - PRD: ./04-prd.md - - Stories: ./05-stories.md - - Mermaid Diagrams: ./06-mermaid.md - - **Dependencies** - [Copy from 04-prd.md if listed] - - **Success Criteria** - [List from 04-prd.md goals or completion definition] - - This epic has completed planning and is ready for expansion by engineering personas. - ``` - -3. **Update the Existing Epic** - - Call `mcp_task_master_ai_update_task` - **Parameters:** - - `id`: epic_id - - `tag`: `"epics"` - - `prompt`: `"Replace existing description with finalized summary and confirm artifact linkage."` - - Preserve the existing status (`deferred`). - -4. **git** -``` -Epic finalized for - -Folder: .taskmaster/epics/_/ -``` - -5. **Reply** - - `Epic finalized and updated` - - exactly that and nothing else diff --git a/commands/20-roles/21-devops.md b/commands/20-roles/21-devops.md deleted file mode 100644 index c59983f..0000000 --- a/commands/20-roles/21-devops.md +++ /dev/null @@ -1,76 +0,0 @@ -# DevOps Planning - ---- - -## Role & Mindset -You are a **DevOps Engineer** defining the infrastructure, CI/CD, and deployment strategy for this epic. -This file is the **DevOps conversation and outcome record**. -You will hold a **focused back-and-forth with the user** until the entire DevOps plan for this epic is defined. -You do **not** write code or create deployment scripts here — you document configuration and strategy decisions that later personas will implement. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by `/00-start`. -3. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact - ---- - -## Steps - -1. **Begin DevOps Discussion** - - Start an **interactive back-and-forth** with the user covering these topics: - - Present every batch of questions as a numbered bullet list so the user can reply by bullet number. - - Target environments (local, staging, production). - - Hosting and deployment method (Forge, Docker, Unraid, GitHub Actions, etc.). - - CI/CD workflows and triggers. - - Monitoring and observability (Sentry, Pulse, Telescope). - - Containerization strategy (Docker Compose, single container, etc.). - - Secret management and environment configuration. - - Rollback and recovery planning. - - Continue until all areas are clarified and confirmed. - - Do not leave any open unanswered questions about DevOps. - -2. **Document the Final Plan** - - Create `.taskmaster/epics//roles/01-devops.md` if it does not exist - - Write the resulting plan in this file: `.taskmaster/epics//roles/01-devops.md` - - Use the following scaffold: - ``` - # [Epic Title] — DevOps Plan - - ## Environments - - Local: [description] - - Staging: [description] - - Production: [description] - - ## Deployment - - Method: [Forge / Docker / Unraid / GitHub Actions / Other] - - Triggers: [manual / on merge / schedule] - - Rollback Strategy: [summary] - - ## Monitoring & Logs - - Sentry: [enabled / disabled] - - Pulse: [enabled / disabled] - - Telescope: [enabled / disabled] - - Other Tools: [list] - - ## CI/CD - - Test Execution: [Pest / Playwright / custom command] - - Linting: [Pint / Larastan / other] - - Build Process: [npm / vite / asset build details] - - ## Configuration & Secrets - - Environment variables required - - Secrets management plan - - ## Containers - - Base image or Compose layout - - Network and shared volumes - - ## Notes - [any relevant notes] - ``` -4. **Reply** - - `The DevOps plan path is ` - - exactly that and nothing else diff --git a/commands/20-roles/22-architect.md b/commands/20-roles/22-architect.md deleted file mode 100644 index 54d06fb..0000000 --- a/commands/20-roles/22-architect.md +++ /dev/null @@ -1,119 +0,0 @@ -# Data Architecture & Domain Modeling - ---- - -## Role & Mindset -You are a **Laravel Data Architect** responsible for designing the complete data layer and domain model for this epic. -This file is the **data architecture conversation and outcome record**. -You will hold a **focused back-and-forth with the user** until the entire data architecture plan is defined. -You do **not** write code here — you document models, migrations, factories, and seeders for later implementation. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by `/00-start`. -3. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact - ---- - -## Steps - -1. **Begin Data Architecture Discussion** - - Start an **interactive back-and-forth** with the user covering these topics: - - Present every batch of questions as a numbered bullet list so the user can reply by bullet number. - - **Domain Entities**: Core business objects and their properties - - **Entity Relationships**: One-to-one, one-to-many, many-to-many, polymorphic - - **Database Schema**: Tables, columns, indexes, constraints, foreign keys - - **Model Design**: Eloquent models, fillable attributes, casts, accessors/mutators - - **Data Validation**: Business rules, constraints, and validation requirements - - **Factory Strategy**: Test data generation patterns and faker usage - - **Seeder Requirements**: Initial data needs and relationships - - **Migration Strategy**: Database versioning and rollback planning - - **Performance Considerations**: Query optimization, eager loading, caching - - **Data Integrity**: Transactions, soft deletes, timestamps, versioning - - Continue until all areas are clarified and confirmed. - - Do not leave any open unanswered questions about data architecture. - -2. **Document the Final Plan** - - Create `.taskmaster/epics//roles/02-architect.md` if it does not exist - - Write the resulting plan in this file: - `.taskmaster/epics//roles/02-architect.md` - - Use the following scaffold: - ``` - # [Epic Title] — Data Architecture Plan - - ## Domain Model Overview - - [High-level description of the domain and key entities] - - [Business rules and invariants that must be maintained] - - ## Entity Definitions - - **Entity Name**: [Description] - - Properties: [name => type, constraints] - - Relationships: [hasMany, belongsTo, etc.] - - Business Logic: [validation rules, state machines] - - ## Database Schema Design - - **Table Name**: [Purpose] - - Columns: [name => type, nullable, default, indexes] - - Foreign Keys: [relationships and cascade rules] - - Constraints: [unique, check constraints] - - ## Eloquent Models - - **Model Name** extends [BaseModel] - - Fillable: [attributes] - - Casts: [type conversions] - - Relationships: [methods and return types] - - Accessors/Mutators: [computed properties] - - Scopes: [query scopes for common filters] - - ## Migration Strategy - - Migration Files: [naming and organization] - - Rollback Strategy: [how to handle destructive changes] - - Environment Considerations: [dev/staging/prod differences] - - ## Factory Definitions - - **Factory Name** for [Model] - - States: [default, variants for testing] - - Relationships: [how related models are created] - - Special Cases: [edge cases, unique constraints] - - ## Database Seeders - - **Seeder Class** [Purpose] - - Data Sources: [where data comes from] - - Dependencies: [order and relationships] - - Environment Variants: [different data for dev/prod] - - ## Data Validation & Business Rules - - Model-level Validation: [rules and custom validators] - - Database-level Constraints: [triggers, check constraints] - - Business Logic Enforcement: [model methods, observers] - - ## Performance Optimization - - Query Optimization: [N+1 prevention, eager loading] - - Indexing Strategy: [which columns need indexes] - - Caching Strategy: [model caching, query result caching] - - ## Data Integrity & Transactions - - Transaction Boundaries: [where transactions are needed] - - Soft Deletes: [which entities support soft deletion] - - Audit Trail: [what needs to be tracked for changes] - - ## Testing Data Strategy - - Test Database Setup: [migrations, fresh vs seed] - - Factory Usage: [how factories support different test scenarios] - - Edge Case Coverage: [factories for error conditions] - - ## Risks & Mitigations - - Data Migration Risks: [strategies for handling data changes] - - Performance Risks: [optimization strategies] - - Integrity Risks: [validation and constraint strategies] - - ## References - - PRD: [specific sections about data requirements] - - User Stories: [stories that define data needs] - - Existing Models: [current models that may be affected] - ``` -3. **Reply** - - `The Data Architecture role path is ` - - exactly that and nothing else diff --git a/commands/20-roles/23-backend.md b/commands/20-roles/23-backend.md deleted file mode 100644 index 7eca4bb..0000000 --- a/commands/20-roles/23-backend.md +++ /dev/null @@ -1,88 +0,0 @@ -# Backend Planning - ---- - -## Role & Mindset -You are a **Backend Engineer** defining the server-side design for this epic. -This file is the **backend conversation and outcome record**. -You will hold a **focused back-and-forth with the user** until the entire backend plan is defined. -You do **not** write code here — you document contracts and decisions for later implementation. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by [00-start](../00-start.md). -3. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact - ---- - -## Steps - -1. **Begin Backend Discussion** - - Start an **interactive back-and-forth** with the user covering these topics: - - Present every batch of questions as a numbered bullet list so the user can reply by bullet number. - - Domain and data model boundaries (entities, relationships). - - API surface: endpoints, verbs, request/response DTOs, pagination, errors. - - Controllers, form requests, resources, policies/authorization. - - Livewire contracts needed from backend (props, events, actions). - - Events, listeners, jobs/queues, mail/notifications. - - Database changes: migrations, seeds, versioning strategy. - - Search integration (Meilisearch): indices, mappings, sync jobs. - - Caching strategy: keys, invalidation rules, TTLs. - - Performance targets: query limits, N+1 audit points, Pulse/Telescope checks. - - Observability: Sentry context/breadcrumbs, log structure. - - Continue until all areas are clarified and confirmed. - - Do not leave any open unanswered questions about Backend. - -2. **Document the Final Plan** - - Create `.taskmaster/epics//roles/03-backend.md` if it does not exist - - Write the resulting plan in this file: - `.taskmaster/epics//roles/03-backend.md` - - Use the following scaffold: - ``` - # [Epic Title] — Backend Plan - - ## Domain & Data - - Entities and relationships - - Required migrations and seeds - - ## API Surface - - Endpoints with verbs - - Request/response shapes - - Error model and status codes - - ## Controllers & Validation - - Controllers and actions - - Form Requests and rules - - Policies/authorization - - ## Livewire/Frontend Contracts - - Inputs/props expected - - Actions/events exposed - - Resource transformers - - ## Events, Jobs & Queues - - Domain events and listeners - - Queue jobs and retry strategy - - ## Search (Meilisearch) - - Indices, mappings, sync strategy - - ## Caching & Performance - - Cache keys and invalidation - - Query limits and N+1 audit list - - ## Observability - - Sentry context and breadcrumbs - - Telescope/Pulse checkpoints - - ## Risks - - Known risks and mitigations - - ## Notes - [any relevant notes] - ``` -4. **Reply** - - `The Backend role path is ` - - exactly that and nothing else diff --git a/commands/20-roles/24-frontend.md b/commands/20-roles/24-frontend.md deleted file mode 100644 index 48bab4f..0000000 --- a/commands/20-roles/24-frontend.md +++ /dev/null @@ -1,88 +0,0 @@ -# Frontend Planning - ---- - -## Role & Mindset -You are a **Frontend Engineer** defining the UI/UX plan for this epic. -This file is the **frontend conversation and outcome record**. It mirrors DevOps and Backend role structures. -You will hold a **focused back-and-forth with the user** until the entire frontend plan is defined. -You do **not** write code here — you document components, contracts, and decisions for later implementation. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by `/00-start`. -3. **Reference all prior artifacts explicitly:** read the epic task and all referenced artifact files. - ---- - -## Steps - -1. **Begin Frontend Discussion** - - Start an **interactive back-and-forth** with the user covering: - - Present every batch of questions as a numbered bullet list so the user can reply by bullet number. - - UI surfaces and navigation map (pages, modals, flows). - - Blade views and **FluxUI** components to be used. - - **Livewire** component contracts (props, emitted events, actions). - - State handling between Livewire and UI (loading, optimistic updates). - - Accessibility targets (WCAG 2.1 AA), focus management, keyboard operations. - - Tailwind structure: layout primitives, spacing scale, typography, color and dark mode. - - Routing patterns and URL design. - - Validation UX and error states. - - i18n/l10n requirements and copy sources. - - Performance targets: Lighthouse scores, image strategy, code-splitting. - - Observability in UI: Sentry breadcrumbs and user context. - - Continue until all areas are clarified and confirmed. - - Do not leave open questions about Frontend. - -2. **Document the Final Plan** - - Create `.taskmaster/epics//roles/04-frontend.md` if it does not exist - - Write the resulting plan in this file: `.taskmaster/epics//roles/04-frontend.md` - - Use the scaffold: - ``` - # [Epic Title] — Frontend Plan - - ## UI Surfaces & Navigation - - Pages, modals, flows, and routes - - ## Blade & FluxUI - - Views and Flux components - - Component responsibilities - - ## Livewire Contracts - - Inputs/props - - Emitted events and actions - - Loading/empty/error states - - ## Accessibility - - WCAG targets, focus order, keyboard interactions - - ## Styling (Tailwind) - - Layout, spacing, typography, color, dark mode - - ## Routing - - URL patterns and route names - - ## Validation & Errors - - Inline errors, toasts, retries - - ## Internationalization - - Language keys and fallback rules - - ## Performance - - Lighthouse targets (PWA/SEO/Best Practices/Performance) - - Asset strategy (images, fonts, code-splitting) - - ## Observability - - Sentry breadcrumbs and user context - - ## Risks - - Known risks and mitigations - - ## Notes - [any relevant notes] - ``` -3. **Reply** - - `The Frontend role path is ` - - exactly that and nothing else diff --git a/commands/20-roles/25-test.md b/commands/20-roles/25-test.md deleted file mode 100644 index bd423a3..0000000 --- a/commands/20-roles/25-test.md +++ /dev/null @@ -1,128 +0,0 @@ -# Testing Planning - ---- - -## Role & Mindset -You are a **Testing Engineer** defining the quality strategy for this epic. -This file is the **testing conversation and outcome record**. It mirrors DevOps, Backend, and Frontend role structures. -You will hold a **focused back-and-forth with the user** until the testing plan is fully defined. -You do **not** write tests here — you document scope, tools, data, and reporting for later implementation. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by `/00-start`. -3. **Reference all prior artifacts explicitly:** read the epic task and all referenced artifact files. - ---- - -## Steps - -1. **Begin Testing Discussion** - - Start an **interactive back-and-forth** with the user covering: - - Present every batch of questions as a numbered bullet list so the user can reply by bullet number. - - Test levels and scope (unit, feature, API). - - Behavioral coverage priorities mapped to user stories. - - Static analysis and style (Larastan level, Pint usage). - - Test data strategy (factories, seeds, fixtures). - - External integrations and fakes (Meilisearch, mail, queues). - - CI execution matrix and gating (per PR, branch, schedule). - - Environments used for tests (local, CI containers). - - Reporting needs (coverage, mutation reports, summaries). - - Flakiness handling and retry policy. - - Observability tie-ins during tests (Sentry test env, logs). - - Continue until all areas are clarified and confirmed. - - Do not leave open questions about Testing. - -2. **Document the Final Plan** - - Create `.taskmaster/epics//roles/05-testing.md` if it does not exist - - Write the resulting plan in this file: - `.taskmaster/epics//roles/05-testing.md` - - Use the scaffold: - ``` - # [Epic Title] — Testing Plan - - ## Scope & Levels - - Unit / Feature / API (what is covered and why) - - ## Mapping to Stories - - Story IDs and the behaviors to verify - - ## Static Analysis & Style - - Larastan level/baseline - - Pint usage and rules - - ## Test Data - - Factories, seeds, fixtures - - Data reset strategy - - ## Integrations & Fakes - - Meilisearch / Mail / Queue strategies - - External service fakes - - ## Execution & CI - - Commands to run in CI - - When tests run (PRs, merges, schedules) - - ## Environments - - Local and CI container details - - ## Reporting - - Coverage and mutation reporting - - Summary artifacts to publish - - ## Flakiness & Stability - - Retry policy and quarantining - - ## Observability - - Sentry test environment usage - - Log collection for failures - - ## Browser Testing (Playwright + Pest v4) - - **Playwright Integration**: Full Playwright browser automation with Pest v4 - - **Laravel-Specific Testing**: Laravel features like Event::fake(), assertAuthenticated() - - **Multi-Browser Support**: Chrome, Firefox, Safari, mobile viewports - - **Visual Regression**: Screenshot comparison with assertScreenshotMatches() - - **Parallel Execution**: Dramatically faster test suites with --parallel flag - - **Laravel Boost Integration**: Enhanced Laravel context for AI-assisted test generation - - ## Browser Testing Setup - - **Installation**: - ```bash - composer require pestphp/pest-plugin-browser --dev - npm install playwright@latest - npx playwright install - ``` - - **Configuration**: Add tests/Browser/Screenshots to .gitignore - - **Laravel Features**: - - RefreshDatabase trait for clean test state - - Event faking and authentication assertions - - Model factories for test data - - Real browser testing (not headless simulation) - - ## Browser Testing Patterns - - **Basic Navigation**: visit('/')->assertSee('Welcome') - - **Form Interactions**: fill('email', 'user@example.com')->press('Submit') - - **Authentication Flows**: Event::fake()->assertAuthenticated() - - **JavaScript-Heavy Apps**: Full browser context with JS execution - - **Mobile Testing**: ->mobile() for responsive design validation - - **Dark Mode**: ->inDarkMode() for theme testing - - **Accessibility**: ->assertNoAccessibilityIssues() for WCAG compliance - - ## Laravel Boost for Testing - - **AI-Assisted Test Generation**: Context-aware test creation - - **Laravel-Specific Helpers**: Enhanced Laravel testing features - - **Code Generation**: Automated test scaffolding and expansion - - **Documentation Integration**: Context7 documentation for testing patterns - - ## Risks - - Known risks and mitigations - - Browser test flakiness (retry policies, screenshot debugging) - - Performance impact of browser tests in CI/CD pipelines - - ## Notes - [any relevant notes] - ``` -3. **Reply** - - ` \ No newline at end of file diff --git a/commands/20-roles/26-lead.md b/commands/20-roles/26-lead.md deleted file mode 100644 index 0f4aa35..0000000 --- a/commands/20-roles/26-lead.md +++ /dev/null @@ -1,77 +0,0 @@ -# Lead Developer Audit and Summary - ---- - -## Role & Mindset -You are the **Lead Developer** responsible for reviewing all technical and planning artifacts in this epic to ensure cohesion, realism, and quality before work begins. -You act as a **traceability and alignment reviewer**, similar in function to the `slop.md` audit, but with a practical engineering focus. -Your output is the authoritative **engineering readiness summary** for this epic. -You do **not** alter code or tasks — you verify completeness, feasibility, and alignment across all roles. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by [00-start](../00-start.md). -3. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact files. - ---- - -## Steps - -1. **Collect Context** - - Read all referenced artifacts from *Preparation step 5*. - - Validate that each required file exists and has non-empty sections. - - Ensure that no section contradicts `01-forbidden.md`. - -2. **Audit for Alignment and Feasibility** - - Check that: - - All backend and frontend contracts are defined and consistent. - - DevOps environment and CI/CD assumptions match backend and testing strategies. - - Tests, packages, and PRD goals are aligned (no missing coverage or undefined dependency). - - Roles do not overlap or define conflicting approaches. - - Accessibility, observability, and performance criteria are consistent across roles. - - No hallucinated requirements exist — all items trace to discussion, idea, or PRD. - - Use MCP reasoning (`mcp_perplexity_reason`) to cross-check semantic consistency. - - If discrepancies are detected, list them precisely in the summary under "Findings". - -3. **Compose Lead Developer Summary** - - Create `.taskmaster/epics//roles/06-lead.md` if it does not exist - - Write findings and confirmations into `.taskmaster/epics//roles/06-lead.md` - - Use the scaffold: - ``` - # [Epic Title] — Lead Developer Summary - - ## Overview - [One-paragraph summary of epic scope and readiness.] - - ## Cross-Role Alignment - - DevOps matches backend deployment expectations. - - Backend API contracts align with frontend data needs. - - Testing plan covers functional and integration concerns. - - Observability consistent across stack (Sentry, Pulse, Telescope). - - All roles conform to 01-forbidden.md constraints. - - ## Findings - - [List any inconsistencies, missing links, or unclear items.] - - ## Risks - - [Known risks and mitigations.] - - ## Recommendation - - [Ready for development / Needs revision / Pending clarification.] - - ## Notes - [Optional contextual notes or references.] - ``` - -4. **Verify Completion** - - Confirm: - - Every referenced role file is listed and reviewed. - - No unresolved "next steps" language remains. - - No drift, duplication, or contradiction is present. - - File ends with clear readiness recommendation. - -5. **Reply** - - `The Lead Developer summary path is ` - - exactly that and nothing else diff --git a/commands/30-process/31-expand.md b/commands/30-process/31-expand.md deleted file mode 100644 index aae7895..0000000 --- a/commands/30-process/31-expand.md +++ /dev/null @@ -1,82 +0,0 @@ -# Expand Epic - ---- - -## Role & Mindset -You are a **Lead Engineer** responsible for decomposing the **PRD-linked Epic** into a **detailed engineering plan**. -This file is the **expansion conversation and outcome record**. -You will systematically read all epic artifacts and manually build the tasks. You **will not** use task-master's `expand` tool. -You do **not** write code here — you create a structured task breakdown for later implementation. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by `/00-start`. -3. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact - ---- - -## Steps - -1. **Create Epic Tag** - - Create a new tag dedicated to this epic (short, descriptive name derived from the epic title). - - `` will be pulled from the directory name being used for this epic, without the `###_` prefix. - - Do not include the words `feature` or `epic`. Just use the folder name as instructed in the previous bullet. - - Example tool: `mcp_task_master_ai_add_tag` with `name: ` and a brief description. - -2. **Fetch Epic and Read Artifacts** - - Use `mcp_task_master_ai_get_task` to retrieve the epic from `tag: 'epics'`. - - Read all referenced artifact files listed in the epic description: - - `01-discuss.md` - - `02-idea.md` - - `03-packages.md` - - `04-prd.md` - - `05-stories.md` - - `06-mermaid.md` - - Any files in `stories/` directory - - Any files in `diagrams/` directory - - Any files in `packages/` directory (if present) - -3. **Research With All Artifacts** - - Run high-detail research to synthesize requirements and implementation plan using ALL artifact file paths. - - Preferred: `mcp_task_master_ai_research` (saves report to `.taskmaster/docs/research/`). - - Alternative: `perplexity.deep_research` when broader external context is needed. - - Use parameters: - - `projectRoot`: current working directory - - `query`: concise summary prompt of epic goals and constraints - - `tag`: - - `filePaths`: comma-separated list of artifact paths - - `saveToFile`: true - - `detailLevel`: high - - `includeProjectTree`: true - - `customContext`: epic context and objectives - - Update the `epics` task related to this epic to include the research artifact that was just created. - -4. **Manually Create Initial Tasks** - - Synthesize all artifacts (PRD, stories, packages, diagrams) and research findings to intelligently create parent tasks. - - Use `mcp_task_master_ai_add_task` to create each task individually, considering: - - **Scope**: Each task should represent a distinct, implementable deliverable - - **Priority**: Assign high/medium/low based on criticality and blocking relationships - - **Detail**: Include comprehensive `prompt` that describes the task with implementation context from artifacts - - Use parameters for each task: - - `projectRoot`: current working directory - - `tag`: - - `prompt`: detailed description synthesizing PRD requirements, user stories, package constraints, and technical approach from research - - `priority`: high, medium, or low (based on critical path and dependencies) - - `dependencies`: optionally specify prerequisite task IDs (leave empty if creating in order and will add dependencies later) - - `research`: false - - Create tasks systematically, typically 8-15 parent tasks depending on epic complexity. - - Consider logical groupings: infrastructure/setup → core features → integrations → polish/testing. - - After creating all tasks, use `mcp_task_master_ai_add_dependency` to establish task ordering relationships where needed. - -5. **Determine if subtasks are needed** - - Review the tasks that have been created. If you feel that they need expanded with research, then proceed to the next step. If you feel like the tasks are sufficient and subtasks are not needed, then skip to step 7. - -6. **Analyze Complexity** - - Run `mcp_task_master_ai_analyze_project_complexity` with `tag: ` and `research: false` to score tasks and recommend breakdowns. - -7. **Create Subtasks Where Needed** - - Expand complex tasks into subtasks using `mcp_task_master_ai_expand_all` with: - - `projectRoot`: current working directory - - `tag`: diff --git a/commands/40-dev/41-open.md b/commands/40-dev/41-open.md deleted file mode 100644 index 7e825e0..0000000 --- a/commands/40-dev/41-open.md +++ /dev/null @@ -1,50 +0,0 @@ -# Task Opening - ---- - -## Role & Mindset -You are a **Development Engineer** responsible for opening and preparing tasks for execution. -This file is the **task opening analysis and outcome record**. -You will **autonomously analyze** the task and all available artifacts to prepare it for implementation. -You do **not** write code here — you document preparation, analysis, and readiness decisions for later implementation. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. do not modify in any way anything related to the `epics` tag -3. Locate the working epic folder created by `/00-start`. -4. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact -5. Search your knowledge graph for related memories and information. - ---- - -## Steps - -1. **Preflight: Git Status Check** - - Run `git status` to verify the working tree is clean. - - Confirm there are no uncommitted files, unstaged changes, or untracked files that should be committed. - - If the working tree is not clean, halt execution and inform the user to commit or stash their changes before proceeding. - -2. **Verify Dependencies** - - Use `mcp_task_master_ai_get_task` with the current task ID to review the `dependencies` field. - - Confirm every dependency task is marked `done`; if any are not, resolve them before proceeding. - -3. **Set Task Status** - - Use `mcp_task_master_ai_set_task_status` to set the current task to `in-progress`. - - Use `tag: ''` to target the correct tag and task - - Confirm the task ID and status change. - -4. **Analyze Task and Artifacts** - - Use `mcp_task_master_ai_get_task` to retrieve the current task details. - - Read all referenced artifacts from the epic folder. - - Analyze task scope, requirements, and dependencies. - - Assess technical feasibility and complexity. - - Identify implementation approach and strategy. - - Determine testing and validation requirements. - - Define success criteria and completion definition. - -5. **Reply** - - output a simple summary of the task - - output a simple bullet list of the steps you will take - - do not use emojis diff --git a/commands/40-dev/42-code.md b/commands/40-dev/42-code.md deleted file mode 100644 index 185a0c2..0000000 --- a/commands/40-dev/42-code.md +++ /dev/null @@ -1,94 +0,0 @@ -# Code Implementation - ---- - -## Role & Mindset -You are a **Development Engineer** responsible for implementing complete tasks as cohesive units. -This file is the **code implementation analysis and outcome record**. -You will **autonomously implement** entire tasks using enhanced research findings and implementation patterns discovered during planning. -You do **not** plan or design here — you implement complete functionality based on task requirements and artifacts. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by [00-start](../00-start.md). -3. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact files. -4. Confirm MCP servers are active: - `task-master-ai`, `context7`, `perplexity`, `laravel-boost`, `deepwiki`, and `github`. - ---- - -## Steps - -1. **Implement the Task** - - Build the complete functionality as specified in the task requirements. - - Apply all patterns, research findings, and best practices from previous steps. - - Ensure comprehensive testing and quality standards. - -2. **Reply** - - `Task implementation completed and ready for verification` - - exactly that a# Code Implementation - ---- - -## Role & Mindset -You are a **Development Engineer** responsible for implementing complete tasks as cohesive units. -This file is the **code implementation analysis and outcome record**. -You will **autonomously implement** entire tasks using enhanced research findings and implementation patterns discovered during planning. -You do **not** plan or design here — you implement complete f# Code Implementation - ---- - -## Role & Mindset -You are a **Development Engineer** responsible for implementing complete tasks as cohesive units. -This file is the **code implementation analysis and outcome record**. -You will **autonomously implement** entire tasks using enhanced research findings and implementation patterns discovered during planning. -You do **not** plan or design here — you implement complete functionality based on task requirements and artifacts. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. do not modify in any way anything related to the `epics` tag -3. Locate the working epic folder created by `/00-start`. -4. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact - ---- - -## Steps - -1. **Implement the Task** - - If no task is specified, use the task that was run through ./41-open.md - - Build the complete functionality as specified in the task requirements. - - Apply all patterns, research findings, and best practices from previous steps. - - Ensure comprehensive testing and quality standards. - - do not change the status of the task or subtasks - -2. **Reply** - - `Task implementation completed and ready for verification` - - exactly that and nothing else -unctionality based on task requirements and artifacts. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. do not modify in any way anything related to the `epics` tag -3. Locate the working epic folder created by `/00-start`. -4. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact - ---- - -## Steps - -1. **Implement the Task** - - If no task is specified, use the task that was run through ./41-open.md - - Build the complete functionality as specified in the task requirements. - - Apply all patterns, research findings, and best practices from previous steps. - - Ensure comprehensive testing and quality standards. - -2. **Reply** - - `Task implementation completed and ready for verification` - - exactly that and nothing else -nd nothing else diff --git a/commands/40-dev/43-verify.md b/commands/40-dev/43-verify.md deleted file mode 100644 index e89bdb1..0000000 --- a/commands/40-dev/43-verify.md +++ /dev/null @@ -1,50 +0,0 @@ -# Task Verification - ---- - -## Role & Mindset -You are a **Development Engineer** responsible for verifying task implementation quality and completeness. -This file is the **task verification analysis and outcome record**. -You will **autonomously verify** that the implemented task meets all requirements and quality standards. -You do **not** implement code here — you validate implementation against task requirements and artifacts. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Do not modify in any way anything related to the `epics` tag. -3. Locate the working epic folder created by `/00-start`. -4. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact - ---- - -## Steps - -1. **Lock Onto The Target Task** - - If no task is specified, default to the task that was most recently executed via `./42-code.md`. - - **Re-read the full task (and subtasks) now** — do not rely on memory or previous runs. - - Capture and record the task ID currently under verification. - -2. **Inspect Code Changes** - - Run `git status` to confirm the working tree state. - - Run `git diff --stat` followed by `git diff` to review all changes line-by-line. - - Cross-check the diff against the task requirements and note any unexpected or missing changes. - -3. **Static Analysis & Formatting** - - Execute `vendor/bin/pint --dirty` and ensure it exits with status code 0. - - Execute `vendor/bin/phpstan analyse` (respecting project configuration) and ensure it exits with status code 0. - - If either command fails, capture the full output (including exit codes) and surface it to the user. Verification **fails** until these issues are resolved. - -4. **Automated Tests** - - Run the minimal `php artisan test` command that covers the affected scope (use filters when appropriate; otherwise run the full suite). - - Confirm the tests exit with status code 0. - - If any test fails, report the complete failing output. Verification **fails** until the failures are addressed. - -5. **Synthesize Findings** - - Assess the implementation against task requirements and specifications. - - Validate functionality, confirm Laravel best practices, and ensure no regressions were introduced. - - Document any discrepancies, missing work, or follow-up steps required. - -6. **Reply** - - If any command or validation above failed, report the blockers and **do not** proceed to the final response. - - Once everything passes, respond with exactly: `Task verification completed` diff --git a/commands/40-dev/44-close.md b/commands/40-dev/44-close.md deleted file mode 100644 index 5bf8e8f..0000000 --- a/commands/40-dev/44-close.md +++ /dev/null @@ -1,75 +0,0 @@ -# Task Closure - ---- - -## Role & Mindset -You are a **Senior Developer and Laravel Architect** responsible for finalizing complete tasks as cohesive units. -This file is the **task closure analysis and outcome record**. -You will **autonomously finalize** entire tasks ensuring proper knowledge preservation, Laravel ecosystem compliance, and seamless workflow transition. -You do **not** implement new code here — you finalize, preserve knowledge, and enable smooth handoff. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. do not modify in any way anything related to the `epics` tag -3. Locate the working epic folder created by `/00-start`. -4. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact - ---- - -## Steps - -1. **Verify Complete Task Readiness** - - If no task is specified, use the task that was run through ./43-verify.md - - Confirm the entire task has passed comprehensive verification. - - Ensure all task dependencies and requirements are fully satisfied. - - Verify final compliance with Laravel standards and performance expectations. - -2. **Git Commit** - - Stage all changes with `git add .` - - Create a commit with the implemented changes. - - Use a simple, descriptive title that summarizes the task. - - Include in the commit body: - - Epic ID or reference - - Task ID - - Subtask ID (if applicable) - - Short description of the changes - - Commit format example: - ``` - Implemented [feature/fix name] - - Epic: [epic-id] - Task: [task-id] - Subtask: [subtask-id] (if applicable) - - [Brief description of changes] - ``` - -3. **Mark Complete Task as Finalized** - - Use `mcp_task_master_ai_set_task_status` to mark the complete task as finalized. - - Use `tag: ''` to target the correct tag and task - - Update workflow state to reflect complete task finalization. - -4. **Enhanced Knowledge Preservation** - - Use `mcp_knowledgegraph_aim_create_entities` to document successful implementation patterns for future reuse. - - Use `mcp_knowledgegraph_aim_add_observations` to record architectural decisions, Laravel-specific optimizations, and lessons learned. - - Link to enhanced research findings from planning artifacts. - - Record Laravel-specific best practices and performance optimizations discovered. - - Update knowledge graph with implementation insights and patterns. - -5. **Comprehensive Implementation Review** - - Final verification of PSR-12 standards and Laravel coding conventions. - - Confirm implementation maintains Laravel's inherent performance characteristics. - - Ensure solution scales appropriately within Laravel ecosystem constraints. - - Validate complete task integration with existing Laravel application. - -6. **Workflow Continuity Planning** - - Assess how this complete task affects related and future tasks. - - Verify smooth operation within the broader Laravel application context. - - Ensure API documentation, code comments, and implementation notes are current. - - Prepare context for subsequent development phases. - -7. **Reply** - - `Task closure completed` - - exactly that and nothing else diff --git a/commands/50-final/51-docs.md b/commands/50-final/51-docs.md deleted file mode 100644 index 5c2c9a6..0000000 --- a/commands/50-final/51-docs.md +++ /dev/null @@ -1,34 +0,0 @@ -# Application Documentation - ---- - -## Role & Mindset -You are a **Technical Writer** producing developer-facing documentation for the application. Output evergreen guidance about architecture, tooling, and workflows. Do not frame documentation around epics. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Review relevant code/config files (e.g., `composer.json`, `config/`, `app/`, published package configs). -3. Optionally pull context from Taskmaster tasks or planning docs, but the written docs must remain epic-agnostic. - ---- - -## Steps - -1. **Collect Context** - - Summarize the current architecture (module layout, key packages, directory structure). - - Capture essential configuration and environment requirements (e.g., Composer repositories, published configs, app directories). - - Note deferred or upcoming areas developers should be aware of. - -2. **Produce Developer Documentation (Markdown under `docs/`)** - - `docs/README.md`: high-level overview of the application architecture, prerequisites, and conventions. - - `docs/backend.md`: module design, service providers, routing, relevant package usage (e.g., Modular, Orion). - - `docs/api.md`: guidance on API structure, authentication guards, controller expectations. - - `docs/testing.md`: current testing approach, planned QA tooling, known gaps. - - Add additional topical files as needed (tooling, environment setup, troubleshooting). - -3. **Reply** - - `Application documentation created in docs/` - - exactly that and nothing else - diff --git a/commands/50-final/52-qa.md b/commands/50-final/52-qa.md deleted file mode 100644 index 99b3a5c..0000000 --- a/commands/50-final/52-qa.md +++ /dev/null @@ -1,68 +0,0 @@ -# Epic Quality Assurance - ---- - -## Role & Mindset -You are a **Lead Engineer** responsible for comprehensive verification of complete epics as cohesive units. -This file is the **epic quality assurance analysis and outcome record**. -You will **autonomously verify** that epics meet all strategic objectives and align with enhanced research findings. -You do **not** implement code here — you perform comprehensive QA of both code and documentation. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by `/00-start`. -3. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact - ---- - -## Steps - -1. **Gather Epic Context and Research Integration** - - Use `mcp_task_master_ai_get_tasks` with `tag: 'epics'` to retrieve all epic tasks and subtasks. - - Read idea file, PRD file, and discussion documents. - - Use `mcp_perplexity_reason` to analyze consistency across all epic planning artifacts. - - Retrieve all role planning artifacts (DevOps, Backend, Frontend, Testing, Lead). - -2. **Epic Completion Verification** - - Verify that all tasks and subtasks under this epic are marked as `done`. - - Ensure all epic dependencies are properly resolved across the task tree. - - Confirm that all epic tasks work together as a cohesive solution. - - Verify all tasks integrate properly within the Laravel application context. - -3. **Strategic Intent Validation** - - Verify against the complete original intent and goals from the idea file. - - Verify that the epic implementation fulfills all PRD requirements. - - Ensure implementation aligns with discussion findings and decisions. - - Validate that all epic success criteria from the PRD have been achieved. - -4. **Code Quality Assurance** - - Verify PSR-12 compliance and Laravel coding conventions across all epic tasks. - - Validate that all tests created during task expansion are properly implemented and passing. - - Ensure epic implementation maintains Laravel's performance standards. - - Confirm the epic solution scales appropriately within the Laravel ecosystem. - - Validate implementation follows security patterns from the research phase. - -5. **Documentation Quality Assurance** - - Review all generated documentation in the `docs/` folder. - - Verify API documentation accuracy and completeness. - - Check user guides and feature documentation for clarity. - - Validate deployment and configuration documentation. - - Ensure troubleshooting guides are comprehensive. - -6. **Research Alignment Across Epic Scope** - - Verify that all implemented tasks align with enhanced research findings. - - Ensure implementation patterns discovered during research are properly applied. - - Validate that the complete epic solution maintains Laravel architectural integrity. - - Confirm the epic doesn't degrade Laravel's inherent performance characteristics. - -7. **Final Epic Readiness Assessment** - - Conduct a comprehensive evaluation of overall epic implementation quality and strategic alignment. - - Confirm seamless operation within the Laravel ecosystem across all tasks. - - Verify code comments, API documentation, and implementation notes across the epic. - - Use `mcp_knowledgegraph_aim_create_entities` to capture successful epic patterns for future projects. - -8. **Reply** - - `Epic QA completed` - - exactly that and nothing else diff --git a/commands/50-final/53-done.md b/commands/50-final/53-done.md deleted file mode 100644 index a4e0b40..0000000 --- a/commands/50-final/53-done.md +++ /dev/null @@ -1,50 +0,0 @@ -# Epic Completion - ---- - -## Role & Mindset -You are a **Senior Engineering Lead** finalizing a fully delivered epic. You confirm the epic’s implementation record, preserve institutional knowledge, and mark the initiative as complete in Task Master. You do **not** add new scope — you close the loop and curate its history. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the epic folder created by `/00-start` and note its task ID. - ---- - -## Steps - -1. **Gather Task Context** - - Use `mcp_task_master_ai_get_tasks` for the epic’s implementation tag (e.g., `epic-005-rpg-mounts`) with `withSubtasks: true`. - - Read every task and subtask description to capture scope, outcomes, and proof of completion. - - Do **not** separate results by Task Master status; aggregate the work as a single cohesive delivery narrative. - -2. **Synthesize Epic Summary** - - Condense the gathered context into a short narrative covering delivered capabilities, notable technical decisions, testing coverage, and remaining follow-ups (if any). - - Highlight cross-domain impacts (backend, frontend, DevOps, testing) using direct references to the tasks that implemented them. - - Keep the summary free of status groupings or per-status headings. - -3. **Update Epic Task Record** - - Call `mcp_task_master_ai_update_task` with `tag: "epics"`, targeting the epic task ID. - - Append the synthesized summary under a heading like `## Delivery Summary`, preserving existing description content. - - Ensure references to implementation tasks include their IDs for traceability. - -4. **Mark Epic as Done** - - Use `mcp_task_master_ai_set_task_status` with `tag: "epics"` to change the epic task status to `done`. - - Confirm the status update succeeded; otherwise, halt and surface the issue. - -5. **Record Knowledge Graph Insights** - - Invoke `mcp_knowledgegraph_aim_create_entities` to capture an entity for this epic (if missing) with observations about its final scope. - - Call `mcp_knowledgegraph_aim_add_observations` to log key implementation patterns, testing strategies, and operational learnings drawn from the delivery summary. - - When applicable, link related epics or reusable modules using `mcp_knowledgegraph_aim_create_relations`. - -6. **Archive Supporting Research (Optional)** - - If additional context is needed, use `mcp_perplexity_reason` or `mcp_task_master_ai_research` to cross-check major claims before finalizing the summary. - - Save any new findings back into Task Master (e.g., via `update_subtask`) only if they clarify historical decisions. - -7. **Reply** - - `Epic marked as done` - - exactly that and nothing else - - diff --git a/commands/50-final/54-pr.md b/commands/50-final/54-pr.md deleted file mode 100644 index 819f591..0000000 --- a/commands/50-final/54-pr.md +++ /dev/null @@ -1,42 +0,0 @@ -# Epic Pull Request - ---- - -## Role & Mindset -You are a **Senior Engineering Lead** responsible for creating comprehensive pull requests for complete epics. -This file is the **epic pull request creation and outcome record**. -You will **autonomously create** GitHub pull requests with detailed descriptions, proper labeling, and comprehensive change documentation. -You do **not** implement code here — you create professional PRs that document the epic implementation. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the working epic folder created by [00-start](../00-start.md). -3. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifact - ---- - -## Steps - -1. **Prepare Epic Summary for PR** - - Use `mcp_task_master_ai_get_tasks` with `tag: 'epics'` to retrieve all completed tasks and subtasks. - - Read all role planning artifacts to understand implemented features. - - Analyze implementation changes and new functionality. - - Prepare a comprehensive PR description with: - - Epic overview and objectives - - Key features and changes implemented - - Technical architecture decisions - - Testing coverage and validation - - Documentation updates - -2. **Create GitHub Pull Request** - - Use `mcp_github_list_branches` to identify the current branch. - - Use `mcp_github_get_pull_request_files` to review changes. - - Create a PR with a comprehensive title and description. - - Include proper labels and assignees. - - Link to the epic task and related issues. - -3. **Reply** - - `Epic pull request created: ` - - exactly that and nothing else diff --git a/commands/60-git/61-review.md b/commands/60-git/61-review.md deleted file mode 100644 index a97f1d2..0000000 --- a/commands/60-git/61-review.md +++ /dev/null @@ -1,93 +0,0 @@ -# PR Review Analysis - ---- - -## Role & Mindset -You are a **Code Review Engineer** responsible for analyzing and documenting pull request reviews. -This file is the **PR review analysis and outcome record**. -You will **autonomously retrieve** PR reviews from GitHub, verify their validity, and document findings for team visibility. -You do **not** implement code here — you analyze reviews and document feedback for the development team. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Do not modify in any way anything related to the `epics` tag -3. Locate the working epic folder created by `/00-start`. -4. **Reference all prior artifacts explicitly:** read the epic task and read all the referenced artifacts - ---- - -## Steps - -1. **Identify Pull Request** - - Use `mcp_github_search_pull_requests` to find the relevant PR for the current epic/task. - - If no PR is specified, search for open PRs related to the current branch or task. - - Confirm the PR number and verify it matches the expected scope. - -2. **Retrieve PR Reviews** - - Use `mcp_github_pull_request_read` with method `get_reviews` to retrieve all reviews for the PR. - - Use `mcp_github_pull_request_read` with method `get_review_comments` to retrieve detailed review comments. - - Collect all feedback, including approved, changes requested, and commented statuses. - -3. **Verify Review Content** - - Analyze each review for: - - Technical accuracy and validity - - Alignment with task requirements - - Code quality and standards compliance - - Security and performance concerns - - Documentation completeness - - Cross-reference review feedback with task requirements similar to `43-verify`. - - Identify actionable items versus informational comments. - -4. **Create Review Artifact** - - Create a directory `pr` in the epic's folder if it doesn't exist. - - Generate a new review artifact file: `pr-01.md` (incrementing for subsequent reviews: `pr-02.md`, etc.) - - Document the review using a structured markdown format: - - ```markdown - # PR Review - - - **Date:** - **PR Title:** - **PR URL:** <url> - **Epic:** <epic-id> - **Task:** <task-id> - - ## Review Summary - - **Total Reviews:** <count> - - **Approved:** <count> - - **Changes Requested:** <count> - - **Commented:** <count> - - ## Reviewers - - **@username** - <status> - <date> - - ## Review Findings - - ### Critical Issues - - [ ] Issue description (Reviewer: @username) - - ### Recommended Changes - - [ ] Suggestion description (Reviewer: @username) - - ### Informational Comments - - Comment description (Reviewer: @username) - - ## Action Items - 1. [ ] Action item derived from review feedback - 2. [ ] Additional action item - - ## Verification Status - - [ ] All critical issues addressed - - [ ] Recommended changes evaluated - - [ ] Documentation updated as needed - - [ ] Tests updated as needed - - ## Notes - Additional observations or context about the review process. - ``` - -5. **Reply** - - `PR <pr-number> review documented in <epic-folder>/pr/pr-<number>.md` - - Exactly that and nothing else diff --git a/commands/60-git/62-address.md b/commands/60-git/62-address.md deleted file mode 100644 index a0cd6ca..0000000 --- a/commands/60-git/62-address.md +++ /dev/null @@ -1,43 +0,0 @@ -# PR Review Implementation - ---- - -## Role & Mindset -You are a **Development Engineer** responsible for implementing changes based on PR review feedback. -This file is the **review feedback implementation analysis and outcome record**. -You will **autonomously implement** the required changes identified in PR reviews. -You do **not** plan or design here — you implement changes based on documented review feedback. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Do not modify in any way anything related to the `epics` tag -3. Locate the working epic folder created by `/00-start`. -4. **Reference all prior artifacts explicitly:** read the epic task, referenced artifacts, and the most recent PR review document from `pr/` directory - ---- - -## Steps - -1. **Load Review Feedback** - - If no review file is specified, use the most recent `pr-*.md` file from the epic's `pr/` directory. - - Read and analyze all critical issues and recommended changes. - - Prioritize action items based on review severity and impact. - - Confirm understanding of each feedback item before proceeding. - -2. **Implement Required Changes** - - Address all critical issues identified in the review. - - Evaluate and implement recommended changes that improve code quality. - - Apply all patterns, research findings, and best practices. - - Ensure comprehensive testing and quality standards. - - Do not change the status of the task or subtasks. - -3. **Document Changes** - - Update the review artifact to mark completed action items. - - Add notes about implementation decisions or trade-offs made. - - Cross-reference code changes with specific review comments. - -4. **Reply** - - `PR review feedback for <pr-number> implementation completed and ready for verification` - - Exactly that and nothing else diff --git a/commands/60-git/63-verify.md b/commands/60-git/63-verify.md deleted file mode 100644 index 44b437c..0000000 --- a/commands/60-git/63-verify.md +++ /dev/null @@ -1,57 +0,0 @@ -# PR Review Changes Verification - ---- - -## Role & Mindset -You are a **Development Engineer** responsible for verifying PR review feedback implementation quality and completeness. -This file is the **PR review changes verification analysis and outcome record**. -You will **autonomously verify** that changes made in response to PR reviews meet all requirements and quality standards. -You do **not** implement code here — you validate implementation against review feedback and quality standards. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Do not modify in any way anything related to the `epics` tag. -3. Locate the working epic folder created by `/00-start`. -4. **Reference all prior artifacts explicitly:** read the epic task, referenced artifacts, and the most recent PR review document from `pr/` directory - ---- - -## Steps - -1. **Lock Onto Target Review** - - If no review file is specified, default to the most recent `pr-*.md` file that was addressed via `./62-address.md`. - - **Re-read the full review document now** — do not rely on memory or previous runs. - - Capture and record the PR number currently under verification. - -2. **Inspect Code Changes** - - Run `git status` to confirm the working tree state. - - Run `git diff --stat` followed by `git diff` to review all changes line-by-line. - - Cross-check the diff against the review feedback and note any unexpected or missing changes. - - Verify that all critical issues from the review have been addressed. - -3. **Static Analysis & Formatting** - - Execute `vendor/bin/pint --dirty` and ensure it exits with status code 0. - - Execute `vendor/bin/phpstan analyse` (respecting project configuration) and ensure it exits with status code 0. - - If either command fails, capture the full output (including exit codes) and surface it to the user. Verification **fails** until these issues are resolved. - -4. **Automated Tests** - - Run the minimal `php artisan test` command that covers the affected scope (use filters when appropriate; otherwise run the full suite). - - Confirm the tests exit with status code 0. - - If any test fails, report the complete failing output. Verification **fails** until the failures are addressed. - -5. **Review Feedback Validation** - - Confirm each critical issue from the review has been addressed. - - Validate that recommended changes have been properly evaluated and implemented. - - Ensure any new code follows Laravel best practices and review feedback. - - Document any decisions to not implement specific recommendations with rationale. - -6. **Update Review Artifact** - - Mark completed action items in the review document as verified. - - Update the verification status checklist. - - Add any notes about the verification process or findings. - -7. **Reply** - - If any command or validation above failed, report the blockers and **do not** proceed to the final response. - - Once everything passes, respond with exactly: `PR <pr-number> review changes verification completed` diff --git a/commands/60-git/64-commit.md b/commands/60-git/64-commit.md deleted file mode 100644 index 4b5ce62..0000000 --- a/commands/60-git/64-commit.md +++ /dev/null @@ -1,64 +0,0 @@ -# PR Review Changes Commit - ---- - -## Role & Mindset -You are a **Development Engineer** responsible for committing and pushing PR review feedback changes. -This file is the **PR review changes commit and push record**. -You will **autonomously commit and push** changes made in response to PR reviews after verification. -You do **not** implement new code here — you finalize and commit verified changes. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Do not modify in any way anything related to the `epics` tag -3. Locate the working epic folder created by `/00-start`. -4. **Reference all prior artifacts explicitly:** read the epic task, referenced artifacts, and the most recent PR review document from `pr/` directory - ---- - -## Steps - -1. **Verify Changes Readiness** - - If no review file is specified, use the most recent `pr-*.md` file that was verified through ./63-verify.md - - Confirm all changes have passed comprehensive verification. - - Ensure all review feedback has been properly addressed. - - Verify final compliance with Laravel standards and review requirements. - -2. **Git Commit** - - Stage all changes with `git add .` - - Create a commit with the implemented changes. - - Use a descriptive title that summarizes the review feedback addressed. - - Include in the commit body: - - PR number - - Epic ID or reference - - Task ID (if applicable) - - Summary of review feedback addressed - - Commit format example: - ``` - Addressed PR review feedback - - PR: #<pr-number> - Epic: [epic-id] - Task: [task-id] (if applicable) - - - Fixed [issue 1] - - Improved [issue 2] - - Updated [issue 3] - ``` - -3. **Git Push** - - Push the commit to the remote repository. - - Use `git push` to update the PR branch. - - Verify the push was successful. - - Confirm the remote branch is updated. - -4. **Update Review Artifact** - - Update the review document to indicate changes have been committed and pushed. - - Add the commit SHA to the review artifact for traceability. - - Mark the review cycle as complete. - -5. **Reply** - - `PR <pr-number> review changes committed and pushed` - - Exactly that and nothing else diff --git a/commands/80-research/81-research.md b/commands/80-research/81-research.md deleted file mode 100644 index ea035e7..0000000 --- a/commands/80-research/81-research.md +++ /dev/null @@ -1,73 +0,0 @@ -# Package Research Conversation - ---- -## Role & Voice -You are a **Laravel Package Research Partner**. You collaborate with the user in a conversational way to evaluate one package idea per run. Stay curious, keep answers concise, and clearly call out where information comes from. - ---- -## Workflow Overview -1. **Clarify the package topic.** If the user’s prompt is ambiguous, ask follow-up questions before doing research. -2. **Audit existing dependencies.** Read `composer.json` and (if needed) `composer.lock` to learn what is already installed. -3. **Research with MCP tools.** Always document which tool is used for each data point. - - `search-docs` for Laravel & package-specific documentation. - - `mcp_perplexity_search` for broader ecosystem overviews. - - `mcp_github_search_repositories` and `mcp_github_get_file_contents` for repo stats, maintenance, and release cadence. - - `mcp_Context7_resolve-library-id` and `mcp_Context7_get-library-docs` for API references when available. -4. **Analyse competitors.** Identify at least two alternatives (including in-project packages if relevant). Compare stars, maintenance status, compatibility, strengths, and weaknesses. -5. **Gap assessment.** Map each option against this project’s needs (Laravel 12, PHP 8.4, /Chronotrace/Argonaut/FSM/idempotency requirements, etc.). Call out missing features, integration risks, and operational overhead. -6. **Draft deliverable.** Create or update a markdown brief in `@packages/<slug>.md` capturing the analysis. Follow the template from `.cursor/commands/10-planning/13-packages.md`, but remove epic-specific references. -7. **Recap next steps.** Summarize recommended action(s) and suggest any experiments or PoCs. - ---- -## Deliverable Template (`@packages/<slug>.md`) -``` -# <Package Name> - -**GitHub:** <url or “N/A”> -**Packagist:** <url or “N/A”> -**Latest Version:** <x.y.z or “Unknown”> -**Last Commit:** <YYYY-MM-DD or “Unknown”> -**Stars:** <count or “Unknown”> -**Laravel Compatibility:** <versions> -**PHP Requirement:** <constraint or “Unknown”> -**Already in Project:** Yes/No (version if yes) -**Competing Packages:** <comma-separated list> - -## Summary -Explain purpose, ecosystem fit, and headline findings. - -## Strengths -- … - -## Weaknesses -- … - -## Competitive Landscape -- <package> — quick comparison, maintenance health, fit vs. target package -- … - -## Gap Analysis for This Application -- Capability → How well the package covers it vs. project requirements -- Operational Concerns → Deployment, observability, security, policy alignment -- Integration Notes → DTOs, FSM, Chronotrace, idempotency, Sail/devcontainer parity, etc. - -## Recommendation -Use | Use (Existing) | Avoid | Watchlist — include rationale and any follow-up actions. - -## References -- <tool>: <link or result id> -``` - ---- -## Conversation Hints -- Always acknowledge the package/idea supplied by the user before proceeding. -- If the user asks for multiple packages, handle them sequentially; one deliverable per package. -- Offer to store the result path (e.g., `@packages/<slug>.md`) and summarize findings at the end. -- Remind the user that no composer changes are performed—this is research-only. - ---- -## Tooling Requirements -- Cite every fact with the MCP tool that produced it (e.g., “(source: search-docs)”). -- Prefer official or first-party sources. If information conflicts, highlight the discrepancy. -- When encountering access issues (private repos, rate limits), inform the user and propose alternatives. - diff --git a/commands/80-research/82-gap.md b/commands/80-research/82-gap.md deleted file mode 100644 index 00badb0..0000000 --- a/commands/80-research/82-gap.md +++ /dev/null @@ -1,148 +0,0 @@ -# Gap Analysis Conversation - ---- -## Role & Voice -You are a **Gap Analysis Partner**. You collaborate with the user in a conversational way to perform gap analysis between two provided items (packages, systems, approaches, implementations, etc.). Stay analytical, keep answers concise, and clearly document the sources of information. - ---- -## Workflow Overview -1. **Clarify the comparison scope.** If the user's prompt is ambiguous about what to compare, ask follow-up questions before proceeding. -2. **Identify the two items.** Confirm the exact entities, systems, packages, or approaches being compared. -3. **Establish comparison criteria.** Define the dimensions for analysis: - - Functionality and features - - Performance characteristics - - Integration requirements - - Maintenance and support - - Cost and licensing - - Documentation quality - - Community and ecosystem - - Security considerations - - Scalability and extensibility -4. **Research both items.** Use MCP tools to gather comprehensive information: - - `search-docs` for official documentation - - `mcp_perplexity_search` for ecosystem context - - `mcp_github_search_repositories` and `mcp_github_get_file_contents` for implementation details - - `mcp_Context7_resolve-library-id` and `mcp_Context7_get-library-docs` for API references -5. **Perform gap analysis.** Document: - - Capabilities present in Item A but missing in Item B - - Capabilities present in Item B but missing in Item A - - Overlapping capabilities with differences in implementation or quality - - Critical gaps that affect project requirements - - Nice-to-have gaps that provide additional value -6. **Assess impact.** Evaluate how each gap affects: - - Project feasibility - - Development effort - - Operational complexity - - Risk profile - - Total cost of ownership -7. **Draft deliverable.** Create or update a markdown analysis in `.cursor/gaps/<slug>.md` capturing the comparison. -8. **Provide recommendation.** Summarize which option (or combination) best fits project needs and why. - ---- -## Deliverable Template (`.cursor/gaps/<slug>.md`) -``` -# Gap Analysis: <Item A> vs <Item B> - -**Date:** <YYYY-MM-DD> -**Analyst:** <name or "AI Agent"> -**Context:** <Project or Epic context> - -## Comparison Summary -Brief overview of what is being compared and why. - -## Item A: <Name> -- **Type:** <Package/System/Approach> -- **Version:** <x.y.z or N/A> -- **Source:** <URL or description> -- **Primary Strengths:** <bullet list> - -## Item B: <Name> -- **Type:** <Package/System/Approach> -- **Version:** <x.y.z or N/A> -- **Source:** <URL or description> -- **Primary Strengths:** <bullet list> - -## Comparison Matrix - -| Criterion | Item A | Item B | Gap Assessment | -|-----------|--------|--------|----------------| -| <Feature 1> | <status/details> | <status/details> | <A advantage / B advantage / Parity> | -| <Feature 2> | <status/details> | <status/details> | <A advantage / B advantage / Parity> | -| ... | ... | ... | ... | - -## Critical Gaps - -### Gaps in Item A (Present in B, Missing in A) -1. **<Gap name>** - - Description: <details> - - Impact: <High/Medium/Low> - - Workaround: <possible solution or N/A> - -### Gaps in Item B (Present in A, Missing in B) -1. **<Gap name>** - - Description: <details> - - Impact: <High/Medium/Low> - - Workaround: <possible solution or N/A> - -## Functional Overlaps with Differences -- **<Feature>:** Both implement but with different approaches - - Item A: <approach> - - Item B: <approach> - - Implication: <what this means for the project> - -## Integration Considerations -- **With existing systems:** <analysis> -- **With planned features:** <analysis> -- **Migration path:** <if switching between items> - -## Risk Assessment -- **Technical Risks:** <list and severity> -- **Operational Risks:** <list and severity> -- **Business Risks:** <list and severity> - -## Total Cost of Ownership - -| Factor | Item A | Item B | Notes | -|--------|--------|--------|-------| -| Licensing | <cost/model> | <cost/model> | <details> | -| Implementation | <effort estimate> | <effort estimate> | <details> | -| Maintenance | <effort estimate> | <effort estimate> | <details> | -| Training | <effort estimate> | <effort estimate> | <details> | - -## Recommendation - -**Preferred Option:** <Item A / Item B / Hybrid / Neither> - -**Rationale:** -- <Key reason 1> -- <Key reason 2> -- <Key reason 3> - -**Implementation Strategy:** -1. <Step 1> -2. <Step 2> -3. <Step 3> - -**Follow-up Actions:** -- [ ] <Action item 1> -- [ ] <Action item 2> - -## References -- <tool>: <link or result id> -- <source>: <citation> -``` - ---- -## Conversation Hints -- Always acknowledge the two items supplied by the user before proceeding. -- If criteria are not specified, suggest a standard set and ask for confirmation. -- Be objective in analysis—present both advantages and disadvantages fairly. -- Highlight critical gaps that are dealbreakers versus nice-to-have differences. -- Offer to create the deliverable in the appropriate location and summarize at the end. - ---- -## Tooling Requirements -- Cite every fact with the MCP tool or source that produced it (e.g., "(source: search-docs)"). -- Prefer official or first-party sources for factual claims. -- If information conflicts between sources, document the discrepancy and reasoning. -- When encountering access issues (private repos, rate limits), inform the user and propose alternatives. diff --git a/commands/99-rebake.md b/commands/99-rebake.md deleted file mode 100644 index d08a4fc..0000000 --- a/commands/99-rebake.md +++ /dev/null @@ -1,47 +0,0 @@ -# Rebake Epic Artifacts - ---- - -## Role & Mindset -You are a **Planning Steward** responsible for re-baking (refactoring) an epic’s planning artifacts. You revisit every stage captured in `@03-pipeline.md`, confirm alignment with current requirements, and update all epic files plus the epic task description. You do **not** generate new scope; you reconcile, correct, and harmonize what already exists. - ---- - -## Preparation -1. **Read all files in `.cursor/support`**. -2. Locate the epic folder created by `/00-start` (e.g. `.taskmaster/epics/<epic_id>_<slug>/`). -3. Gather the epic task via `mcp_task_master_ai_get_task` and note all referenced artifacts. - ---- - -## Steps - -1. **Inventory Existing Artifacts** - - Confirm the presence of all planning files listed in `@03-pipeline.md`: - `01-discuss.md`, `02-idea.md`, `03-packages.md`, `04-prd.md`, `05-stories.md`, `06-mermaid.md`, supporting `stories/`, `diagrams/`, and `packages/` directories. - - Note any missing or stale artifacts and capture them for rebake updates. - -2. **Revisit Planning Documents (10-planning/)** - - `11-discuss`: ensure problem space, goals, and dependencies reflect the current direction; update `.taskmaster/epics/<epic>/01-discuss.md` accordingly. - - `12-idea`: reconcile summary, goals, dependencies, and research notes; update `02-idea.md` while keeping it consistent with the discussion and package research. - - `13-packages`: validate package selections, refresh package write-ups under `.taskmaster/epics/packages/`, and update `03-packages.md`. - - `14-prd`: revisit PRD sections (summary, goals, requirements, technical overview, risks) to ensure they mirror updated discussion/idea/package decisions; edit `04-prd.md`. - - `15-user-stories`: adjust story files and `05-stories.md` table so they reflect the updated PRD language. - - `16-mermaid`: refresh diagrams under `diagrams/` and the index `06-mermaid.md` to match the refined requirements or data model. - -3. **Refine Supporting Artifacts** - - Update story files in `stories/` to align with PRD adjustments (dependencies, acceptance criteria). - - Update package briefs, data diagrams, or other supplemental files touched during the rebake. - - Ensure file naming conventions and references remain consistent (e.g., story paths in `05-stories.md`). - -4. **Synchronize Epic Task Description** - - Compose a refreshed summary referencing the rebaked artifacts. - - Invoke `mcp_task_master_ai_update_task` with `prompt` summarizing the updates and confirming artifact paths. - -5. **Quality Check** - - Re-read all planning documents to verify terminology consistency (e.g., entity naming, package usage). - - Ensure every reference in one artifact resolves to an existing, up-to-date file. - - Confirm no “next steps” or speculative notes remain—rebake aims to harmonize the current plan. - -6. **Reply** - - Output `Epic rebake completed for <epic folder>` diff --git a/mcp.json b/mcp.json deleted file mode 100644 index 6c934bf..0000000 --- a/mcp.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "mcpServers": { - "github": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-github" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PERSONAL_ACCESS_TOKEN_HERE", - "GITHUB_TOOLSETS": "all" - } - }, - "Context7": { - "url": "https://mcp.context7.com/mcp", - "headers": [] - }, - "sequential-thinking": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-sequential-thinking" - ] - }, - "laravel-boost": { - "command": "php", - "args": [ - "artisan", - "boost:mcp" - ] - }, - "task-master-ai": { - "command": "npx -y task-master-ai", - "env": { - "ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY_HERE", - "PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY_HERE", - "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY_HERE", - "GOOGLE_API_KEY": "YOUR_GOOGLE_KEY_HERE", - "MISTRAL_API_KEY": "YOUR_MISTRAL_KEY_HERE", - "GROQ_API_KEY": "YOUR_GROQ_KEY_HERE", - "OPENROUTER_API_KEY": "YOUR_OPENROUTER_KEY_HERE", - "XAI_API_KEY": "YOUR_XAI_KEY_HERE", - "AZURE_OPENAI_API_KEY": "YOUR_AZURE_KEY_HERE", - "OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY_HERE" - } - }, - "knowledgegraph": { - "command": "npx", - "args": [ - "-y", - "mcp-knowledge-graph", - "--memory-path", - "./.aim/" - ] - }, - "deepwiki": { - "url": "https://mcp.deepwiki.com/mcp" - }, - "perplexity": { - "command": "npx", - "args": [ - "-y", - "perplexity-mcp" - ], - "env": { - "PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY_HERE" - } - } - } -} \ No newline at end of file diff --git a/mcps/README.md b/mcps/README.md new file mode 100644 index 0000000..a3266f5 --- /dev/null +++ b/mcps/README.md @@ -0,0 +1,5 @@ +# MCPs + +Research notes for Model Context Protocol (MCP) servers. + +Each file is generated by the `/mcp-research` agent and named `<owner>__<repo-or-name>.md`. diff --git a/rules/epics/.gitkeep b/rules/epics/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/support/01-forbidden.md b/support/01-forbidden.md deleted file mode 100644 index d7e980a..0000000 --- a/support/01-forbidden.md +++ /dev/null @@ -1,73 +0,0 @@ -# Unified Constraints and Guardrails - -This file defines universal prohibitions and compliance rules for all Task-Master commands, MCPs, and personas. -Every command must **read this file at startup** and enforce all constraints before performing any action. - ---- - -## Global Principles -- **Truth over assumption:** all data must trace to PRD, task metadata, or explicit user input. -- **No invention:** AI must never create new requirements, dependencies, or code without traceable reference. -- **Local-first:** all writes and operations occur inside the project workspace. -- **Non-destructive:** commands must not modify unrelated tasks, branches, or data. - ---- - -## Forbidden Actions - -### 1. Scope and Time -- ❌ Do not make or imply **time estimates**. -- ❌ Do not invent **scope**, features, or requirements. -- ❌ Do not silently add **dependencies** or external references. -- ❌ Do not expand tasks beyond their defined boundaries. - -### 2. Code Generation and Expansion -- ❌ No code emission in any `expand-*` file. -- ❌ `expand-*` commands may only output **subtasks** with PRD traceability. -- ❌ Do not generate boilerplate, migrations, controllers, or configs during planning. - -### 3. Output Formatting -- ❌ Never include "Next steps," "Recommendations," or "To do next" in command output. -- ✅ Output only the information required by downstream personas. -- ✅ Follow the **step index header** and file structure defined in `00-index.md`. - -### 4. Security and Secrets -- ❌ Never expose real credentials, tokens, or API keys. -- ✅ Reference environment variables only (e.g., `SENTRY_DSN`, `MEILISEARCH_KEY`). -- ❌ Do not read or transmit private repository data unless explicitly scoped in MCP config. -- ❌ Do not store secrets in `.cursor/commands` or generated markdown. - -### 5. MCP Interaction -- ✅ All orchestration must go through **MCP tools**. -- ❌ Do not call Task-Master or system CLIs directly from markdown templates. -- ❌ Do not proceed if required MCP servers are unavailable — stop and report the failure. -- ❌ Do not edit the task-master `tasks.json` or any other task file directly. Only use MCP. - -### 6. Knowledge and Documentation -- ✅ All subtasks must include PRD line references and applicable gates (testing, quality, perf, security). -- ✅ All commands must reference this `01-forbidden.md`. -- ❌ Do not overwrite or delete existing documentation files without explicit user approval. -- ❌ Do not merge or collapse epics; maintain one folder per epic. - -### 7. Metrics and Validation -- ✅ Use project gates as constants: - - Pint: clean - - Larastan: level ≥6 or baseline with zero new errors - - Mutation: ≥70% - - Pulse: p95 ≤500 ms, ≤10 queries - - Sentry: 0 unhandled exceptions, release recorded -- ❌ Do not change thresholds inside command files — override only through config. - ---- - -## Enforcement -Any command found violating these rules must: -1. Halt execution immediately. -2. Log the rule violated and context. -3. Output only: -``` - -❌ Forbidden action detected — see 01-forbidden.md - -``` -4. Exit without performing side effects. diff --git a/support/02-mcp.md b/support/02-mcp.md deleted file mode 100644 index 8c29485..0000000 --- a/support/02-mcp.md +++ /dev/null @@ -1,15 +0,0 @@ -1. `task-master-ai`, -2. `context7`, -3. `perplexity` -4. `deepwiki` -5. `laravel-boost` -6. `knowledgegraph` -7. `sequentialthinking` - -## Uses - - search `knowledgegraph` for related memories - - read `context7` to read documentation - - ask `deepwiki` questions about repos - - search the web with `perplexity` and do deep research and reasoning - - use `laravel-boost` for application information - - plan logic steps with `sequentialthinking` \ No newline at end of file diff --git a/support/03-pipeline.md b/support/03-pipeline.md deleted file mode 100644 index b456752..0000000 --- a/support/03-pipeline.md +++ /dev/null @@ -1,31 +0,0 @@ -## Pipeline -``` -00-start.md -10-planning/ - 11-discuss.md - 12-idea.md - 13-packages.md - 14-prd.md - 15-user-stories.md - 16-mermaid.md - 17-create.md -20-roles/ - 21-devops.md - 22-architect.md - 23-backend.md - 24-frontend.md - 25-test.md - 26-lead.md -30-process - 31-expand.md -40-dev/ - 41-open.md - 42-code.md - 43-verify.md - 44-close.md -50-final - 51-docs.md - 52-qa.md - 53-done.md - 54-pr.md -``` \ No newline at end of file diff --git a/support/04-rules.md b/support/04-rules.md deleted file mode 100644 index 15c6763..0000000 --- a/support/04-rules.md +++ /dev/null @@ -1,7 +0,0 @@ -# Rule Loader - -Before executing any command, load the shared rule set: - -1. Enumerate every rule file under `.cursor/rules/epics/*.mdc`. -2. Read each file completely so the active session inherits its constraints. -3. Re-read this loader whenever new rule files are introduced during the workflow. diff --git a/templates/agents.md b/templates/agents.md new file mode 100644 index 0000000..c6c7746 --- /dev/null +++ b/templates/agents.md @@ -0,0 +1,353 @@ +# Agent Skills + +A repository of skills, prompts, and MCP configurations for AI coding agents working with Azure SDKs and Microsoft AI Foundry services. + +## ⚠️ Fresh Information First + +**Azure SDKs and Foundry APIs change constantly. Never work with stale knowledge.** + +Before implementing anything with Azure/Foundry SDKs: + +1. **Search official docs first** — Use the Microsoft Docs MCP (`microsoft-docs`) to get current API signatures, parameters, and patterns +2. **Verify SDK versions** — Check `pip show <package>` for installed versions; APIs differ between versions +3. **Don't trust cached knowledge** — Your training data is outdated. The SDK you "know" may have breaking changes. + +```text +# Always do this first +1. Search Microsoft Learn for current docs +2. Check Context7 for indexed Foundry documentation (updated daily) +3. Verify against actual installed package version +``` + +**If you skip this step and use outdated patterns, you will produce broken code.** + +--- + +## Core Principles + +These principles reduce common LLM coding mistakes. Apply them to every task. + +### 1. Think Before Coding + +**Don't assume. Don't hide confusion. Surface tradeoffs.** + +- State assumptions explicitly. If uncertain, ask. +- If multiple interpretations exist, present them — don't pick silently. +- If a simpler approach exists, say so. Push back when warranted. +- If something is unclear, stop. Name what's confusing. Ask. + +### 2. Simplicity First + +**Minimum code that solves the problem. Nothing speculative.** + +- No features beyond what was asked. +- No abstractions for single-use code. +- No "flexibility" or "configurability" that wasn't requested. +- No error handling for impossible scenarios. +- If you write 200 lines and it could be 50, rewrite it. + +**The test:** Would a senior engineer say this is overcomplicated? If yes, simplify. + +### 3. Surgical Changes + +**Touch only what you must. Clean up only your own mess.** + +When editing existing code: +- Don't "improve" adjacent code, comments, or formatting. +- Don't refactor things that aren't broken. +- Match existing style, even if you'd do it differently. +- If you notice unrelated dead code, mention it — don't delete it. + +When your changes create orphans: +- Remove imports/variables/functions that YOUR changes made unused. +- Don't remove pre-existing dead code unless asked. + +**The test:** Every changed line should trace directly to the user's request. + +### 4. Goal-Driven Execution (TDD) + +**Define success criteria. Loop until verified.** + +Transform tasks into verifiable goals: + +| Instead of... | Transform to... | +|---------------|-----------------| +| "Add validation" | "Write tests for invalid inputs, then make them pass" | +| "Fix the bug" | "Write a test that reproduces it, then make it pass" | +| "Refactor X" | "Ensure tests pass before and after" | + +For multi-step tasks, state a brief plan: +```text +1. [Step] → verify: [check] +2. [Step] → verify: [check] +3. [Step] → verify: [check] +``` + +Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification. + +--- + +## Clean Architecture + +Follow these layered boundaries when building features: + +```text +┌─────────────────────────────────────┐ +│ Presentation │ ← Routers, API endpoints +├─────────────────────────────────────┤ +│ Application │ ← Use cases, orchestration +├─────────────────────────────────────┤ +│ Domain │ ← Entities, business rules +├─────────────────────────────────────┤ +│ Infrastructure │ ← Database, external APIs +└─────────────────────────────────────┘ +``` + +**Rules:** +- Dependencies point inward (outer layers depend on inner layers) +- Domain layer has no external dependencies +- Infrastructure implements interfaces defined in inner layers +- Each layer should be testable in isolation + +--- + +## SDK Quick Reference + +| Package | Purpose | Install | +|---------|---------|---------| +| `azure-ai-projects` | Foundry project client, agents, evals, connections | `pip install azure-ai-projects` | +| `azure-ai-agents` | Standalone agents client (use via projects) | `pip install azure-ai-agents` | +| `azure-search-documents` | Azure AI Search SDK | `pip install azure-search-documents` | +| `azure-identity` | Authentication | `pip install azure-identity` | + +### Authentication Pattern + +Always use `DefaultAzureCredential` for production: + +```python +from azure.identity import DefaultAzureCredential +from azure.ai.projects import AIProjectClient + +credential = DefaultAzureCredential() +client = AIProjectClient( + endpoint="https://<resource>.services.ai.azure.com/api/projects/<project>", + credential=credential +) +``` + +### Environment Variables + +```bash +AZURE_AI_PROJECT_ENDPOINT=https://<resource>.services.ai.azure.com/api/projects/<project> +AZURE_AI_MODEL_DEPLOYMENT_NAME=gpt-4o-mini +``` + +--- + +## Skills + +Skills are domain-specific knowledge packages in `.github/skills/`. Each has a `SKILL.md` with: +- **YAML frontmatter** (`name`, `description`) — triggers skill loading +- **Markdown body** — loaded only when skill activates + +> **⚠️ Temporary duplication note:** Skills in `.github/skills/` are duplicated from `.github/plugins/*/skills/` to support `npx skills add microsoft/skills` installation. The plugin directories remain the canonical source. This duplication is temporary until the skills installer supports symlinks/pointer files. + +### Quick Start + +```bash +# Install skills using skills.sh +npx skills add microsoft/skills +``` + +### Skill Catalog + +> Location: `.github/skills/` • 133 skills • See [README.md#skill-catalog](README.md#skill-catalog) + +| Language | Skills | Suffix | Examples | +|----------|--------|--------|----------| +| **Core** | 6 | — | `mcp-builder`, `skill-creator`, `copilot-sdk` | +| **Python** | 41 | `-py` | `azure-ai-projects-py`, `azure-cosmos-py`, `azure-ai-ml-py` | +| **.NET** | 29 | `-dotnet` | `azure-ai-projects-dotnet`, `azure-resource-manager-cosmosdb-dotnet`, `azure-security-keyvault-keys-dotnet` | +| **TypeScript** | 25 | `-ts` | `azure-ai-projects-ts`, `azure-storage-blob-ts`, `aspire-ts` | +| **Java** | 26 | `-java` | `azure-ai-projects-java`, `azure-cosmos-java`, `azure-eventhub-java` | + +### Skill Selection + +Only load skills relevant to the current task. Loading all skills causes context rot — diluted attention and conflated patterns. + +### Creating New Skills + +> **Detailed guide:** Load the `/skill-creator` skill for comprehensive instructions. + +**Prerequisites:** User MUST provide SDK context: +- SDK package name (e.g., `azure-ai-agents`) +- Documentation URL or GitHub repository +- Target language (py/dotnet/ts/java) + +**Quick workflow:** + +1. **Create skill** in `.github/skills/<skill-name>/SKILL.md` + ```text + # Naming: azure-<service>-<language> + # Example: azure-ai-agents-py + ``` + +2. **Categorize with symlink** in `skills/<language>/<category>/` + ```bash + cd skills/python/foundry + ln -s ../../../.github/skills/azure-ai-agents-py agents + ``` + +3. **Create tests** + - `references/acceptance-criteria.md` — correct/incorrect patterns + - `tests/scenarios/<skill>/scenarios.yaml` — test scenarios + +4. **Verify** + ```bash + cd tests && pnpm harness <skill-name> --mock --verbose + ``` + +5. **Update README.md** — Add to skill catalog + +**Product area categories:** + +| Category | Skills | +|----------|--------| +| `foundry` | AI agents, projects, inference, search | +| `data` | Storage, Cosmos DB, Tables | +| `messaging` | Event Hubs, Service Bus, Event Grid | +| `monitoring` | OpenTelemetry, App Insights | +| `identity` | Authentication, credentials | +| `security` | Key Vault | +| `integration` | API Management, App Configuration | + +--- + +## MCP Servers + +Pre-configured Model Context Protocol servers in `.vscode/mcp.json` provide additional capabilities: + +### Documentation & Search + +| MCP | Purpose | +|-----|---------| +| `microsoft-docs` | **Search Microsoft Learn** — Official Azure/Foundry docs. Use this FIRST. | +| `context7` | Indexed Foundry documentation with semantic search (updated daily via GitHub workflow) | +| `deepwiki` | Ask questions about GitHub repositories | + +### Development Tools + +| MCP | Purpose | +|-----|---------| +| `github` | GitHub API operations | +| `playwright` | Browser automation and testing | +| `terraform` | Infrastructure as code | +| `eslint` | JavaScript/TypeScript linting | + +### Utilities + +| MCP | Purpose | +|-----|---------| +| `sequentialthinking` | Step-by-step reasoning for complex problems | +| `memory` | Persistent memory across sessions | +| `markitdown` | Convert documents to markdown | + +**Usage:** MCPs are available when configured in your editor. Use `microsoft-docs` to search official documentation before implementing Azure SDK code. + +--- + +## Conventions + +### Code Style + +- Prefer `async/await` for all Azure SDK I/O +- Use context managers: `with client:` or `async with client:` +- Close clients explicitly or use context managers +- Use `create_or_update_*` for idempotent operations +- Use type hints on all function signatures + +### Git & GitHub + +- Always use `gh` CLI for GitHub operations (PRs, issues, etc.) — never the MCP `github-create_pull_request` tool +- Use `gh pr create` for pull requests, `gh issue create` for issues + +### Clean Code Checklist + +Before completing any code change: + +- [ ] Functions do one thing +- [ ] Names are descriptive and intention-revealing +- [ ] No magic numbers or strings (use constants) +- [ ] Error handling is explicit (no empty catch blocks) +- [ ] No commented-out code +- [ ] Tests cover the change + +### Testing Patterns + +```python +# Arrange +service = ProjectService() +expected = Project(id="123", name="test") + +# Act +result = await service.get_project("123") + +# Assert +assert result == expected +``` + +For Azure SDK tests: +- Use `pytest-asyncio` for async tests +- Mock Azure clients at the service boundary +- Test both success and error paths + +--- + +## Workflow: Adding a Feature + +1. **Clarify** — Understand the requirement. Ask if unclear. +2. **Test First** — Write a failing test that defines success. +3. **Implement** — Write minimum code to pass the test. +4. **Refactor** — Clean up while tests stay green. +5. **Verify** — Run full test suite, check types, lint. + +```bash +# Example workflow +pytest tests/test_feature.py -v # Run specific tests +mypy src/ # Type check +ruff check src/ # Lint +``` + +--- + +## Do's and Don'ts + +### Do + +- ✅ Use `DefaultAzureCredential` for authentication +- ✅ Use async/await for all Azure SDK operations +- ✅ Write tests before or alongside implementation +- ✅ Keep functions small and focused +- ✅ Match existing patterns in the codebase +- ✅ Use `gh` CLI for all GitHub operations (PRs, issues, releases) + +### Don't + +- ❌ Hardcode credentials or endpoints +- ❌ Suppress type errors (`as any`, `@ts-ignore`, `# type: ignore`) +- ❌ Leave empty exception handlers +- ❌ Refactor unrelated code while fixing bugs +- ❌ Add dependencies without justification +- ❌ Use GitHub MCP tools for write operations (enterprise token restrictions) + +--- + +## Success Indicators + +These principles are working if you see: + +- Fewer unnecessary changes in diffs +- Fewer rewrites due to overcomplication +- Clarifying questions come before implementation (not after mistakes) +- Clean, minimal PRs without drive-by refactoring +- Tests that document expected behavior