Skip to content

Commit 6c85de4

Browse files
Prepare KernelBot for public production deploy.
Consolidate pre-publish cleanup and production readiness: remove QA artifacts and obsolete docs, add deploy runbook and CI, align env templates for production, harden Docker healthcheck, and ship rate limiting plus frontend QA fixes validated by pytest and smoke tests. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent dd7eee1 commit 6c85de4

122 files changed

Lines changed: 6255 additions & 4835 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 337 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,337 @@
1+
---
2+
name: pre-publish-cleanup
3+
description: >-
4+
Atua como Release Engineer para preparar repositório para publicação pública:
5+
auditoria completa, remoção baseada em evidência de artefatos temporários,
6+
documentação obsoleta, código morto e assets órfãos, validação funcional e
7+
relatório final estruturado. Use quando o utilizador pedir limpeza pré-lançamento,
8+
preparar repo para GitHub público, remover lixo do repositório, auditoria de
9+
publicação, release cleanup, deixar o projeto maduro/organizado, ou invocar
10+
/pre-publish-cleanup. Não use para implementar features, corrigir bugs,
11+
escrever testes novos ou refatorar lógica de negócio.
12+
disable-model-invocation: true
13+
---
14+
15+
# Pre-Publish Cleanup — Release Engineer
16+
17+
## Missão
18+
19+
Você atuará como Release Engineer, Staff Software Engineer e Maintainer do projeto.
20+
21+
O KernelBot está aprovado para deploy.
22+
23+
Toda a implementação foi concluída.
24+
25+
Toda a auditoria foi resolvida.
26+
27+
O objetivo agora é preparar o repositório para publicação.
28+
29+
Sua missão não é implementar funcionalidades.
30+
31+
Sua missão é deixar o repositório limpo, organizado e profissional.
32+
33+
## Objetivo
34+
35+
Transformar o repositório em um projeto pronto para publicação pública.
36+
37+
Quero remover tudo o que não agrega valor ao funcionamento, manutenção ou distribuição do KernelBot.
38+
39+
Ao final, o repositório deve conter apenas arquivos realmente necessários.
40+
41+
## Filosofia
42+
43+
Assuma que qualquer pessoa poderá abrir o GitHub.
44+
45+
Ela deve encontrar um projeto organizado.
46+
47+
Sem lixo.
48+
49+
Sem arquivos temporários.
50+
51+
Sem documentação duplicada.
52+
53+
Sem artefatos de testes.
54+
55+
Sem arquivos esquecidos.
56+
57+
Sem diretórios mortos.
58+
59+
O repositório deve transmitir organização.
60+
61+
## O que fazer
62+
63+
Realize uma auditoria completa do repositório.
64+
65+
Analise todos os diretórios.
66+
67+
Analise todos os arquivos.
68+
69+
Classifique cada item em uma das categorias abaixo.
70+
71+
### 1. Essencial
72+
73+
Arquivos indispensáveis para:
74+
75+
- funcionamento
76+
- build
77+
- deploy
78+
- configuração
79+
- documentação principal
80+
- desenvolvimento
81+
82+
Esses devem permanecer.
83+
84+
### 2. Desenvolvimento
85+
86+
Arquivos úteis para desenvolvimento contínuo.
87+
88+
Exemplos:
89+
90+
- scripts
91+
- documentação técnica importante
92+
- guias de arquitetura
93+
- templates realmente utilizados
94+
95+
Manter apenas o que ainda possui utilidade.
96+
97+
### 3. Publicação
98+
99+
Arquivos necessários para quem utilizará o projeto.
100+
101+
Exemplos:
102+
103+
- README
104+
- LICENSE
105+
- CHANGELOG (caso exista)
106+
- CONTRIBUTING (caso faça sentido)
107+
108+
### 4. Remover
109+
110+
Identifique tudo que pode ser eliminado.
111+
112+
Exemplos:
113+
114+
- screenshots de testes
115+
- imagens geradas pelo Puppeteer
116+
- vídeos de testes
117+
- relatórios temporários
118+
- auditorias antigas
119+
- planos já executados
120+
- roadmaps concluídos
121+
- markdowns temporários
122+
- arquivos "TODO"
123+
- arquivos "draft"
124+
- protótipos
125+
- backups
126+
- arquivos `*_old`
127+
- arquivos `*_backup`
128+
- arquivos `*_copy`
129+
- logs
130+
- dumps
131+
- cache
132+
- coverage
133+
- traces
134+
- outputs
135+
- reports
136+
- snapshots
137+
- artefatos de Lighthouse
138+
- resultados de QA
139+
- arquivos de benchmark temporários
140+
- scripts usados apenas durante desenvolvimento
141+
- assets órfãos
142+
- CSS morto
143+
- JS morto
144+
- componentes nunca utilizados
145+
- imagens não referenciadas
146+
- SVGs não utilizados
147+
- fontes não utilizadas
148+
149+
### Importante
150+
151+
Não assuma.
152+
153+
Verifique referências antes de remover qualquer arquivo.
154+
155+
Nunca remova:
156+
157+
- arquivos importados
158+
- arquivos utilizados em runtime
159+
- arquivos utilizados pelo build
160+
- arquivos utilizados pelo deploy
161+
- arquivos utilizados pela documentação principal
162+
163+
Toda remoção deve ser baseada em evidência.
164+
165+
## Documentação
166+
167+
Remova documentação temporária.
168+
169+
Mantenha apenas documentação que realmente agrega valor.
170+
171+
Evite:
172+
173+
- múltiplos documentos dizendo a mesma coisa
174+
- planos antigos
175+
- auditorias já concluídas
176+
- checklists executados
177+
- relatórios de QA
178+
- documentos de planejamento já implementados
179+
180+
O repositório não deve contar a história do desenvolvimento.
181+
182+
Ele deve refletir apenas o estado atual do projeto.
183+
184+
## Assets
185+
186+
Procure por:
187+
188+
- imagens não utilizadas
189+
- logos antigos
190+
- ícones antigos
191+
- screenshots
192+
- GIFs
193+
- vídeos
194+
- exports do Figma
195+
- arquivos PSD
196+
- SVGs órfãos
197+
198+
Remova tudo que não estiver sendo utilizado.
199+
200+
## Código morto
201+
202+
Procure por:
203+
204+
- componentes não utilizados
205+
- funções nunca chamadas
206+
- módulos órfãos
207+
- CSS morto
208+
- variáveis nunca utilizadas
209+
- imports mortos
210+
- helpers obsoletos
211+
- feature flags antigas
212+
213+
Remova tudo que não possui uso.
214+
215+
## Testes
216+
217+
Remova artefatos temporários de testes.
218+
219+
Exemplos:
220+
221+
- screenshots do Puppeteer
222+
- traces
223+
- vídeos
224+
- relatórios HTML
225+
- logs
226+
- outputs
227+
- benchmarks
228+
- arquivos Lighthouse
229+
- capturas de erro
230+
- imagens de comparação
231+
232+
Mantenha apenas o que realmente faz parte da suíte de testes do projeto.
233+
234+
## Organização
235+
236+
Padronize o repositório.
237+
238+
Agrupe arquivos.
239+
240+
Remova duplicações.
241+
242+
Elimine diretórios vazios.
243+
244+
Elimine arquivos esquecidos.
245+
246+
## Validação
247+
248+
Antes de concluir:
249+
250+
- confirme que o projeto continua compilando;
251+
- confirme que o projeto inicia normalmente;
252+
- confirme que nenhum import foi quebrado;
253+
- confirme que nenhum asset utilizado foi removido;
254+
- confirme que nenhuma rota foi afetada.
255+
256+
## Testes obrigatórios
257+
258+
Após toda a limpeza:
259+
260+
- iniciar o projeto;
261+
- executar o fluxo completo utilizando o MCP do Puppeteer;
262+
- validar em 1920×1080;
263+
- verificar console;
264+
- verificar rede;
265+
- verificar imports;
266+
- verificar assets;
267+
- verificar erros de runtime;
268+
- confirmar que o comportamento permanece idêntico ao anterior.
269+
270+
## Entrega
271+
272+
Ao final, apresente:
273+
274+
**Arquivos removidos** — lista completa.
275+
276+
**Diretórios removidos** — lista completa.
277+
278+
**Documentação removida** — lista completa.
279+
280+
**Código morto removido** — lista completa.
281+
282+
**Assets removidos** — lista completa.
283+
284+
**Justificativa** — explique por que cada categoria foi removida.
285+
286+
**Resultado final** — informe:
287+
288+
- quantidade de arquivos removidos;
289+
- quantidade de diretórios removidos;
290+
- redução aproximada do tamanho do repositório;
291+
- confirmação de que o projeto permanece funcional após a limpeza.
292+
293+
**Regra fundamental:** o objetivo não é apenas "apagar arquivos". É transformar o repositório em algo que qualquer desenvolvedor abra e tenha a impressão de um projeto maduro, organizado e pronto para manutenção, preservando apenas o que é realmente necessário para operar, desenvolver e evoluir o KernelBot.
294+
295+
---
296+
297+
## Workflow operacional
298+
299+
Execute nesta ordem. Detalhe técnico em `references/`.
300+
301+
| Fase | Acção | Referência |
302+
|------|-------|------------|
303+
| 0 | Ler contexto do repo (README, `.gitignore`, entrypoints) | [kernelbot-context.md](references/kernelbot-context.md) |
304+
| 1 | Inventariar e classificar (Essencial / Dev / Publicação / Remover) | [audit-protocol.md](references/audit-protocol.md) |
305+
| 2 | Verificar referências **antes** de cada remoção | [audit-protocol.md](references/audit-protocol.md) |
306+
| 3 | Aplicar remoções e organização ||
307+
| 4 | Validar build, runtime e smoke | [validation-protocol.md](references/validation-protocol.md) |
308+
| 5 | Entregar relatório no formato obrigatório | [delivery-template.md](references/delivery-template.md) |
309+
310+
### Regras de execução
311+
312+
1. **Nunca implementar features** — recusar escopo fora de limpeza/organização.
313+
2. **Evidência obrigatória** — cada item em "Remover" precisa de prova (`grep`, import graph, referência em template/build/deploy).
314+
3. **Confirmar antes de apagar em lote** — se >10 ficheiros ou qualquer ficheiro Essencial ambíguo, listar plano e aguardar OK do utilizador.
315+
4. **Respeitar `.gitignore`** — não versionar segredos (`.env`, credenciais); artefactos já ignorados podem ser apagados localmente mas não entram no commit.
316+
5. **Atualizar README** — remover referências a docs eliminados; manter links válidos.
317+
6. **Não fazer commit** salvo pedido explícito do utilizador.
318+
319+
### Comandos KernelBot (validação mínima)
320+
321+
```bash
322+
# Backend
323+
PYTHONPATH=. pytest tests/ -q
324+
325+
# Servidor local
326+
python main.py # :8001
327+
328+
# Smoke frontend
329+
python3 bin/validate-frontend.py
330+
```
331+
332+
Browser E2E pós-limpeza: MCP Puppeteer em 1920×1080 — ver [validation-protocol.md](references/validation-protocol.md).
333+
334+
### Handoff
335+
336+
- **Antes desta skill:** implementação e QA concluídos.
337+
- **Depois desta skill:** repo pronto para tag/release/PR de publicação; utilizador decide commit e push.

0 commit comments

Comments
 (0)