--- 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": , "project_name": "", "client_id": null, "desk_url": "https://desk.descomplicar.pt/admin/projects/view/", "gdrive_folder": null, "local_path": "", "default_milestone": null, "default_tags": ["development"], "changelog_discussion_id": null, "created_at": "" } ``` **2.2 `CLAUDE.md`** ```markdown # CLAUDE.md — ## Contexto - **Tarefa Desk:** # - **Projecto Desk:** (#) - **Directório:** - **Gitea:** https://git.descomplicar.pt/ealmeida/ - **Criado:** ## Descrição ## 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`** ``` ===================================== DeskCRM Task: # Project: (#) Description: Created: Gitea: https://git.descomplicar.pt/ealmeida/ Componentes ----------- (preencher durante o projecto) Stack ----- (preencher durante o projecto) Deploy ------ (preencher durante o projecto) ``` **2.4 `CHANGELOG.md`** ```markdown # Changelog — ## [Unreleased] ## [0.1.0] — ### Adicionado - Scaffolding inicial do projecto - `.desk-project`, `CLAUDE.md`, `README.txt`, `CHANGELOG.md` ``` --- ### 3. Inicializar Git ```bash cd 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 — " ``` --- ### 4. Criar repositório Gitea (se pedido) ``` mcp__gitea__create_repo({ name: "", description: "", private: true, auto_init: false }) ``` Depois configurar remote e push: ```bash git remote add origin https://git.descomplicar.pt/ealmeida/.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: 📁 Ficheiros criados: .desk-project (Desk #) CLAUDE.md README.txt CHANGELOG.md 🔧 Git inicializado e primeiro commit criado 🔗 Gitea: https://git.descomplicar.pt/ealmeida/ 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®*