Packaging is ported from the Craft family (effectcraft): DMG built and smoke-tested on macOS aarch64, MSI/deb/rpm scripts adapted, thin release.yml and packaging-lint.yml callers. rfd 0.17 added (native folder dialog; same version the other Craft apps use). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
3.1 KiB
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.







