2026-01-22 23:03:49 -06:00
2026-01-22 23:03:49 -06:00
2026-01-22 23:03:49 -06:00
2026-01-22 23:03:49 -06:00
2026-01-22 23:03:49 -06:00
2026-01-22 23:03:49 -06:00
2026-01-22 23:03:49 -06:00
2026-01-22 23:03:49 -06:00
2026-01-22 23:03:49 -06:00
2026-01-22 23:03:49 -06:00
2026-01-22 23:03:49 -06:00

doks

A terminal application for quickly accessing personal notes and documents.

Features

  • Key-based access - Retrieve documents instantly by registered key
  • Full-text search - Search across all documents with ripgrep (or pure-Go fallback)
  • Interactive TUI - Navigate multiple search results with keyboard
  • Symlink support - Keep files in original location while storing in doks
  • Shell completions - Tab completion for bash, zsh, and fish

Installation

# Clone and install
git clone https://github.com/yeho/doks.git
cd doks
./install.sh

Or build manually:

make build
sudo mv doks /usr/local/bin/

Usage

Add a document

# Basic add
doks add ./notes.md -k mynotes

# Add with symlink preservation (keeps file accessible at original path)
doks add ./cheatsheet.md -k git -p

# Add with tags and description
doks add ./docker.md -k docker -t "containers,devops" -d "Docker commands"

Retrieve a document

# By key
doks -k git

# Search
doks -s "commit"

Other commands

# List all documents
doks list

# Filter by tag
doks list -t devops

# Edit a document
doks edit git

# Remove a document (keeps file in storage)
doks remove git

# Remove and delete file
doks remove git --delete

# Show version
doks -v

Configuration

Config file: ~/.config/doks/config.json

{
  "doksStorageDir": "/home/user/doks",
  "defaultEditor": "vim",
  "search": {
    "engine": "text",
    "vectorEnabled": false
  },
  "display": {
    "contextLines": 3,
    "maxResults": 20
  }
}

Storage

Documents are stored in ~/doks/ by default:

~/doks/
├── doksRegistry.db    # Document registry (NDJSON)
└── doksFiles/         # Stored documents

Shell Completions

# Bash
doks completion bash > /etc/bash_completion.d/doks

# Zsh
doks completion zsh > "${fpath[1]}/_doks"

# Fish
doks completion fish > ~/.config/fish/completions/doks.fish

License

MIT

Description
No description provided
Readme 48 KiB
Languages
Go 98.5%
Shell 0.9%
Makefile 0.6%