Skip to content
/ notie Public

A command-line tool for organising and managing your notes across different notebooks.

License

Notifications You must be signed in to change notification settings

tricinel/notie

Repository files navigation

notie

A command-line tool for organising and managing your notes across different notebooks. Think of it as a simple way to keep your notes organised in separate contexts: work notes, personal notes, project notes, etc.

You can easily switch between notebooks, set defaults and organise your thoughts without everything ending up in one giant mess of files.

Key features:

  • Multiple notebook support with aliases
  • Daily note creation
  • Integration with your preferred editor
  • Simple CLI interface
  • Cross-platform support

Installation

Install from source (Go required)

go install github.com/tricinel/notie@latest

Install with Homebrew

brew tap tricinel/notie
brew install notie

Usage

All commands

notie -h

notie is a command-line tool for organising and managing your notes in different notebooks.

Usage:
  notie [command]

Notebook management:
  init        Initialise a new notebook in the current directory
  notebooks   List all existing notebooks
  open        Open the current notebook in your editor
  purge       Purge deleted notebooks on the filesystem from the database
  remove      Remove an existing notebook
  use         Use the notebook with the alias
  which       Show which notebook is currently used

Note management:
  daily       Add a new daily note
  notes       List the notes from the current notebook in your editor
  write       Add a new note in the current notebook

Additional Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command

Flags:
      --debug      Enable debug output
  -h, --help       help for notie
      --no-color   Disable coloured output
  -v, --verbose    Enable verbose output

Use "notie [command] --help" for more information about a command.

Creating and managing notebooks

Create a new notebook:

$ notie init
✓ Initialised notebook 'work' at '~/Documents/work'

List all notebooks:

$ notie notebooks
notes -> ~/Documents/notes [current]
personal -> ~/Documents/personal

Switch between notebooks:

$ notie use personal
✓ Switched to notebook 'personal'

$ notie which
You're currently using the 'personal' notebook

Remove a notebook:

$ notie remove old-project
Notebook 'old-project' removed

Working with notes

Add a new note:

$ notie write Meeting\ Notes
Created file at '~/Documents/work/Meeting-Notes.md'

Create a daily note for today :

$ notie daily
Created file at '~/Documents/work/2025-09-24-Wednesday.md'

Create a daily note for yesterday:

$ notie daily -1
Created file at '~/Documents/work/2025-09-23-Tuesday.md'

Create a daily note for tomorrow:

$ notie daily +1
Created file at '~/Documents/work/2025-09-25-Thursday.md'

Yes, you can create notes for 7 days from today with +7 :)

Open current notebook in your editor:

$ notie open

List all the notes from the current notebook:

$ notie notes
2025-09-23-Tuesday
2025-09-24-Wednesday
Meeting-Notes

You can then pipe these into something like fzf and have nice fuzzy searching: notie notes | fzf

Maintenance

Clean up deleted notebooks:

$ notie purge
✓ Purged 2 notebook(s): work, personal

notie will not delete the actual files from your filesystem. It will look at all the notebooks it knows of and check if the notie.toml file still exists at that location. It will then purge the notebooks from its database where the file is gone.

Configuration

notie uses your system's default editor. You can override this by setting the EDITOR environment variable:

export EDITOR="code"  # VS Code
export EDITOR="vim"   # Vim
export EDITOR="nano"  # Nano

When you create a new notebook, notie will generate a notie.toml file in that directory. You can customise the values in that file to suit your needs.

  • inbox_dir defines where the notes are created by default
  • filename_format defines how notie creates new files when you don't give them a name
  • date_format is the date format for daily notes
  • time_format is the time format used inside files
  • template is the template used for the new notes

How it works

Each notebook is just a directory on your filesystem. notie keeps track of:

  • Which notebooks you've created and their aliases
  • Your current active notebook

Notes are stored as markdown files within each notebook's inbox_dir directory (which you can customise). You can organise them however you like. notie doesn't impose any structure beyond the notebook level.

Contributing

Issues and pull requests welcome! Check out the issues page if you want to contribute.

License

MIT License - see LICENSE file for details.

About

A command-line tool for organising and managing your notes across different notebooks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages