3 unstable releases
Uses new Rust 2024
| 0.2.0 | Nov 26, 2025 |
|---|---|
| 0.1.1 | Oct 28, 2025 |
| 0.1.0 | Oct 28, 2025 |
#144 in Text editors
65KB
1.5K
SLoC
✜ Piki – CLI tool
Command-line interface for Piki personal wiki
[!IMPORTANT]
This is the crate-level README for thepikiCLI only. For overall Piki documentation, see the main repo.
A fast, lightweight CLI for managing your personal wiki with plain Markdown files. Perfect for quick edits, scripting, and terminal-based workflows.
Installation
cargo install piki
Quick Start
# Initialize your wiki
mkdir ~/.piki
cd ~/.piki
echo "# My Wiki" > frontpage.md
# Edit interactively (fuzzy picker)
piki
# Edit a specific note
piki edit frontpage
# List all notes
piki ls
# View a note
piki view frontpage
Usage
piki [options] [command]
Options:
-d, --directory DIRECTORY Directory containing markdown files (default: ~/.piki)
Commands:
edit [name] Edit a note (opens in $EDITOR or $VISUAL, defaults to vim)
view [name] View a note
ls List all notes
log [-n NUM] Show git commit log (if using git)
run [cmd] Run a shell command inside the notes directory
help Show help information
Configuration
Create a ~/.pikirc file to define custom aliases and shortcuts:
[aliases]
# Daily notes
today = "code . -g daily/$(date +'%Y-%m-%d').md"
standup = "vim work/standup-$(date +'%Y').md"
# Git shortcuts
status = "git status -u"
sync = "git ci -m 'Auto-sync' && git pull --rebase && git push"
push = "git commit -m 'Auto-sync' && git push"
# Open in your favorite editor/IDE
code = "code ."
cfg = "vim ~/.pikirc"
# Launch GUI from CLI
g = "piki-gui"
Interactive Mode
When no command is specified, Piki opens an interactive fuzzy picker for quickly finding and editing notes:
piki -d ~/my-wiki
# Type to filter notes, arrow keys to navigate, Enter to edit
Example Workflows
# Daily note workflow
piki edit "daily/$(date +'%Y-%m-%d')"
# Quick capture
piki edit inbox
# Browse and edit
piki -d ~/my-wiki # Interactive picker
# View without editing
piki view project-ideas
# Git integration
piki run git status
piki log -n 10
Git Integration
Piki works seamlessly with Git for version control:
cd ~/.piki
git init
git add .
git commit -m "Initial wiki"
# Use piki's git commands
piki log
piki run git status
# Or use aliases in .pikirc
piki sync # Commit, pull, push
piki push # Commit and push
Features
- Local-first: Your notes are plain Markdown files
- Fuzzy Search: Fast interactive note picker
- Git Integration: Built-in git log and run commands
- Customizable: Define aliases for your workflow
- Cross-platform: Works on Windows, macOS, Linux, and BSD
- Fast: Written in Rust for performance
License
MIT License
Dependencies
~24–44MB
~733K SLoC