121 lines
2.0 KiB
Markdown
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
|