Zero-friction note taking for developers who live in the terminal
Built with π¦ Rust for maximum speed and reliability.
As developers, we live in the terminal. But capturing quick thoughts meant:
- Opening Notion (slow, context switch)
- Finding a text editor (where did I save that file?)
- Using pen and paper (gets lost immediately)
ezNote solves this: One command, instant capture, never lose a thought again.
ezn add "Fix authentication bug in prod" --tag urgent --priority highDone. Back to coding in milliseconds.
- Lightning Fast - Sub-10ms startup, instant note capture
- Zero Dependencies - Single binary, no Rust toolchain needed
- Full-Text Search - Find notes instantly with SQLite FTS5
- Smart Organization - Tags and priorities for easy filtering
- Statistics - Track your note-taking habits
- Local-First - Your data stays on your machine, forever
- Beautiful UI - Colored output, clean terminal interface
- Cross-Platform - Works on macOS (Intel + ARM), Linux, Windows
brew tap amritesh/eznote
brew install eznotecurl -fsSL https://raw.githubusercontent.com/amritesh/eznote/main/install.sh | bashcargo install eznoteDownload the latest binary for your platform from Releases:
macOS:
# Download ezn-macos-aarch64 (M1/M2) or ezn-macos-x86_64 (Intel)
chmod +x ezn-*
sudo mv ezn-* /usr/local/bin/eznLinux:
# Download ezn-linux-x86_64 or ezn-linux-aarch64
chmod +x ezn-*
sudo mv ezn-* /usr/local/bin/eznWindows:
# Download ezn-windows-x86_64.exe
# Rename to ezn.exe and add to PATH# Add your first note
ezn add "My first note with ezNote!"
# Add a note with tags and priority
ezn add "Review architecture docs" --tag work --priority high
# List recent notes
ezn list
# Search your notes
ezn search "architecture"
# See today's activity
ezn today
# View statistics
ezn stats| Command | Description | Example |
|---|---|---|
add <text> |
Create a new note | ezn add "Deploy to production" --tag devops --priority urgent |
list |
Show recent notes | ezn list --today --tag work --limit 10 |
search <query> |
Full-text search | ezn search "authentication bug" |
show <id> |
Display note details | ezn show 5 |
delete <id> |
Remove a note | ezn delete 5 or ezn delete 5 --force |
today |
Show today's notes | ezn today |
stats |
Show statistics | ezn stats |
add options:
--tag <tag>or-t <tag>- Add tags (can specify multiple times)--priority <level>or-p <level>- Set priority:low,medium,high,urgent
list options:
--today- Show only today's notes--tag <tag>or-t <tag>- Filter by specific tag--limit <n>or-l <n>- Limit results (default: 20)
delete options:
--forceor-f- Skip confirmation prompt
# Morning standup
ezn add "Today: Auth bug, PR reviews, staging deploy" --tag standup
# Quick bug tracking during coding
ezn add "Safari login fails - check CORS headers" --tag bug --priority urgent
# Meeting notes
ezn add "Architecture sync: moving to microservices Q2" --tag meeting
# End of day review
ezn today# Capture tasks as they come
ezn add "Setup CI/CD for new service" --tag todo --priority high
ezn add "Update API documentation" --tag todo --priority medium
ezn add "Review security audit report" --tag todo --priority urgent
# Filter and manage
ezn list --tag todo
ezn search "CI/CD"# Capture learning moments
ezn add "Rust ownership: each value has exactly one owner" --tag learning
# Save research references
ezn add "Check paper: 'Attention Is All You Need' for transformer architecture" --tag research
# Quick retrieval
ezn search "transformer"
ezn list --tag learning# Technical interview prep
ezn add "Binary search: O(log n), requires sorted array" --tag interview
# Startup ideas
ezn add "App idea: AI-powered commit message generator" --tag ideas --priority high
# Later review
ezn list --tag interview
ezn list --tag ideasBenchmarked on MacBook Pro M2:
- Startup time: <10ms (cold start)
- Add note: <5ms
- Search 10,000 notes: <50ms
- List operations: <20ms
- Binary size: ~3-5MB
- Memory usage: <10MB
Your notes are stored locally in a single SQLite database:
- macOS:
~/Library/Application Support/eznote/notes.db - Linux:
~/.local/share/eznote/notes.db - Windows:
%APPDATA%\eznote\notes.db
Benefits:
- Easy to backup (single file)
- Sync with any cloud storage (Dropbox, iCloud, Google Drive)
- Query directly with SQLite tools
- Export and migrate easily
- No vendor lock-in
Prerequisites:
- Rust 1.70+ (install from rustup.rs)
Build:
git clone https://github.com/amritesh/eznote.git
cd eznote
cargo build --release
sudo cp target/release/ezn /usr/local/bin/Development Mode:
cargo run -- add "Test note"
cargo run -- listeznote/
βββ src/
β βββ main.rs # Entry point
β βββ cli/ # CLI commands and output
β βββ db/ # Database connection and schema
β βββ models/ # Data models (Note, Tag, Priority)
β βββ services/ # Business logic (CRUD, search)
β βββ utils/ # Helper functions
βββ Cargo.toml # Dependencies
βββ README.md
- Core note-taking functionality
- Tags and priorities
- Full-text search with SQLite FTS5
- Statistics and analytics
- Homebrew distribution
- Cross-platform binaries (macOS, Linux, Windows)
- Beautiful colored terminal UI
- Edit notes in $EDITOR
- Archive/unarchive notes
- Export to Markdown, JSON, CSV
- Git context detection (auto-tag by repo/branch)
- Sync notes across devices
- Import from other note-taking tools
- Web UI for browsing notes
- Mobile companion app
- AI-powered suggestions and categorization
- Team collaboration features
- Plugin system for extensibility
- Integration with Obsidian, Notion, etc.
Contributions are welcome! Whether it's:
- Bug reports
- Feature requests
- Documentation improvements
- Code contributions
How to contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read CONTRIBUTING.md for details.
This project is licensed under the MIT License - see the LICENSE file for details.
- Found a bug? Open an issue
- Feature request? Open an issue
- Questions? Start a discussion
- Like ezNote? Give us a star on GitHub!
Built with amazing open-source tools:
- Rust - Systems programming language
- Clap - Command line argument parser
- SQLite - Embedded database
- Colored - Terminal colors
Special thanks to the Rust community for excellent documentation and support.
Built with β€οΈ by Amritesh Anand
If ezNote helps you stay organized, please β star the repo!
Made with Rust π¦ | Powered by Coffee β