Skip to content

feat: Phase 1 — CoderKeys MVP (engine, UI, content, CI) - #2

Merged
iagommendes merged 5 commits into
mainfrom
cursor/phase1-foundation-8eb5
Jun 29, 2026
Merged

iagommendes merged 5 commits into
mainfrom
cursor/phase1-foundation-8eb5

Conversation

@iagommendes

Copy link
Copy Markdown
Owner

Resumo

Implementação completa da Fase 1 (MVP) do CoderKeys conforme o plano de arquitetura aprovado.

O que foi entregue

Monorepo

  • pnpm workspaces: apps/web, packages/engine, packages/schemas
  • CI via GitHub Actions (typecheck, test, validate-content, check-i18n, build)

Typing Engine (packages/engine)

  • Máquina de estados: idle → ready → active → paused → complete
  • WPM (janela deslizante + final), precisão, AWPM
  • Modo strict (erro bloqueia progresso)
  • 15 testes unitários passando

Schemas (packages/schemas)

  • Zod schemas para lições, manifest e resultados de sessão

Aplicação Web (apps/web)

  • React 19 + Vite 8 + Tailwind 4 + React Router 7
  • Catálogo de trilhas → módulos → lições
  • Tela de digitação com feedback caractere a caractere
  • Resultados ao completar lição
  • Configurações (idioma UI, idioma do conteúdo, modo strict)
  • i18n completo: en-US e pt-BR
  • Persistência local via Dexie/IndexedDB

Conteúdo (content/)

  • 20 lições seed (5 por trilha/idioma)
  • Tracks: programmers e technical-writers
  • Script pnpm validate-content para validação em CI

Como testar

pnpm install
pnpm dev        # http://localhost:5173
pnpm test
pnpm build

Critério de conclusão da Fase 1

✅ Clonar → pnpm dev → completar lição → fechar navegador → reabrir → progresso salvo no IndexedDB

Próximos passos (Fase 2)

  • Dashboard com gráficos de evolução
  • Heatmap de erros por tecla
  • Modo translation na UI
  • PWA offline + export/import de progresso
Open in Web Open in Cursor 

cursoragent and others added 2 commits June 29, 2026 18:36
Documento detalhado de planejamento pré-implementação cobrindo:
- Arquitetura local-first com IndexedDB/Dexie
- Stack Vite + React + TypeScript + Tailwind
- Estrutura de diretórios engine vs conteúdo
- Schemas JSON para lições contribuíveis
- Roadmap em 3 fases (MVP, experiência, comunidade)

Co-authored-by: Iago Mendes <iagommendes@gmail.com>
- Monorepo with pnpm workspaces (apps/web, packages/engine, packages/schemas)
- Typing engine with WPM, accuracy, session state machine and 15 unit tests
- Zod schemas for lessons, manifest and session results
- React SPA with catalog, lesson flow, settings and i18n (en-US, pt-BR)
- Dexie/IndexedDB persistence for progress and settings
- 20 seed lessons across programmers and technical-writers tracks
- Content validation script, i18n parity check and GitHub Actions CI

Co-authored-by: Iago Mendes <iagommendes@gmail.com>
@iagommendes
iagommendes marked this pull request as ready for review June 29, 2026 18:49
iagommendes and others added 3 commits June 29, 2026 15:49
pnpm/action-setup@v4 reads the version from packageManager in package.json.
Specifying version: 9 in the workflow caused ERR_PNPM_BAD_PM_VERSION when
combined with packageManager: pnpm@9.15.9.

Co-authored-by: Iago Mendes <iagommendes@gmail.com>
Fresh CI clones have no dist/ for @coderkeys/engine and @coderkeys/schemas,
causing tsc in apps/web to fail. Build packages first and add tsconfig paths
as fallback for local development without a prior build.

Co-authored-by: Iago Mendes <iagommendes@gmail.com>
@iagommendes
iagommendes merged commit 356df87 into main Jun 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants