Skip to content

Releases: brockers/note

Release v0.1.6

28 Jan 17:54

Choose a tag to compare

Release Notes

Version 0.1.6

Release Date: January 28, 2026

What's New

Features

  • Archive-aware tab completion: Tab completion now respects the -a flag for archive operations, improving workflow when working with archived notes (cded6fd)
  • --configure flag alias: Added --configure as an alias for --config flag for improved discoverability (e79f42a)
  • Automatic release notes generation: Release workflow now automatically generates categorized release notes from git commits (afccb59)

Bug Fixes

  • Setup file path validation: Setup now properly rejects file paths (vs directories) when prompting for notes directory, with clear user feedback (f829154)
  • Shell alias completion: Fixed tab completion for shell aliases n, nls, and nrm (762ac0d)

Refactoring

  • Centralized shell configuration: Implemented centralized shell configuration files for cleaner shell integration (104c405)

Documentation

  • Git workflow rules: Added git workflow rules to CLAUDE.md to prevent unauthorized staging (f3d9dac)
  • Related projects: Added related projects section to README with mark bookmark utility (0aa0f87)
  • v0.1.5 documentation: Added comprehensive documentation for v0.1.5 first official release (289e2df)

Test Coverage

  • 165+ automated tests across unit, integration, completion, and setup test suites
  • New tests for file path rejection during setup
  • Enhanced completion test infrastructure

๐ŸŽ‰ Version 0.1.5 - First Official Release

Release Date: January 12, 2026
Build Date: 2026-01-12_19:45:07UTC
Commit SHA: 5a123d0

This marks the first official release of note - a minimalist command-line note-taking tool that embraces the Unix philosophy: do one thing well and compose with other tools.


๐Ÿ“ฆ What is note?

note is a minimalist, opinionated command-line tool designed for developers, sysadmins, and anyone who lives in the terminal and wants frictionless note-taking without leaving their workflow.

Core Philosophy

  • No databases - Just markdown files in folders
  • No sync built-in - Use git, Dropbox, or any sync tool you prefer
  • No tags or categories - Use your filesystem and grep
  • No dependencies - Single static binary written in Go
  • No lock-in - Your notes are just text files

โœจ Key Features

๐ŸŽฏ Automatic Date Stamping

Every note automatically gets -YYYYMMDD appended to its filename, creating a chronological archive of your thoughts without any manual effort.

note meeting            # Creates meeting-20260112.md
note project-ideas      # Creates project-ideas-20260112.md

โšก Two-Question Setup

No complex configuration files or endless options. Just two questions:

  1. What's your preferred text editor?
  2. Where do you want to save your notes?

Done. You're ready to take notes.

๐Ÿ” Smart Search & Listing

Find your notes quickly with built-in search:

note -l                 # List all current notes
note -l project         # List notes containing "project"
note -s "todo"          # Full-text search across all notes
note -as "idea"         # Search including archived notes

๐Ÿ“ Archive System (Never Delete)

Notes are precious. note never deletes - it archives:

note -d old-*           # Archive notes starting with "old-"
note -a                 # List all notes including archived
note -al meeting        # List all meeting notes, even archived ones

โŒจ๏ธ Tab Completion

Bash, Zsh, and Fish shell completions make finding and opening notes as fast as typing a few characters and hitting TAB.

note Life<TAB><TAB>     # Shows all notes starting with "Life"

๐Ÿ”— Flag Chaining

Combine flags for powerful operations:

note -al project        # List all project notes (including archived)
note -as "bug"          # Search all notes for "bug" (including archived)

๐Ÿ“ Universal Markdown Format

All notes are saved as plain markdown files. Use any editor, sync with any service, read on any device. Your notes will outlive any app.

๐Ÿš€ Shell Aliases

Optional convenient aliases for common operations:

n meeting               # Same as 'note meeting'
nls project             # Same as 'note -l project'
nrm old-*               # Same as 'note -d old-*'

