Skip to content

knife

Knife Logo

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.