# Development — Pendências

> Registro vivo do que ficou pra próximas etapas da área de desenvolvimento.
> **Nada aqui pode se perder** — cada item vira task quando for tratado.

**Última atualização:** 2026-04-17
**Responsável:** Leonardo (user) · **Implementação:** Claude (dev sessions)

---

## ✅ Entregue até agora

### Parte A — Banco + estrutura (2026-04-17)
- [x] Pasta `development/` criada com estrutura hierárquica (`01-visao-geral`…`05-database`)
- [x] 6 arquivos `.md`/`.txt`/`.html` movidos da raiz pra subpastas temáticas
- [x] `development/README.md` de navegação
- [x] Migration `20260417000001_dev_tables.sql` aplicada com 8 tabelas (`dev_*`) + RLS via `is_saas_admin()`
- [x] 3 seeds executados:
  - `seed_030_dev_phases_items.sql` → 3 fases + 48 items
  - `seed_031_dev_auditoria.sql` → 14 bugs/débitos (12 resolvidos + 2 abertos)
  - `seed_032_dev_competitors.sql` → 7 concorrentes + 74 features + 60 linhas de matriz

### Parte B — UI read-only (2026-04-17)
- [x] Rota `/saas/desenvolvimento` registrada em `routes.saas.js`
- [x] Item de menu "Desenvolvimento > Área de Dev" em `saas.menu.js`
- [x] `SaasDevelopmentPage.vue` com TabView de 7 abas
- [x] 7 sub-componentes (read-only):
  - `DevOverviewTab.vue` — stats + progresso das fases + últimas gerações
  - `DevRoadmapTab.vue` — fases, items, filtros por status/prioridade/bloco
  - `DevEstruturaTab.vue` — ESTRUTURA.md embutido + iframe do mapa-sistema.html
  - `DevAuditoriaTab.vue` — bugs/débitos expansíveis, filtros por status/severidade
  - `DevCompetitorsTab.vue` — concorrentes + features agrupadas por categoria + matriz de gaps
  - `DevDatabaseTab.vue` — comandos do db.cjs com copy-to-clipboard + log de execuções
  - `DevExportTab.vue` — stubs de "Gerar ROADMAP.md/AUDITORIA.md/concorrentes.md/ESTRUTURA.md" (desabilitados, mensagem "Pendente — Parte C")

---

## 🔨 Parte C — Edição + integração CLI

### C.1 Edição inline na UI ✅ **CONCLUÍDA (2026-04-17)**

Banco agora é source-of-truth. Implementado:

**Infra reutilizável:**
- [x] `components/DevDrawer.vue` — drawer lateral com footer (save/cancel/delete)
- [x] `components/DevField.vue` — wrapper de label/input padronizado
- [x] `composables/useDraggableList.js` — drag-drop HTML5 nativo (sem deps)
- [x] Migration `20260417000002_dev_tables_ordem.sql` — coluna `ordem` em `dev_auditoria_items` e `dev_competitor_features`

**Roadmap (`DevRoadmapTab.vue`)**
- [x] Drawer pra editar item (todos os campos)
- [x] Drag & drop pra reordenar items dentro de um bloco (via `BlocoItems.vue`)
- [x] Mover item entre fases (via select no drawer)
- [x] Criar novo item
- [x] Excluir item (com confirm)
- [x] Criar nova fase (botão "+" no seletor)
- [x] Editar fase (nome, objetivo, timeline, status, datas)
- [x] Excluir fase (cascade nos items)

**Auditoria (`DevAuditoriaTab.vue`)**
- [x] Drawer com todos os campos (título, categoria, severidade, status, problema, solução, arquivo, tags, datas)
- [x] Criar/editar/excluir
- [x] Drag-reorder (desativado quando filtro ativo)

**Concorrentes (`DevCompetitorsTab.vue`)**
- [x] CRUD de concorrente (slug, nome, país, foco, pricing, posicionamento, url, notas, ativo)
- [x] CRUD de feature por concorrente (categoria, nome, descrição, fonte, url, destaque)
- [x] CRUD de linha da matriz (domínio, feature, status, nota, importância)
- [x] **Edição inline de status na matriz** (dropdown colorido)

**Pendências menores que ficaram:**
- [ ] Drag-reorder no overview das fases
- [ ] Drag-reorder na matriz de comparação
- [ ] Drag-reorder nas features dentro de um concorrente
- [ ] Drag-reorder do topo da lista de concorrentes
- [ ] Autosave nos drawers (hoje é "clique em Salvar")
- [ ] Undo recente
- [ ] Keyboard shortcuts (`/` busca, `n` novo, `Esc` fecha)
- [ ] Mudança rápida de status direto no badge do card (sem abrir drawer)
- [ ] Marcar fase como concluída automaticamente quando 100% items concluídos
- [ ] Quick filters no overview (só bloqueadores, só Fase 1, etc.)

### C.2 Integração CLI local (opcional — usuário disse "copy-to-clipboard por ora")

Hoje todos os comandos do `DevDatabaseTab.vue` são copy-to-clipboard. Na próxima onda (se for quiser):

