init commit
This commit is contained in:
120
README.md
Normal file
120
README.md
Normal file
@@ -0,0 +1,120 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user