e486e863ce77d8abce6b10db06cfef8caca75a44
Previously, clicking a suggested property slot (Status, Date, URL) would add an empty property to frontmatter but fail to open the editor. This was due to a race condition where: 1. handleSuggestedAdd() called onAddProperty() which is async 2. The useEffect tried to detect when the property appeared in frontmatter 3. But frontmatter updates asynchronously after onAddProperty resolves 4. By the time frontmatter is updated, the useEffect had already run The fix is to directly set the editing key immediately when clicking a suggested slot, rather than relying on the useEffect to detect the property being added. This is more reliable because we know we're adding the property - we don't need to wait for it to appear in frontmatter.
docs: add/update ADRs for H1-as-title and Trash removal (guard — from commits
377a3f8d, 7daf6898, e581ad36)
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%