UNPKG

task-master-neo-sdlc

Version:

Enhanced task management system with Neo SDLC agents and MCP tools for comprehensive, AI-driven software development lifecycle management.

174 lines (127 loc) 7.08 kB
# Task Master Neo ### by [@eyaltoledano](https://x.com/eyaltoledano) & [@RalphEcom](https://x.com/RalphEcom) Task Master is an AI-driven development system built around the concept of **Neo**, an SDLC orchestration agent. It integrates with various specialized agents to manage the entire software development lifecycle, leveraging a **Knowledge Graph** for context and state management. It's designed to work seamlessly with AI assistants like Cursor. ## System Overview Neo acts as the central brain, coordinating a team of specialized AI agents to handle different phases of the software development lifecycle. Key components include: * **Neo Orchestrator:** Manages the overall workflow and agent interactions. * **Knowledge Graph:** A dynamic graph database storing project context (code structure, requirements, tasks, design decisions, agent states, etc.). * **Agent Workflow System:** Facilitates communication and task execution between agents. * **Specialized Agents:** A suite of agents covering roles like UX Design, Security Auditing, Performance Analysis, Frontend/Backend Development, Database Management, Architecture Validation, and more. * **Monitoring System:** Tracks performance, health, and logs significant events. * **Design System Manager:** Handles UI components, design tokens, and templates. * **Process Manager:** Executes predefined, complex workflows. This agent-based architecture allows for modularity, specialization, and scalability in managing complex development processes. ## Requirements - Node.js 14.0.0 or higher - Anthropic API key (Claude API) - (Optional) Perplexity API key (for research features) - (Optional) Cursor AI or another AI assistant capable of MCP interaction. ## Configuration Configure API keys and model preferences via environment variables in a `.env` file: ``` ANTHROPIC_API_KEY=YOUR_CLAUDE_API_KEY PERPLEXITY_API_KEY=YOUR_PERPLEXITY_API_KEY # Optional MODEL="claude-3-opus-20240229" # Or your preferred model PERPLEXITY_MODEL="sonar-medium-online" # Or your preferred model MAX_TOKENS=100000 TEMPERATURE=0.1 # ... other optional configurations like DEBUG, LOG_LEVEL, DEFAULT_SUBTASKS etc. ``` *(See `docs/configuration.md` or `.env.example` for all options)* ## Installation ```bash npm install -g task-master-ai ``` ## Quick Start: MCP Workflow (Recommended) Using Task Master Neo with an AI assistant via MCP (Model Context Protocol) provides the most integrated experience. 1. **Install:** `npm i -g task-master-ai` 2. **Configure MCP Server:** Add the following to your editor's (e.g., Cursor) MCP server configuration: ```json { "mcpServers": { "taskmaster-ai": { "command": "npx", "args": ["-y", "task-master-mcp"], "env": { "ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY_HERE", "PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY_HERE" // Add other relevant env vars like MODEL, MAX_TOKENS etc. } } } } ``` 3. **Enable MCP Server:** Activate the server in your editor. 4. **Initialize Project:** Ask your AI assistant (referencing the MCP server, e.g., `@taskmaster-ai`) to initialize the project: ``` @taskmaster-ai Initialize this project. ``` (This uses the `initialize_project` tool). 5. **Parse Requirements (Optional):** If you have a PRD: ``` @taskmaster-ai Parse the PRD at path/to/prd.txt to generate initial tasks. ``` (This uses the `parse_prd` tool). 6. **Start Workflow:** Interact with Neo and the specialized agents: * `@taskmaster-ai What is the next task to work on?` (Uses `next_task`) * `@taskmaster-ai Ask the FrontendDeveloperAgent to create a login form component.` * `@taskmaster-ai Ask the SecurityAuditorAgent to check for hardcoded passwords.` * `@taskmaster-ai Ask the PerformanceAnalystAgent to suggest caching strategies for the /users endpoint.` * `@taskmaster-ai Validate the architecture against the defined rules.` (Uses `ArchitectureValidatorAgent`) * `@taskmaster-ai Log an audit event: User manually updated the database schema.` (Uses `MonitoringSystem`) ## AI-Driven SDLC Workflow with Neo Neo orchestrates the development process through its specialized agents: 1. **Initialization:** `ProjectSetupAgent` creates the structure, initial KG, and context files. 2. **Requirements & Validation:** Requirements are defined (manually or via PRD parsing), and `RequirementsValidatorAgent` checks them. 3. **Design:** `UXDesignerAgent` handles research, journey maps, wireframes. `DesignSystemManager` manages components/tokens. 4. **Implementation:** `FrontendDeveloperAgent`, `BackendDeveloperAgent`, and `DatabaseManagerAgent` build features, APIs, and manage the database. 5. **Continuous Validation:** * `ArchitectureValidatorAgent` ensures adherence to architectural rules. * `SecurityAuditorAgent` performs security checks and manages RBAC. * `CompatibilityAnalyzerAgent` verifies integrations. * `TechnicalDebtManagerAgent` monitors and plans debt resolution. 6. **Deployment & Operations:** `DevOpsAgent` generates CI/CD and deployment configurations. `MonitoringSystem` tracks metrics and logs events. `PerformanceAnalystAgent` suggests optimizations. 7. **Knowledge & Process:** `KnowledgeBaseManagerAgent` maintains documentation. `ProcessManagerAgent` executes complex, multi-step workflows. This collaborative, agent-based approach, centered around the Knowledge Graph, allows for a more dynamic and context-aware development process. ## CLI Usage (Alternative) While MCP is recommended for the full agentic experience, core task management can still be done via the CLI. ### Initialize a new project ```bash task-master init ``` ### Common CLI Commands *(Existing command list remains largely relevant for basic task management)* ```bash # Parse PRD task-master parse-prd <prd-file.txt> # List tasks task-master list [--status=<status>] [--with-subtasks] # Show next/specific task task-master next task-master show <id> # Manage tasks task-master set-status --id=<id> --status=<status> task-master expand --id=<id> [--num=<n>] [--prompt=...] [--research] task-master update --from=<id> --prompt="..." task-master add-task --prompt="..." # Generate task files task-master generate # Complexity & Dependencies task-master analyze-complexity [--research] task-master complexity-report task-master add-dependency --id=<id> --depends-on=<id> task-master validate-dependencies ``` *(Refer to `docs/command-reference.md` for the full list)* ## Task Structure *(Existing Task Structure section is still valid)* ## Documentation *(Existing Documentation section is still valid)* ## Troubleshooting *(Existing Troubleshooting section is still valid)* ## Contributors *(Existing Contributors section is still valid)* ## Star History *(Existing Star History section is still valid)* ## Licensing *(Existing Licensing section is still valid)*