Migração do legado Python/Tkinter para Node.js + Vite + React + Tailwind + Zustand. Roadmap ativo de evolução: X10 ClipVault Library (Local-first Pro).
- Frontend: Vite, React, Tailwind CSS, Zustand
- Backend: Node.js, Express, SQLite (
better-sqlite3) - Clipboard:
clipboardy - Testes: Vitest com cobertura mínima de 60% no Core
src/core: contratos e regras de negócio purassrc/store: estado global com Zustandsrc/ui: componentes React granularesserver: API Node e adapters (db/clipboard/export)DEV-Incremental.md: contratos e descrição incremental
- Copie
.env.examplepara.env. - Instale dependências:
npm install
- Ambiente de desenvolvimento:
npm run dev
- Testes + cobertura:
npm test
- Runtime prepara automaticamente os diretórios de
CLIPVAULT_DB_PATHeCLIPVAULT_EXPORT_DIR. - Variáveis inválidas em
.envusam fallback seguro com aviso no console. - API aplica limite de payload via
CLIPVAULT_BODY_LIMIT_KBe emite logs estruturados JSON. - Verificação completa local:
npm run check
- Pipeline definido em
.github/workflows/ci.yml. - Fluxo do CI:
npm ci+npm run check.
- Versão atual:
1.0.0. - Changelog:
CHANGELOG.md. - Guia operacional:
OPERATIONS.md. - Checklist de integração:
INTEGRATION_CHECKLIST.md. - Roadmap X10:
ROADMAP.md. - Backlog X10:
BACKLOG.md. - Playbook X10:
X10_PLAYBOOK.md.
- Erro
Failed to fetch: o frontend nao conseguiu conectar na API. - Inicie os dois processos com
npm run dev(ou apenas API comnpm run dev:api). - Se usar porta diferente, ajuste
VITE_API_BASE_URLno.env.
O legado Python permanece em main.py e ui/index.html para referência de paridade funcional durante a transição.