lightcraft

Installation
SKILL.md

LightCraft

Overview

LightCraft is a clean-room, open-source photo library and non-destructive raw developer — a reimplementation of Adobe Lightroom (Classic-style modules) written from scratch in pure Rust (README.md:21, docs/architecture.md). It is a native desktop app for macOS/Windows/Linux (plus a WebAssembly browser build) built as an engine-first Cargo workspace of ~24 crates with enforced layering (docs/architecture.md:Layers; cargo xtask layers). Source: https://github.com/storytold/lightcraft (org storytold), dual-licensed MIT OR Apache-2.0 (Cargo.toml:8). Maturity: alpha — the repo measures ~81% of Lightroom's feature checklist but only ~61% "ready for real work"; the honest gaps are quality and coverage, not missing buttons (ROADMAP.md:3,11-21). The installed app on the authoring Mac is 0.7.1, while repo HEAD is 0.8.0 — verify against your installed version (see Verification protocol).

Capabilities (verified)

Library and catalog (implemented)

  • Photos live in a library folder (default ~/Pictures/LightCraft Library) whose catalog is an append-only, crash-safe journal: catalog.snap (JSON snapshot) + catalog.log (JSON lines of operations), compacted in the background, guarded by catalog.lock — one program at a time (crates/catalog/src/journal.rs:1-30; crates/engine/src/library.rs:1-15,50-56; docs/mcp.md:19-22).
  • Albums, folders, smart albums, stacks (incl. auto-stack), virtual copies, versions/history, ratings 0–5, pick/reject flags, color labels, keywords, search with fields (rating:>3 flag:pick iso:>800 camera:x2 date:2026-04 keyword:mountains), sort, justified/square grids (README.md:204-220; crates/engine/src/cmd/library.rs, organize.rs, keywords.rs).
  • Trash is Recently Deleted; deleting does not remove originals until emptied (crates/engine/src/cmd/library.rs:780,791; docs/parity-checklist.md).

Import (implemented)

  • Import modes: reference in place, copy into the library's Originals/, or move; duplicate detection (content hash), rename/folder templates, watched folders (README.md:337; crates/engine/src/import.rs:48-76).
  • Importable extensions (crates/engine/src/import.rs:36-45): jpg jpeg png tif tiff webp dng cr2 cr3 nef nrw arw raf orf rw2 rwl raw pef srw psd jxl gif bmp heic heif avif iiq crw mrw x3f kdc mos erf 3fr fff — note some open as embedded previews only, and AVIF/heic-without-feature report a clear failure (see Limitations).
  • Lightroom Classic .lrcat import: library.importLightroom {path} (also library.inspectLightroom), pure-Rust read-only SQLite incl. committed -wal pages; ratings, flags, labels, keywords, collections, virtual copies and mapped develop settings; one-way by design, best-effort recovery archives in Interop/ (crates/engine/src/cmd/library.rs:1363; docs/lightroom-catalog-import.md).
Installs
1
GitHub Stars
31
First Seen
9 days ago