94 lines
1.8 KiB
Markdown
94 lines
1.8 KiB
Markdown
# Laputa App
|
|
|
|
Personal knowledge and life management desktop app built with Tauri v2 + React + TypeScript + BlockNote.
|
|
|
|
## Documentation
|
|
|
|
- 📐 [ARCHITECTURE.md](docs/ARCHITECTURE.md) — System design, tech stack, data flow
|
|
- 🧩 [ABSTRACTIONS.md](docs/ABSTRACTIONS.md) — Core abstractions and models
|
|
- 🚀 [GETTING-STARTED.md](docs/GETTING-STARTED.md) — How to navigate the codebase
|
|
- 🎨 [THEMING.md](docs/THEMING.md) — Theme system and customization
|
|
|
|
## Quick Start
|
|
|
|
### Prerequisites
|
|
|
|
- Node.js 20+
|
|
- pnpm 8+
|
|
- Rust (latest stable)
|
|
- macOS (for development)
|
|
|
|
### Setup
|
|
|
|
```bash
|
|
# Install dependencies
|
|
pnpm install
|
|
|
|
# Run dev server
|
|
pnpm dev
|
|
|
|
# Open in browser (mock mode)
|
|
open http://localhost:5173
|
|
|
|
# Or run in Tauri
|
|
pnpm tauri dev
|
|
```
|
|
|
|
### Testing
|
|
|
|
```bash
|
|
# Frontend tests
|
|
pnpm test
|
|
|
|
# Backend tests
|
|
cargo test
|
|
|
|
# Coverage
|
|
pnpm test:coverage
|
|
|
|
# E2E tests
|
|
pnpm test:e2e
|
|
```
|
|
|
|
### Code Quality
|
|
|
|
```bash
|
|
# Lint
|
|
pnpm lint
|
|
|
|
# Rust checks
|
|
cargo clippy
|
|
cargo fmt --check
|
|
|
|
# CodeScene (via Claude Code)
|
|
claude 'Check code health with CodeScene MCP'
|
|
```
|
|
|
|
## Development Workflow
|
|
|
|
See [AGENTS.md](AGENTS.md) for coding guidelines and workflow. [CLAUDE.md](CLAUDE.md) remains as a compatibility shim for Claude Code.
|
|
|
|
**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 to `main`:
|
|
- ✅ Tests (frontend + Rust)
|
|
- 📊 Coverage (70% threshold)
|
|
- 🎨 Lint & format
|
|
- ⚠️ Documentation check
|
|
|
|
See [.github/SETUP.md](.github/SETUP.md) for CI/CD configuration.
|
|
|
|
## Git Hooks
|
|
|
|
Husky installs the git hooks from `.husky/` during `pnpm install`. The repo enforces `main`-only commits and pushes; see [.github/HOOKS.md](.github/HOOKS.md) for details.
|
|
|
|
## License
|
|
|
|
Private repository — not licensed for public use.
|