project-manager: adiciona skills project-init e start
This commit is contained in:
@@ -0,0 +1,215 @@
|
||||
---
|
||||
name: project-init
|
||||
description: Use when starting a new project from scratch — scaffolds .desk-project, CLAUDE.md, README.txt, CHANGELOG.md, initializes git, creates Gitea repo, and makes first commit. Step zero before /brainstorm or /spec.
|
||||
---
|
||||
|
||||
# /project-init v1.0 - Scaffolding de Projecto
|
||||
|
||||
Automatiza a criação de toda a estrutura de arranque de um projecto novo.
|
||||
Passo zero antes de `/brainstorm → /spec → /sprint → código`.
|
||||
|
||||
---
|
||||
|
||||
## Protocolo
|
||||
|
||||
### 1. Recolher dados
|
||||
|
||||
Perguntar ao utilizador (em bloco, uma só vez):
|
||||
|
||||
```
|
||||
Para inicializar o projecto preciso de:
|
||||
1. Nome do projecto (ex: FluxoSEO)
|
||||
2. Descrição curta (1 linha)
|
||||
3. ID da tarefa Desk CRM (ex: #2049)
|
||||
4. ID do projecto Desk CRM (ex: #58)
|
||||
5. Nome do projecto Desk (ex: DES 360º)
|
||||
6. Directório local (ex: /media/ealmeida/Dados/Dev/NomeProjecto)
|
||||
7. Nome do repositório Gitea (ex: fluxo-seo-audit) — deixar vazio para não criar
|
||||
```
|
||||
|
||||
Se o utilizador já estiver numa pasta de projecto, assumir essa pasta como directório.
|
||||
|
||||
---
|
||||
|
||||
### 2. Criar estrutura de ficheiros
|
||||
|
||||
**2.1 `.desk-project`**
|
||||
|
||||
```json
|
||||
{
|
||||
"project_id": <ID_PROJECTO>,
|
||||
"project_name": "<NOME_PROJECTO_DESK>",
|
||||
"client_id": null,
|
||||
"desk_url": "https://desk.descomplicar.pt/admin/projects/view/<ID_PROJECTO>",
|
||||
"gdrive_folder": null,
|
||||
"local_path": "<DIRECTORIO_LOCAL>",
|
||||
"default_milestone": null,
|
||||
"default_tags": ["development"],
|
||||
"changelog_discussion_id": null,
|
||||
"created_at": "<DATA_HOJE>"
|
||||
}
|
||||
```
|
||||
|
||||
**2.2 `CLAUDE.md`**
|
||||
|
||||
```markdown
|
||||
# CLAUDE.md — <NOME_PROJECTO>
|
||||
|
||||
## Contexto
|
||||
- **Tarefa Desk:** #<ID_TAREFA>
|
||||
- **Projecto Desk:** <NOME_PROJECTO_DESK> (#<ID_PROJECTO>)
|
||||
- **Directório:** <DIRECTORIO_LOCAL>
|
||||
- **Gitea:** https://git.descomplicar.pt/ealmeida/<REPO_GITEA>
|
||||
- **Criado:** <DATA_HOJE>
|
||||
|
||||
## Descrição
|
||||
<DESCRICAO_CURTA>
|
||||
|
||||
## Stack
|
||||
(preencher durante o projecto)
|
||||
|
||||
## Caminhos Críticos
|
||||
(preencher durante o projecto)
|
||||
|
||||
## Regras do Projecto
|
||||
- Seguir QR-Sites-CWP.md antes de referenciar paths WordPress
|
||||
- Deploy paths validados antes de usar
|
||||
- (adicionar regras específicas do projecto)
|
||||
|
||||
## Comandos Frequentes
|
||||
(preencher durante o projecto)
|
||||
```
|
||||
|
||||
**2.3 `README.txt`**
|
||||
|
||||
```
|
||||
<NOME_PROJECTO>
|
||||
=====================================
|
||||
|
||||
DeskCRM Task: #<ID_TAREFA>
|
||||
Project: <NOME_PROJECTO_DESK> (#<ID_PROJECTO>)
|
||||
Description: <DESCRICAO_CURTA>
|
||||
Created: <DATA_HOJE>
|
||||
Gitea: https://git.descomplicar.pt/ealmeida/<REPO_GITEA>
|
||||
|
||||
Componentes
|
||||
-----------
|
||||
(preencher durante o projecto)
|
||||
|
||||
Stack
|
||||
-----
|
||||
(preencher durante o projecto)
|
||||
|
||||
Deploy
|
||||
------
|
||||
(preencher durante o projecto)
|
||||
```
|
||||
|
||||
**2.4 `CHANGELOG.md`**
|
||||
|
||||
```markdown
|
||||
# Changelog — <NOME_PROJECTO>
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.1.0] — <DATA_HOJE>
|
||||
### Adicionado
|
||||
- Scaffolding inicial do projecto
|
||||
- `.desk-project`, `CLAUDE.md`, `README.txt`, `CHANGELOG.md`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 3. Inicializar Git
|
||||
|
||||
```bash
|
||||
cd <DIRECTORIO_LOCAL>
|
||||
git init
|
||||
git config user.email "emanuel@descomplicar.pt"
|
||||
git config user.name "Emanuel Almeida"
|
||||
git add .desk-project CLAUDE.md README.txt CHANGELOG.md
|
||||
git commit -m "chore: scaffolding inicial — <NOME_PROJECTO>"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4. Criar repositório Gitea (se pedido)
|
||||
|
||||
```
|
||||
mcp__gitea__create_repo({
|
||||
name: "<REPO_GITEA>",
|
||||
description: "<DESCRICAO_CURTA>",
|
||||
private: true,
|
||||
auto_init: false
|
||||
})
|
||||
```
|
||||
|
||||
Depois configurar remote e push:
|
||||
|
||||
```bash
|
||||
git remote add origin https://git.descomplicar.pt/ealmeida/<REPO_GITEA>.git
|
||||
git push -u origin main
|
||||
```
|
||||
|
||||
> Se o push via HTTPS falhar (SSH bloqueado), usar o workaround Python em `memory/gitea-push-workaround.md`.
|
||||
|
||||
---
|
||||
|
||||
### 5. Actualizar CLAUDE.md com URL Gitea confirmado
|
||||
|
||||
Preencher o campo `Gitea:` no CLAUDE.md após criação bem-sucedida do repo.
|
||||
|
||||
---
|
||||
|
||||
### 6. Confirmar ao utilizador
|
||||
|
||||
```
|
||||
✅ Projecto inicializado: <NOME_PROJECTO>
|
||||
|
||||
📁 Ficheiros criados:
|
||||
.desk-project (Desk #<ID_PROJECTO>)
|
||||
CLAUDE.md
|
||||
README.txt
|
||||
CHANGELOG.md
|
||||
|
||||
🔧 Git inicializado e primeiro commit criado
|
||||
|
||||
🔗 Gitea: https://git.descomplicar.pt/ealmeida/<REPO_GITEA>
|
||||
|
||||
Próximo passo: /brainstorm ou /spec create
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Regras
|
||||
|
||||
1. **NUNCA** criar ficheiros sem ler o directório primeiro (evitar sobrescrever trabalho existente)
|
||||
2. Se `.desk-project` já existir → avisar e perguntar se continua
|
||||
3. Usar sempre `mcp__mcp-time__current_time` para a data (não assumir)
|
||||
4. Gitea repo sempre `private: true` por omissão
|
||||
5. Campos "Stack", "Caminhos Críticos" e "Componentes" ficam em branco — serão preenchidos conforme o projecto avança
|
||||
6. Git config `user.email` e `user.name` obrigatórios antes do commit (evita "unable to auto-detect" error)
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- **NÃO** criar repo Gitea público sem confirmação explícita
|
||||
- **NÃO** assumir o directório — perguntar se não estiver óbvio
|
||||
- **NÃO** pre-preencher Stack/Deploy sem informação real
|
||||
- **NÃO** fazer `git add .` — adicionar apenas os 4 ficheiros do scaffolding
|
||||
|
||||
---
|
||||
|
||||
## Integração
|
||||
|
||||
| Skill | Relação |
|
||||
|-------|---------|
|
||||
| `/brainstorm` | Passo seguinte — explorar a ideia |
|
||||
| `/spec create` | Passo seguinte — formalizar arquitectura |
|
||||
| `/desk` | Usa `.desk-project` criado aqui |
|
||||
| `/desk init` | Alternativa se o projecton já existir no Desk mas sem `.desk-project` |
|
||||
|
||||
---
|
||||
|
||||
*Skill v1.0.0 | 2026-04-13 | Descomplicar®*
|
||||
Reference in New Issue
Block a user