Command-line interface for Keystone.
- 📦 Releases — binaries & checksums
- 📄 License & Notices
This CLI is designed to operate alongside official Keystone templates, which define the structure and build behavior for publishing books and documents. It is part of the broader Keystone ecosystem, which includes:
- keystone-template-core – for building a full Docker image from scratch
- keystone-template-core-slim – for using a prebuilt public Docker image
- keystone-hello-world – a "Hello World" sample project
based on the
core-slimtemplate, demonstrating Keystone capabilities with sample content
First, add the Knight Owl Homebrew tap:
brew tap knight-owl-dev/tapThen install the CLI:
brew install keystone-cliAfter installation, verify that everything is working:
keystone-cli info
man keystone-cliShell completions are installed automatically by Homebrew. If completions are not working, see Shell Completion for troubleshooting.
First, import the GPG signing key and add the repository:
curl -fsSL https://apt.knight-owl.dev/PUBLIC.KEY | sudo gpg --dearmor -o /usr/share/keyrings/knight-owl.gpg
echo "deb [signed-by=/usr/share/keyrings/knight-owl.gpg] https://apt.knight-owl.dev stable main" | sudo tee /etc/apt/sources.list.d/knight-owl.listThen install the CLI:
sudo apt-get update
sudo apt-get install keystone-cliAfter installation, verify that everything is working:
keystone-cli info
man keystone-cliShell completions are installed automatically to /usr/share/bash-completion/completions/
and /usr/share/zsh/vendor-completions/.
If you installed from a tarball or built from source, enable shell completion by adding one of the following to your shell configuration:
Bash (add to ~/.bashrc):
eval "$(keystone-cli --completion bash)"Zsh (add to ~/.zshrc):
eval "$(keystone-cli --completion zsh)"Note (Bash): Bash requires the
bash-completionpackage for completions installed by package managers. If completions are not working, install it and source it in your~/.bashrc:Homebrew (macOS/Linux):
[[ -r "$(brew --prefix)/etc/profile.d/bash_completion.sh" ]] && . "$(brew --prefix)/etc/profile.d/bash_completion.sh"Apt (Debian/Ubuntu):
if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion fiThe
--completionflag above bypasses this requirement by loading completions directly.Note (Zsh): Zsh requires the completion system to be initialized. If completions are not working, ensure your
~/.zshrcincludes the following (before anyevalcompletion lines):autoload -Uz compinit compinitFrameworks like Oh My Zsh handle this automatically. Both notes apply to all installation methods, including Homebrew and Apt.
The project is organized into four main parts:
- docs – Contains how-tos, documentation files, including man pages in mdoc(7) format and other relevant documentation.
- scripts – Build and utility scripts.
- src – Application source code.
- tests – Unit tests organized to mirror the structure of the application for consistency and coverage.
Review the contents of docs/how-to for detailed guides on working with the project, contributing, and releasing new versions.