CLI Commands

Core Commands #

Add #

Add a new note to a book. Opens your configured editor if no content is provided.

Aliases: a, n, new

dnote add <book>
dnote add <book> -c "content"

Options:

  • -c, --content - Provide note content directly without opening editor

Examples:

# Open editor
dnote add docker

# Direct content
dnote add docker -c "docker system prune removes unused data"

Stdin Support:

You can pipe content directly from stdin, useful for capturing command output:

# Pipe from echo
echo "useful command" | dnote add cli

# Capture command output
docker images | dnote add docker

# Heredoc
dnote add git << EOF
Common Git commands:
- git status
- git log --oneline
EOF

View #

List books or notes, or view a specific note.

Alias: v

dnote view                    # List all books
dnote view <book>             # List notes in a book
dnote view <book> <index>     # View a specific note

Options:

  • --name-only - Print book names only (when listing books)
  • --content-only - Print note content only (when viewing a note)

Examples:

# List all books
dnote view

# List notes in docker book
dnote view docker

# View first note in docker book
dnote view docker 1

Edit #

Edit a note or rename a book. Opens your configured editor by default.

Alias: e

dnote edit <note-id>
dnote edit <book>

Options:

  • -c, --content - Set note content without opening editor
  • -b, --book - Move note to a different book
  • -n, --name - Rename a book without opening editor

Examples:

# Edit note with ID 3
dnote edit 3

# Update note content directly
dnote edit 3 -c "new content"

# Move note to different book
dnote edit 3 -b linux

# Rename a book
dnote edit javascript -n js

Remove #

Remove a note or an entire book.

Aliases: rm, d, delete

dnote remove <note-id>
dnote remove <book>

Options:

  • -y, --yes - Skip confirmation prompts (non-interactive mode)

Examples:

# Remove note by ID
dnote remove 5

# Remove a book
dnote remove javascript

# Remove without confirmation
dnote remove 5 -y

Find #

Search notes using full-text search.

Alias: f

dnote find <keywords>

Options:

  • -b, --book - Search only within a specific book

Examples:

# Search all notes
dnote find "docker prune"

# Search within a book
dnote find "merge sort" -b algorithms

Sync Commands #

Sync #

Sync your local notes with a Dnote server.

Alias: s

dnote sync

Options:

  • -f, --full - Perform a full sync instead of incremental sync
  • --apiEndpoint - Override API endpoint (defaults to config value)

Examples:

# Incremental sync (default)
dnote sync

# Full sync
dnote sync --full

Login #

Authenticate with a Dnote server to enable syncing.

dnote login

Options:

  • -u, --username - Email address (skip prompt)
  • -p, --password - Password (skip prompt)
  • --apiEndpoint - API endpoint to connect to

Examples:

# Interactive (prompts for credentials)
dnote login

# Non-interactive
dnote login -u me@example.com -p mypassword --apiEndpoint https://dnote.example.com/api

You’ll be prompted for any missing credentials.

Logout #

Log out from the Dnote server and remove stored credentials.

dnote logout

Options:

  • --apiEndpoint - API endpoint to connect to (defaults to config value)

Utility Commands #

Version #

Display the installed Dnote version.

dnote version

Global Flags #

All commands support the following global flag:

  • --dbPath - Specify a custom database path (overrides default ~/.local/share/dnote/dnote.db)

Example:

dnote --dbPath /path/to/custom.db view
dnote --dbPath /tmp/notes.db add docker -c "note content"