- [ ] Pequeno server Node em `development/cli-server/server.cjs`
  - Escuta em `127.0.0.1:3456` (localhost-only)
  - Whitelist de comandos: `backup`, `dashboard`, `schema-export`, `status`, `verify`, `migrate`, `seed`, `diff`
  - Endpoints: `POST /run/:cmd` com SSE pra streaming do stdout
  - Escreve em `dev_generation_log` o resultado
- [ ] Script `npm run dev:cli` pra iniciar o server
- [ ] Indicador na UI (verde/vermelho) mostrando se server está online
- [ ] Botões "Executar agora" ao lado de cada comando (alternativo ao copy)

### C.3 Export banco → .md (botões da aba "Exportar")

- [ ] Edge Function `generate-roadmap-md` que lê `dev_roadmap_phases` + `dev_roadmap_items` e retorna markdown
- [ ] Edge Function `generate-auditoria-md` análogo
- [ ] Edge Function `generate-concorrentes-md` análogo
- [ ] Na UI: botão clica → fetch da edge function → `<a download>` do resultado
- [ ] OU: endpoint no CLI server escreve direto em `development/04-roadmap/ROADMAP.md` (se CLI server existir)
- [ ] Versionar os arquivos gerados no git (script "publish": gera tudo + `git add development/`)

### C.4 Pesquisa automática de concorrentes

O usuário **disse "não sei"** sobre essa feature. Quando for decidir:

- [ ] Edge Function `fetch-competitor-page` — recebe URL, faz `fetch()` do HTML, retorna raw
- [ ] UI: botão "Pesquisar este concorrente" abre modal com:
  - Input de URL
  - Preview do HTML capturado
  - Campo de texto livre pra colar observações
  - Opção: "extrair com IA" (chama Anthropic API com system prompt pra listar features)
- [ ] Features extraídas entram numa fila de revisão (usuário aprova → salva em `dev_competitor_features`)
- [ ] Histórico: `dev_competitor_features` ganha campos `aprovado_em`, `aprovado_por`, `revisao_status`

### C.5 Melhorias secundárias

- [ ] **Autosave** nos drawers de edição (debounce 1s)
- [ ] **Toast de feedback** em toda mutação
- [ ] **Undo recente** (Ctrl+Z nos últimos 5 minutos via revision log)
- [ ] **Keyboard shortcuts** — `/` foca busca, `n` novo item, `Esc` fecha drawer
- [ ] **Dark mode** — se o app tem, garantir compatibilidade (surface tokens estão OK mas validar)
- [ ] **Responsividade mobile** — tabs scroll horizontal já tratado, mas drawers precisam virar modals full-screen em mobile
- [ ] **Paginação/virtualização** nas listas grandes (quando matriz passar de 100 linhas)

---

## 📋 Itens órfãos / decisões estratégicas

### Decisões **abertas** (do `ROADMAP.md`)
Repetidas aqui pra não perder:

1. **Pricing** — R$ 59, R$ 99 ou R$ 149 solo? Afeta quanto tempo você tem pra Fase 2.
2. **Tier clínica** — existe desde o MVP ou só na Fase 3? Afeta TISS (item 32) e multi-unidade (42).
3. **Gateway de pagamento** — Asaas (barato) vs Iugu (melhor DX)? Escolher agora.
4. **IA própria ou terceirizada?** — Claude/OpenAI via API (rápido, custo variável) vs open-source local (lento, custo fixo)? Recomendo API pra começar.
5. **Foco da Fase 3** — IA-first, teleconsulta-first ou enterprise-first? Capacity só dá pra uma aposta no primeiro semestre.
6. **Data de lançamento MVP** — se meta é 2026-06-01, Fase 1 termina mid-maio.

### Itens técnicos **abertos** do `AUDITORIA.md`
Ainda não resolvidos (já no banco como `dev_auditoria_items` com status `aberto` / `em_analise`):

- `window.__guardsBound / window.__supabaseAuthListenerBound` — flags globais no window (anti-pattern)
- Arquivos obsoletos no projeto (cleanup parcial — a finalizar)

---

## 🎯 Ordem sugerida pra Parte C

Se quiser atacar **agora**:

1. **C.1 roadmap** — drawer de edição (mais valor imediato — marcar items concluídos)
2. **C.1 auditoria** — mesmo padrão do roadmap
3. **C.3 export** — ROADMAP.md e AUDITORIA.md (para versionar o que você editou)
4. **C.1 concorrentes** — edição completa
5. **C.2 CLI server** — quando cansar de copy-paste
6. **C.4 pesquisa auto** — se decidir que vale

---

## 📁 Referências

- Migração: `database-novo/migrations/20260417000001_dev_tables.sql`
- Seeds: `database-novo/seeds/seed_030_dev_phases_items.sql`, `seed_031_dev_auditoria.sql`, `seed_032_dev_competitors.sql`
- Frontend: `src/views/pages/saas/development/`
- Rota: `src/router/routes.saas.js` (path `desenvolvimento`)
- Menu: `src/navigation/menus/saas.menu.js` (grupo "Desenvolvimento")
- Docs fonte: `development/04-roadmap/ROADMAP.md` · `development/02-auditoria/AUDITORIA.md` · `development/03-concorrentes/concorrentes.md`
