Explorer: foldable calendar, hand-laid toolbar, no empty Bookmarks block, Move to... picker, folder notes, Trash tab. Menu bar as flat text, title bar drawn whole each frame. New Outline pane, scrolling Related tab, performance overlay (fps, frame time, memory, CPU), first-run UI scale from the desktop on Linux. Editor: Extract to a new note, Merge into..., reading mode, indent settings, table row/column controls, tags in notes searchable, search order and collapse, excluded search folders, user themes in the settings folder. Engine: note.extract, note.merge, trash.list/restore/empty. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
NotesCraft
A native, Obsidian-compatible notes app for the Craft suite, written in Rust (egui/eframe). Your vault is a folder of plain .md files that stay readable by Obsidian: wikilinks, embeds, callouts, tags, frontmatter, backlinks, full-text search, daily notes and templates, a graph view, canvas and whiteboard files, diagrams (Mermaid subset, including UML), a plugin host (WebAssembly), an MCP server and a CLI so agents can work on the vault.
Status: pre-alpha. The engine and most crates are built and tested; the desktop app opens a vault with a file tree, tabs, a read-only note view, backlinks and outline, a command palette and animations. See ROADMAP.md for what is done and SPEC.md for the contract.
Screenshots
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Regenerate with the offscreen renderer: cargo run -p notescraft-ui-egui --example snapshot -- --vault <vault> --out x.png --size 1440x900 --open "note.md" [--tab explorer|search|tags|buffers|source] [--theme id] [--vim] [--source] (set HOME to a scratch directory so the run does not touch your settings).
Try it
export PATH="$HOME/.cargo/bin:$PATH" # use rustup's stable toolchain (1.95 or newer)
cargo run -p notescraft -- /path/to/your/vault
Without a vault argument, set NOTESCRAFT_VAULT. Keys: Cmd/Ctrl+K command palette, Cmd/Ctrl+O quick switcher, Cmd/Ctrl +/-/0 zoom.
Render the UI to a PNG without a window (useful for design checks):
cargo run -p notescraft-ui-egui --example snapshot -- --vault /path/to/vault --out ui.png --size 1440x900 --open "folder/note.md"
Install
Release builds: packaging/macos/package.sh (DMG), packaging/windows/package.ps1 (MSI), packaging/linux/package.sh (deb, rpm, AppImage); see packaging/README.md. notescraft with no argument reopens the last vault, or asks for a folder.
Develop
cargo xtask ci # fmt --check, clippy -D warnings, tests, layer check
cargo xtask layers # crate dependency layering only
Read AGENTS.md first (rules for people and AI agents), then docs/ARCHITECTURE.md (crate map and APIs). The workspace follows PhotoCraft and VectorCraft conventions; shared crates come from craft-libs.
Design
The design lives in a PaperCraft project named NotesCraft (tokens for Catppuccin Mocha/Latte, workspace, graph, command palette, slash menu, settings, whiteboard, assistant panel, 4K screen). Rounded floating panels on a canvas colour, separated by tone, not borders.
Licence
MIT OR Apache-2.0 (LICENSE-MIT, LICENSE-APACHE). Fonts (Inter, JetBrains Mono: SIL OFL 1.1) and icons (Lucide: ISC) keep their own licences, see ATTRIBUTION.md.







