Commit Graph

31 Commits

Author SHA1 Message Date
Test
efb233b18f feat: add Playwright smoke test infrastructure for task-scoped QA
Adds headless Chromium smoke tests that run before push, catching
UI/UX bugs before Brian QA. Includes shared helpers for command
palette and keyboard shortcut testing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 09:39:20 +01:00
Test
70f94d3a51 docs: add mandatory Playwright Phase 1 QA step before laputa-task-done
Claude Code must now run Playwright smoke tests against the dev server
before firing the done signal. This catches UI/UX bugs (missing Cmd+K
commands, broken shortcuts, layout issues) before Brian's native QA.

- Phase 1 (Playwright, headless) = Claude Code's responsibility
- Phase 2 (native Tauri, keyboard-only) = Brian's responsibility

Phase 1 covers: command palette entries, keyboard shortcuts, Tab
navigation, UI state changes. Phase 2 covers: file system, git, native
Tauri behaviors that can't run in the browser.
2026-03-06 08:36:01 +01:00
Test
41d43501a0 docs: never open PRs — push directly to main always 2026-03-02 12:03:31 +01:00
Test
bd7feb94e7 docs: add keyboard-first principle — every feature must be testable without mouse 2026-03-01 12:15:06 +01:00
Test
98314c5106 docs: require QA on pnpm tauri dev, not browser mode 2026-02-28 23:47:56 +01:00
lucaronin
baca6b1098 perf: optimize pre-push hook from ~12min to ~30s
- Add --no-clean to cargo llvm-cov for incremental builds (~5s vs ~8min)
- Skip Rust checks when no src-tauri/ files changed
- Merge redundant frontend test + coverage into single coverage step
- Reorder: fast lints (fmt, clippy) before slow coverage for quick feedback
- Add timing output and LAPUTA_FULL_COVERAGE=1 escape hatch

Expected: frontend-only push ~1 min, frontend+Rust ~2-3 min
2026-02-27 15:53:05 +01:00
lucaronin
35c5e0f2c3 ci: replace remote CI with local pre-push hook
All checks now run locally via .husky/pre-push before any push.
This eliminates GitHub Actions queue, runner saturation, and
'waiting for status' blocks entirely.

Hook runs: tsc, Vite build, frontend tests, frontend coverage (≥70%),
Rust coverage (≥85%), Clippy, rustfmt, CodeScene (≥9.2).

Claude Code is explicitly forbidden from using --no-verify (documented
in CLAUDE.md). Branch protection required status checks removed.
Remote CI kept as non-blocking safety net only.
2026-02-27 15:29:51 +01:00
lucaronin
72d21f6482 docs: update design workflow — light mode, frame layout, cleanup on merge 2026-02-25 22:04:23 +01:00
lucaronin
8911aad930 feat: raise CodeScene code health threshold to 9.2
The project currently scores ~9.33, so raising the CI gate from 8.45
to 9.2 prevents significant regressions while leaving headroom.
Updates both the CI workflow threshold and CLAUDE.md documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 15:06:24 +01:00
lucaronin
504bfa4907 refactor: rewrite CLAUDE.md (107 lines, critical rules first) + add pre-commit hook 2026-02-23 22:33:11 +01:00
lucaronin
da0a113eec docs: CI is a safety net, not discovery — enforce local checks before pushing 2026-02-23 22:27:11 +01:00
lucaronin
9ec46676f0 docs: no CI gate shortcuts — fix structural problems, not symptoms 2026-02-23 21:49:29 +01:00
lucaronin
4c7838522d docs: two-stage QA protocol — lockfile + native app on ~/Laputa 2026-02-23 21:33:41 +01:00
lucaronin
d6198e981b docs: strengthen QA requirements — native app on real vault mandatory for all tasks 2026-02-23 21:25:32 +01:00
lucaronin
d54c956082 docs: fix design file instructions — additive only, no cp ui-design.pen 2026-02-23 20:11:09 +01:00
lucaronin
8b994e7ccf docs: add macOS/Tauri gotchas and native QA workflow to CLAUDE.md 2026-02-23 08:11:03 +01:00
lucaronin
5b06391b01 docs: add never-develop-on-main rule + PR-based merge requirement 2026-02-22 10:19:33 +01:00
lucaronin
9008348066 docs: add new feature test rule and no coverage theater policy 2026-02-22 10:14:46 +01:00
lucaronin
e0788dcb0d docs: add test coverage checks to pre-commit workflow (vitest + cargo-llvm-cov) 2026-02-22 10:09:26 +01:00
lucaronin
8a468709f0 docs: enforce max 30min between commits to prevent work loss 2026-02-20 22:38:18 +01:00
lucaronin
cdc97bcf0e docs: update CLAUDE.md to reference docs/PROJECT-SPEC.md 2026-02-20 21:54:32 +01:00
lucaronin
e549684e71 fix: design file is ui-design.pen (in-repo) 2026-02-20 21:48:31 +01:00
lucaronin
ac061e2fc8 docs: add mandatory design file workflow to CLAUDE.md 2026-02-20 21:47:05 +01:00
lucaronin
ce615617fe docs: add product philosophy and PM decision-making principles to CLAUDE.md 2026-02-20 21:19:41 +01:00
lucaronin
c37c90f98e docs: add bug-to-test rule in CLAUDE.md 2026-02-17 21:37:58 +01:00
lucaronin
e7c4563200 feat: add comprehensive documentation and CI/CD pipeline
- Add docs/ with ARCHITECTURE, ABSTRACTIONS, GETTING-STARTED, THEMING
- Add GitHub Actions workflow with automated quality checks:
  • Tests (frontend + Rust)
  • Coverage (70% threshold)
  • Code Health (CodeScene delta analysis)
  • Documentation check (warning only)
  • Lint & Format (ESLint + Clippy + rustfmt)
- Configure coverage in vite.config.ts (v8 provider, 70% threshold)
- Add test:coverage script to package.json
- Install @vitest/coverage-v8
- Update CLAUDE.md with docs-update requirement
- Add CI/CD setup guides in .github/
2026-02-17 13:10:43 +01:00
lucaronin
7f047210e4 docs: enforce atomic commits in CLAUDE.md guidelines 2026-02-17 11:34:17 +01:00
lucaronin
e3dc38e58e Fix tauri.conf.json: remove invalid titleBarStyle overlay 2026-02-15 13:45:24 +01:00
lucaronin
463caf02ba Update CLAUDE.md with full project context and architecture notes 2026-02-14 19:01:53 +01:00
lucaronin
e72d66ae64 Add Tauri mock layer for browser testing and visual verification workflow 2026-02-14 18:54:27 +01:00
lucaronin
6b53cf8f50 Initialize Tauri v2 + React + TypeScript project with vault scanner
- Scaffold Vite + React + TypeScript frontend
- Add Tauri v2 backend with Rust
- Implement list_vault command: recursively scans .md files, parses
  YAML frontmatter (Is A, aliases, Belongs to, Related to, Status,
  Owner, Cadence), extracts title from H1 or filename
- 10 passing Rust tests for frontmatter parsing and vault scanning
- Configure Vitest and Playwright (test infrastructure)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 18:20:07 +01:00