๐Ÿงช Release Validation

This release has been thoroughly tested with:

Unit Tests

โœ… 51 tests passed covering:

  • Path expansion and symlink handling
  • Note matching and filename generation
  • Configuration management
  • Search highlighting
  • Flag parsing and chaining
  • Edge case handling

Integration Tests

โœ… 51 tests passed covering:

  • Complete setup workflow
  • Note creation and management
  • List and search operations
  • Archive functionality
  • Bulk operations
  • Special character handling
  • Symlink directory support
  • Multi-match scenarios
  • Flag chaining combinations

Completion Tests

โœ… 21 tests passed covering:

  • Partial note name matching
  • Case-insensitive completion
  • Flag completion
  • Completion after flags
  • Empty input handling

Setup Tests

โœ… 50 tests passed covering:

  • First-run setup flow
  • Configuration management
  • Shell detection and alias setup
  • Autocomplete installation
  • Directory operations
  • Error handling
  • Migration scenarios
  • Performance benchmarks

Total: 173 automated tests passed


๐Ÿ“ฅ Installation

From Release Binary

# Download the release binary
wget https://github.com/brockers/note/releases/download/v0.1.5/note

# Make it executable
chmod +x note

# Move to your PATH
sudo mv note /usr/local/bin/

From Source

# Clone the repository
git clone https://github.com/brockers/note.git
cd note

# Checkout the release tag
git checkout v0.1.5

# Build
make build

# Install (optional, requires sudo)
make install

Requirements

  • Go 1.21 or later (if building from source)
  • Your favorite text editor (vim, nano, emacs, vscode, etc.)
  • Bash, Zsh, or Fish shell (for completions)

๐Ÿš€ Quick Start

  1. Run note for the first time:

    note
  2. Answer two questions:

    • What is your preferred text editor? (e.g., vim, nano, code)
    • Where are you saving your notes? (e.g., ~/Notes, ~/Dropbox/Notes)
  3. Start taking notes:

    note ideas              # Create a new note
    note -l                 # List your notes
    note -s "keyword"       # Search your notes
  4. Set up completions (optional):

    note --autocomplete     # Enable tab completion
    note --alias            # Set up convenient aliases (n, nls, nrm)

๐Ÿ“Š What's New in v0.1.5

This first official release includes:

  • โœ… Complete note-taking workflow (create, list, search, archive)
  • โœ… Automatic date stamping
  • โœ… Tab completion for Bash, Zsh, and Fish
  • โœ… Flag chaining support (-al, -as, etc.)
  • โœ… Archive system with -a flag
  • โœ… Full-text search with highlighting
  • โœ… Comprehensive test coverage (173 tests)
  • โœ… Shell alias support
  • โœ… Symlink directory support
  • โœ… Version information flag (-v, --version)
  • โœ… Automated release workflow

๐Ÿ”ง Configuration

Settings are stored in ~/.note:

editor=nvim
notesdir=~/Documents/Notes

Reconfigure anytime with:

note --config

๐Ÿ“– Example Workflows

Daily Journaling

note journal            # Creates journal-20260112.md today
note journal            # Creates journal-20260113.md tomorrow

Project Notes

note project-alpha-design
note project-alpha-meeting
note -l project-alpha   # List all project-alpha notes

Research Workflow

note research-topic
note -s "important finding"
note -d research-*      # Archive when done

Integration with Unix Tools

note -l | wc -l                          # Count your notes
note -l 2026 | xargs grep "TODO"         # Find TODOs from 2026
cd ~/Notes && git init                   # Version control your notes

๐Ÿ› Known Issues

None reported. This is a stable first release.


๐Ÿ”ฎ Future Roadmap

While note is intentionally minimal, potential future enhancements under consideration:

  • Note restoration from archive
  • Customizable date formats
  • FZF integration for fuzzy finding
  • Additional shell completions
  • Performance optimizations for 10k+ notes

