ff1f166ca6cd41cf64c895718a67b4e59a383ad7
Removed 18 test files (73 tests) that don't meet core E2E criteria: Pure cosmetic/UI-detail tests: - clickable-editor-empty-space (cursor:text CSS) - filter-pills-height (exact pixel height check) - properties-panel-style (label casing, font sizes, styling) - title-emoji-inline (flex layout, font size, alignment) - title-field-alignment (CSS variables, separator border) - type-icon-color-sidebar-label (icon color CSS variables) - migrate-to-flat-vault (title field styling, H1 CSS hiding) - image-drop-overlay-fix (drag overlay visibility) Duplicate/redundant coverage: - note-icon (fully duplicated by note-icon-emoji-picker) - note-icon-emoji-picker (granular emoji picker, not core flow) - emoji-icon-everywhere (emoji display locations) - split-notelist-god-component (stale refactor validation) - split-usenoteactions (stale refactor validation) - open-in-new-window (command existence check) - three-source-of-truth (covered by cache-invalidation-vault-open) - show-type-instances-inspector (inspector detail) - note-list-incomplete-relationships (complex async timing) - note-list-preview-snippet (snippet formatting detail) Suite: 195 → 122 tests, runtime: ~12.5m → ~9.6m (under 10m target) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
test: add asserting wikilink navigation E2E test — screenshot.spec.ts test had no expect() calls (#180)
Laputa App
Personal knowledge and life management desktop app built with Tauri v2 + React + TypeScript + BlockNote.
Documentation
- 📐 ARCHITECTURE.md — System design, tech stack, data flow
- 🧩 ABSTRACTIONS.md — Core abstractions and models
- 🚀 GETTING-STARTED.md — How to navigate the codebase
- 🎨 THEMING.md — Theme system and customization
Quick Start
Prerequisites
- Node.js 20+
- pnpm 8+
- Rust (latest stable)
- macOS (for development)
Setup
# Install dependencies
pnpm install
# Install git hooks (optional but recommended)
.github/hooks/install-hooks.sh
# Run dev server
pnpm dev
# Open in browser (mock mode)
open http://localhost:5173
# Or run in Tauri
pnpm tauri dev
Testing
# Frontend tests
pnpm test
# Backend tests
cargo test
# Coverage
pnpm test:coverage
# E2E tests
pnpm test:e2e
Code Quality
# Lint
pnpm lint
# Rust checks
cargo clippy
cargo fmt --check
# CodeScene (via Claude Code)
claude 'Check code health with CodeScene MCP'
Development Workflow
See CLAUDE.md for coding guidelines and workflow.
Key principles:
- Small, atomic commits
- Test as you go
- Visual verification mandatory
- Documentation updated with code changes
CI/CD
GitHub Actions runs on every push/PR:
- ✅ Tests (frontend + Rust)
- 📊 Coverage (70% threshold)
- 🎨 Lint & format
- ⚠️ Documentation check
See .github/SETUP.md for CI/CD configuration.
Git Hooks
Pre-commit hook checks code health before every commit. See .github/HOOKS.md for details.
License
Private repository — not licensed for public use.
Languages
TypeScript
70.4%
JavaScript
13.7%
Rust
13.7%
Python
1%
CSS
0.6%
Other
0.5%