Files
doks/README.md
2026-01-22 23:03:49 -06:00

121 lines
2.0 KiB
Markdown

# 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
```bash
# Clone and install
git clone https://github.com/yeho/doks.git
cd doks
./install.sh
```
Or build manually:
```bash
make build
sudo mv doks /usr/local/bin/
```
## Usage
### Add a document
```bash
# 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
```bash
# By key
doks -k git
# Search
doks -s "commit"
```
### Other commands
```bash
# 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`
```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
# 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