knife

knife is the official CLI for snackbox, a self-hosted headless CMS. It wraps the snackbox REST API so you can manage your instance from a terminal or automate it in CI pipelines.
Motivation
Managing a headless CMS requires some kind of interface that can be used for maintenance tasks and house keeping. The fastest way is an small CLI client, that can support with these tasks.
Also, knife is some kind of reference implementation of the snackbox API contract.
What knife does
- Authenticates against a snackbox instance and stores tokens locally
- Lets you manage users, your own profile, and site-wide settings
- Outputs human-readable tables by default and structured JSON when scripting
Quick start
1. Download the binary
Grab the latest release for your platform from the release page and place it somewhere on your PATH.
chmod +x knife
mv knife /usr/local/bin/knife
2. Log in
knife --server https://snackbox.example.com login
The server URL is saved to ~/.config/knife/config.yaml after the first successful login, so you only need --server once (or set KNIFE_SERVER).
3. Run your first command
knife me get
knife users list
knife settings get
Documentation
| File | Audience |
|---|---|
| USER.md | End users — installation, commands, examples |
| ADMINISTRATOR.md | Operators — config reference, automation |
| ARCHITECTURE.md | Developers — internals and design decisions |
| DEVELOPER.md | Contributors — build, test, release workflow |
| PRD.md | Product requirements |
| Implementation Plan | Implementation plan |
Issues
Opening issues and reporting bugs is pretty easy. Please feel free to open a report via the issue tracker or send an e-mail.
License
Except otherwise noted, all work is licensed under a BSD-3-Clause License.
Contact
In case you want to get in touch with us or reach out for general questions, please use one of the below contact details.
- Mail: hello@cozybadger.de
- Page: cozybadger.de
- News: news.cozybadger.de
- Instagram: https://www.instagram.com/cozybadgerde/
- LinkedIn: cozybadgerde