Philosophy: We say "no" more than "yes" to keep note focused and simple.


๐Ÿ“œ License

This program is free software licensed under GPL-3.0.
See https://www.gnu.org/licenses/ for details.


๐Ÿ™ Acknowledgments

Built with:

  • Go 1.24.11
  • Unix philosophy
  • Love for the command line

๐Ÿ“ž Support & Contributing


๐ŸŽฏ Version Information

Version:     0.1.5
Build Date:  2026-01-12_19:45:07UTC
Commit SHA:  5a123d0
Git Tag:     v0.1.5

Verify your installation:

note --version

Happy note-taking! ๐Ÿ“

Remember: The best tool is the one you actually use.

Release v0.1.5

12 Jan 19:56

Choose a tag to compare

Release Notes

๐ŸŽ‰ Version 0.1.5 - First Official Release

Release Date: January 12, 2026
Build Date: 2026-01-12_19:45:07UTC
Commit SHA: 5a123d0

This marks the first official release of note - a minimalist command-line note-taking tool that embraces the Unix philosophy: do one thing well and compose with other tools.


๐Ÿ“ฆ What is note?

note is a minimalist, opinionated command-line tool designed for developers, sysadmins, and anyone who lives in the terminal and wants frictionless note-taking without leaving their workflow.

Core Philosophy

  • No databases - Just markdown files in folders
  • No sync built-in - Use git, Dropbox, or any sync tool you prefer
  • No tags or categories - Use your filesystem and grep
  • No dependencies - Single static binary written in Go
  • No lock-in - Your notes are just text files

โœจ Key Features

๐ŸŽฏ Automatic Date Stamping

Every note automatically gets -YYYYMMDD appended to its filename, creating a chronological archive of your thoughts without any manual effort.

note meeting            # Creates meeting-20260112.md
note project-ideas      # Creates project-ideas-20260112.md

โšก Two-Question Setup

No complex configuration files or endless options. Just two questions:

  1. What's your preferred text editor?
  2. Where do you want to save your notes?

Done. You're ready to take notes.

๐Ÿ” Smart Search & Listing

Find your notes quickly with built-in search:

note -l                 # List all current notes
note -l project         # List notes containing "project"
note -s "todo"          # Full-text search across all notes
note -as "idea"         # Search including archived notes

๐Ÿ“ Archive System (Never Delete)

Notes are precious. note never deletes - it archives:

note -d old-*           # Archive notes starting with "old-"
note -a                 # List all notes including archived
note -al meeting        # List all meeting notes, even archived ones

โŒจ๏ธ Tab Completion

Bash, Zsh, and Fish shell completions make finding and opening notes as fast as typing a few characters and hitting TAB.

note Life<TAB><TAB>     # Shows all notes starting with "Life"

๐Ÿ”— Flag Chaining

Combine flags for powerful operations:

note -al project        # List all project notes (including archived)
note -as "bug"          # Search all notes for "bug" (including archived)

๐Ÿ“ Universal Markdown Format

All notes are saved as plain markdown files. Use any editor, sync with any service, read on any device. Your notes will outlive any app.

๐Ÿš€ Shell Aliases

Optional convenient aliases for common operations:

n meeting               # Same as 'note meeting'
nls project             # Same as 'note -l project'
nrm old-*               # Same as 'note -d old-*'

๐Ÿงช Release Validation

This release has been thoroughly tested with:

Unit Tests

โœ… 51 tests passed covering:

  • Path expansion and symlink handling
  • Note matching and filename generation
  • Configuration management
  • Search highlighting
  • Flag parsing and chaining
  • Edge case handling

Integration Tests

โœ… 51 tests passed covering:

  • Complete setup workflow
  • Note creation and management
  • List and search operations
  • Archive functionality
  • Bulk operations
  • Special character handling
  • Symlink directory support
  • Multi-match scenarios
  • Flag chaining combinations

Completion Tests

