Open source
MIT, all of it
The app, the AI proxy and this website are in one repository. Nothing about how your notes are stored or what leaves your machine is hidden behind a service you cannot read.
Layout
| Directory | What is in it |
|---|---|
app/src | React front end. Every Tauri command is wrapped in one file, api.ts. |
app/src-tauri/src | The Rust core: vault, note parsing, search index, splitting, project linking, file watching. |
worker/ | The Cloudflare Worker that holds the AI provider key and enforces the limits. |
site/ | This website. Astro, static output. |
Building
Requires Node.js, Rust, and the Tauri prerequisites for your platform.
cd app && npm install && npm run tauri dev Tests
The Rust core and the Worker both have suites, and both are expected to stay green.
cd app/src-tauri && cargo test cd worker && npm test The Worker suite stubs the network, so it needs no API key and makes no outbound request.
Contributing
- Match the surrounding code. Comments explain why, not what.
- Keep the diff to the change. Unrelated cleanups are their own commit.
- Cover behaviour that could regress silently — especially anything that writes to a user's files.
- Do not add a dependency without saying what it buys.
The single hardest constraint in this project: a note's on-disk form is a contract. Two
programs will eventually be writing these files. Changing how frontmatter or filenames are
produced is never a small change.