No description
  • Vue 53.8%
  • PHP 23.4%
  • TypeScript 22.7%
  • CSS 0.1%
Find a file
Marcos ab95e2753b feat(ui): toolbar + status bar + 5 diálogos (Fase 1/2/3 mock UI)
UI completa dos fluxos de versão / remote / PR — todos os botões e
diálogos renderizam com dados mock (mockApi em src/lib/mock-data.ts).
Backend real (GitService, ForgejoService, AuthService) fica para
quando os blockers do servidor estiverem resolvidos.

Novos componentes:

- Toolbar.vue: barra superior do editor com "Salvar versão", "Histórico"
  (toggle do timeline), e — quando conectado a remote — chip do repo,
  "Buscar novidades", "Enviar", "Sugerir mudança". Ícones SVG inline.
  Quando não conectado, mostra "Conectar a um repositório".

- StatusBar.vue: rodapé azul VSCode-style com Linha:Coluna do cursor,
  linguagem detectada, encoding UTF-8, estado dirty/saving/saved e
  branch/repo conectado.

- SaveVersionDialog.vue: modal "O que você mudou?" com sugestão
  automática (ex.: "editei index.html") como placeholder.

- VersionTimeline.vue: painel lateral com bullets, hash truncado em mono,
  data relativa em pt_BR, botão "voltar para esta versão" (oculto até
  hover). Click no item dispara visualização do diff.

- DiffView.vue: modal full-bleed com diff lado a lado de cor verde/vermelho,
  estilo unified.

- ConnectRemoteDialog.vue: modal "Conectar a um repositório" recebendo URL.

- ProposeChangeDialog.vue: modal "Sugerir esta mudança" com título +
  body opcional, vocabulário humano (PR = "sugestão").

CodeEditor.vue: emite evento `cursor(line, col)` no updateListener do
CodeMirror para alimentar a StatusBar.

store/project.ts: estado de versions, currentDiff, showVersionTimeline,
remote, pushing/fetching/proposing, lastPushResult, lastProposal, cursor.
Actions saveVersion / loadVersions / loadDiff / restoreVersion /
connectRemote / disconnectRemote / push / fetch / proposeChange — todas
delegam ao mockApi que simula latência.

Toast (info) novo distinguindo erro vs. confirmação.

Suíte E2E (Fase 0) continua 7/7 verde em 2.6min — seletores estáveis.
2026-05-28 16:02:01 -03:00
.instructions chore: bootstrap inicial do projeto Khipu 2026-05-28 13:40:00 -03:00
app feat(ui): toolbar + status bar + 5 diálogos (Fase 1/2/3 mock UI) 2026-05-28 16:02:01 -03:00
docs test(e2e): suíte Playwright cobrindo aceitação da Fase 0 2026-05-28 15:09:33 -03:00
.gitignore test(e2e): suíte Playwright cobrindo aceitação da Fase 0 2026-05-28 15:09:33 -03:00
README.md chore: bootstrap inicial do projeto Khipu 2026-05-28 13:40:00 -03:00

Khipu

Editor de código com árvore de arquivos (estilo VSCode), pré-visualização ao vivo de HTML e versionamento Git acessível a leigos, integrado ao Forgejo.

App nativo do Nextcloud 33+.

O nome Khipu vem do sistema andino de cordões com nós usado para registrar e contar — metáfora direta de versionamento: a história gravada em fios e nós.

Status

Pré-Fase 0 — bootstrap em andamento. Veja .instructions/project.md (design doc completo).

Estrutura

.
├── .instructions/        Design docs e especificação técnica (project.md)
├── docs/                 Guias de setup e operação
├── app/                  (futuro) O app instalável: backend PHP + frontend Vue 3
└── scripts/              (futuro) build.sh, deploy.sh, smoke.sh

Dev local

Pré-requisitos: PHP 8.3 ou 8.4 (em Manjaro: php-legacy), Node ≥ 20, composer 2.x, git. Detalhes em docs/dev-setup.md (em breve).

Licença

AGPLv3 — coerente com o ecossistema Nextcloud e Forgejo.

Autoria

PopSolutions Cooperativa de Tecnologia.