Software Planning Tool
Uma ferramenta para planejamento estruturado de desenvolvimento de software, ajudando a dividir projetos em tarefas e acompanhar o progresso.
Documentação
Software Planning Tool 🚀
Um servidor Model Context Protocol (MCP) projetado para facilitar o planejamento de desenvolvimento de software por meio de uma abordagem interativa e estruturada. Esta ferramenta ajuda a dividir projetos de software complexos em tarefas gerenciáveis, acompanhar o progresso da implementação e manter planos de desenvolvimento detalhados.
Recursos ✨
- Sessões de Planejamento Interativas: Inicie e gerencie sessões de planejamento de desenvolvimento.
- Gerenciamento de Tarefas: Crie, atualize e acompanhe tarefas de desenvolvimento.
- Pontuação de Complexidade: Atribua pontuações de complexidade às tarefas para melhor estimativa.
- Exemplos de Código: Inclua trechos de código relevantes nas descrições das tarefas.
- Planos de Implementação: Salve e gerencie planos de implementação detalhados.
Instalação 🛠️
Instalação via Smithery
Para instalar o Software Planning Tool para Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @NightTrek/Software-planning-mcp --client claude
Instalação Manual
- Clone o repositório
- Instale as dependências:
pnpm install
- Compile o projeto:
pnpm run build
- Adicione à configuração de definições do MCP (normalmente localizada em
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):
{
"mcpServers": {
"software-planning-tool": {
"command": "node",
"args": [
"/path/to/software-planning-tool/build/index.js"
],
"disabled": false,
"autoApprove": []
}
}
}
Ferramentas Disponíveis 🔧
start_planning
Inicie uma nova sessão de planejamento com um objetivo específico.
{
goal: string // The software development goal to plan
}
add_todo
Adicione um novo item de tarefa ao plano atual.
{
title: string, // Title of the todo item
description: string, // Detailed description
complexity: number, // Complexity score (0-10)
codeExample?: string // Optional code example
}
get_todos
Recupere todas as tarefas do plano atual.
// No parameters required
update_todo_status
Atualize o status de conclusão de um item de tarefa.
{
todoId: string, // ID of the todo item
isComplete: boolean // New completion status
}
save_plan
Salve o plano de implementação atual.
{
plan: string // The implementation plan text
}
remove_todo
Remova um item de tarefa do plano atual.
{
todoId: string // ID of the todo item to remove
}
Exemplo de Uso 📝
Aqui está um exemplo completo de uso da ferramenta de planejamento de software:
- Inicie uma sessão de planejamento:
await client.callTool("software-planning-tool", "start_planning", {
goal: "Create a React-based dashboard application"
});
- Adicione um item de tarefa:
const todo = await client.callTool("software-planning-tool", "add_todo", {
title: "Set up project structure",
description: "Initialize React project with necessary dependencies",
complexity: 3,
codeExample: `
npx create-react-app dashboard
cd dashboard
npm install @material-ui/core @material-ui/icons
`
});
- Atualize o status da tarefa:
await client.callTool("software-planning-tool", "update_todo_status", {
todoId: todo.id,
isComplete: true
});
- Salve o plano de implementação:
await client.callTool("software-planning-tool", "save_plan", {
plan: `
# Dashboard Implementation Plan
## Phase 1: Setup (Complexity: 3)
- Initialize React project
- Install dependencies
- Set up routing
## Phase 2: Core Features (Complexity: 5)
- Implement authentication
- Create dashboard layout
- Add data visualization components
`
});
Desenvolvimento 🔨
Estrutura do Projeto
software-planning-tool/
├── src/
│ ├── index.ts # Main server implementation
│ ├── prompts.ts # Planning prompts and templates
│ ├── storage.ts # Data persistence
│ └── types.ts # TypeScript type definitions
├── build/ # Compiled JavaScript
├── package.json
└── tsconfig.json
Compilação
pnpm run build
Testes
Teste todos os recursos usando o inspetor MCP:
pnpm run inspector
Licença 📄
MIT
Feito com ❤️ usando o Model Context Protocol