7db396618e
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>
53 lines
3.1 KiB
Markdown
53 lines
3.1 KiB
Markdown
# 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](ROADMAP.md) for what is done and [SPEC.md](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
|
|
|
|
```sh
|
|
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):
|
|
|
|
```sh
|
|
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](packaging/README.md). `notescraft` with no argument reopens the last vault, or asks for a folder.
|
|
|
|
## Develop
|
|
|
|
```sh
|
|
cargo xtask ci # fmt --check, clippy -D warnings, tests, layer check
|
|
cargo xtask layers # crate dependency layering only
|
|
```
|
|
|
|
Read [AGENTS.md](AGENTS.md) first (rules for people and AI agents), then [docs/ARCHITECTURE.md](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](ATTRIBUTION.md).
|