Test 05dca72ef3 feat: handle git divergence, conflicts, and manual pull from within Laputa
When push is rejected due to remote having newer commits, the bottom bar
now shows "Pull required" (orange). Clicking it pulls then auto-pushes.
Conflicted notes show an inline banner with "Keep mine" / "Keep theirs"
buttons. A new "Pull from Remote" command is available in Cmd+K and the
Vault menu. Clicking the sync badge opens a popup showing branch name,
ahead/behind counts, and a Pull button.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:51:06 +01:00
2026-02-16 14:26:36 +01:00
2026-02-16 16:56:44 +01:00
2026-02-16 16:56:44 +01:00

Laputa App

Personal knowledge and life management desktop app built with Tauri v2 + React + TypeScript + BlockNote.

Documentation

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.

Description
Desktop app to manage markdown knowledge bases
Readme AGPL-3.0 107 MiB
Languages
TypeScript 70.4%
JavaScript 13.7%
Rust 13.7%
Python 1%
CSS 0.6%
Other 0.5%