Zen
Live Demo •
Features •
Updates

### Features
* Single Go binary or Docker Compose
* Low resource usage
* Standard Markdown files, local SQLite database
* Organize with flexible tags, not rigid folders
* Markdown features like tables, code blocks, task lists, highlights, and more
* Full-text search with BM25 ranking
* Import and export data with full portability
* Templates
* Pinned notes
* Archive and soft delete notes
* Bulk archive and delete
* Version history
* Internal note links with side panel preview
* Minimal dependency footprint
* Automated backups (via [Zen Backup](https://github.com/sheshbabu/zen-backup))
* Import from other services (via [Zen Import](https://github.com/sheshbabu/zen-import))
### Experimental Features
* Canvas for spatial organization of notes and images (stored as [JSON Canvas](https://jsoncanvas.org/docs/apps/))
* Semantic search for notes and images (via [Zen Intelligence](https://github.com/sheshbabu/zen-intelligence))
* Similar images (via [Zen Intelligence](https://github.com/sheshbabu/zen-intelligence))
* MCP for searching, listing and reading notes
### Installation
Build from source
```shell
$ make build
```
### Local Development
Run the application using default configuration
```shell
$ make dev
```
Run the application in watch mode
Install [air](https://github.com/air-verse/air) and [esbuild](https://esbuild.github.io)
```shell
$ go install github.com/air-verse/air@latest
$ go install github.com/evanw/esbuild/cmd/esbuild@latest
```
```shell
$ make watch
```
### Schema Migrations
* Create new migration file under `./migrations`
* Use the format `_.sql`
### Image Versioning
```bash
$ git tag x.y.z
$ git push origin x.y.z
```
### Contributions
This is a personal project built for my own use. The codebase is available for forking and modifications. Note that I may not actively review pull requests or respond to issues due to time constraints.
### Thanks
* [go-sqlite3](https://github.com/mattn/go-sqlite3)
* [Standalone Preact Builder](https://standalonepreact.satge.net)
* [markdown-it](https://markdown-it.github.io)
* [highlight.js](https://highlightjs.org)
* [Lucide Icons](https://lucide.dev)
* [CSS Reset](https://www.joshwcomeau.com/css/custom-css-reset/)
* [Konva.js](https://konvajs.org)