โœ… 21 tests passed covering:

  • Partial note name matching
  • Case-insensitive completion
  • Flag completion
  • Completion after flags
  • Empty input handling

Setup Tests

โœ… 50 tests passed covering:

  • First-run setup flow
  • Configuration management
  • Shell detection and alias setup
  • Autocomplete installation
  • Directory operations
  • Error handling
  • Migration scenarios
  • Performance benchmarks

Total: 173 automated tests passed


๐Ÿ“ฅ Installation

From Release Binary

# Download the release binary
wget https://github.com/brockers/note/releases/download/v0.1.5/note

# Make it executable
chmod +x note

# Move to your PATH
sudo mv note /usr/local/bin/

From Source

# Clone the repository
git clone https://github.com/brockers/note.git
cd note

# Checkout the release tag
git checkout v0.1.5

# Build
make build

# Install (optional, requires sudo)
make install

Requirements

  • Go 1.21 or later (if building from source)
  • Your favorite text editor (vim, nano, emacs, vscode, etc.)
  • Bash, Zsh, or Fish shell (for completions)

๐Ÿš€ Quick Start

  1. Run note for the first time:

    note
  2. Answer two questions:

    • What is your preferred text editor? (e.g., vim, nano, code)
    • Where are you saving your notes? (e.g., ~/Notes, ~/Dropbox/Notes)
  3. Start taking notes:

    note ideas              # Create a new note
    note -l                 # List your notes
    note -s "keyword"       # Search your notes
  4. Set up completions (optional):

    note --autocomplete     # Enable tab completion
    note --alias            # Set up convenient aliases (n, nls, nrm)

๐Ÿ“Š What's New in v0.1.5

This first official release includes:

  • โœ… Complete note-taking workflow (create, list, search, archive)
  • โœ… Automatic date stamping
  • โœ… Tab completion for Bash, Zsh, and Fish
  • โœ… Flag chaining support (-al, -as, etc.)
  • โœ… Archive system with -a flag
  • โœ… Full-text search with highlighting
  • โœ… Comprehensive test coverage (173 tests)
  • โœ… Shell alias support
  • โœ… Symlink directory support
  • โœ… Version information flag (-v, --version)
  • โœ… Automated release workflow

๐Ÿ”ง Configuration

Settings are stored in ~/.note:

editor=nvim
notesdir=~/Documents/Notes

Reconfigure anytime with:

note --config

๐Ÿ“– Example Workflows

Daily Journaling

note journal            # Creates journal-20260112.md today
note journal            # Creates journal-20260113.md tomorrow

Project Notes

note project-alpha-design
note project-alpha-meeting
note -l project-alpha   # List all project-alpha notes

Research Workflow

note research-topic
note -s "important finding"
note -d research-*      # Archive when done

Integration with Unix Tools

note -l | wc -l                          # Count your notes
note -l 2026 | xargs grep "TODO"         # Find TODOs from 2026
cd ~/Notes && git init                   # Version control your notes

๐Ÿ› Known Issues

None reported. This is a stable first release.


๐Ÿ”ฎ Future Roadmap

While note is intentionally minimal, potential future enhancements under consideration:

  • Note restoration from archive
  • Customizable date formats
  • FZF integration for fuzzy finding
  • Additional shell completions
  • Performance optimizations for 10k+ notes

Philosophy: We say "no" more than "yes" to keep note focused and simple.


๐Ÿ“œ License

This program is free software licensed under GPL-3.0.
See https://www.gnu.org/licenses/ for details.


๐Ÿ™ Acknowledgments

Built with:

  • Go 1.24.11
  • Unix philosophy
  • Love for the command line

๐Ÿ“ž Support & Contributing


๐ŸŽฏ Version Information

Version:     0.1.5
Build Date:  2026-01-12_19:45:07UTC
Commit SHA:  5a123d0
Git Tag:     v0.1.5

Verify your installation:

note --version

Happy note-taking! ๐Ÿ“

Remember: The best tool is the one you actually use.