Help us shape the future of Go! Take the 2026 Go Developer Survey

cli

module
v0.13.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2026 License: Apache-2.0

README

Kumbuka CLI

kumbuka-cli contains the offline and project-oriented tooling for Kumbuka.

The Kumbuka server and CLI are intentionally separate binaries:

  • kumbuka runs the PostgreSQL-backed web application.
  • kumbuka-cli builds static sites, creates Git-friendly mirrors, and manages static-site plugin dependencies.

Commands

kumbuka-cli build --help
kumbuka-cli mirror --help
kumbuka-cli plugins --help

Build a static site:

kumbuka-cli build --config kumbuka-site.toml

Manage the project's .kumbukaplugins file:

kumbuka-cli plugins list
kumbuka-cli plugins sync
kumbuka-cli plugins add \
  --id com.example.chart \
  --repository example/kumbuka-chart \
  --plugin-version 2.3.0
kumbuka-cli plugins remove --id com.example.chart

Create a Markdown mirror of a Kumbuka database:

kumbuka-cli mirror \
  --database-url 'postgres://USER:PASS@HOST:5432/kumbuka?sslmode=disable' \
  --output kumbuka-mirror

Development

The CLI consumes reusable runtime packages from github.com/kumbuka-me/kumbuka/pkg/... while keeping all CLI-specific implementations under internal/.

For local development of an unreleased server change, use a workspace beside both repositories rather than committing a replace directive:

go work init ./kumbuka ./cli

Then build and test normally:

make build
make test

License

Licensed under the Apache License 2.0.

Directories

Path Synopsis
cmd
kumbuka-cli command
internal
cli
Package cli defines the standalone Kumbuka CLI command tree.
Package cli defines the standalone Kumbuka CLI command tree.
command/build
Package build configures and runs the static-site build command.
Package build configures and runs the static-site build command.
command/mirror
Package mirror configures and runs the database mirror command.
Package mirror configures and runs the database mirror command.
command/plugins
Package plugins configures and runs static-site plugin dependency commands.
Package plugins configures and runs static-site plugin dependency commands.
mirror
Package mirror exports the PostgreSQL-backed Kumbuka state as a deterministic, Git-friendly directory tree without changing the database source of truth.
Package mirror exports the PostgreSQL-backed Kumbuka state as a deterministic, Git-friendly directory tree without changing the database source of truth.
pathutil
Package pathutil provides filesystem path identity helpers shared by CLI subsystems.
Package pathutil provides filesystem path identity helpers shared by CLI subsystems.
pluginproject
Package pluginproject manages reproducible plugin dependencies for static Kumbuka projects.
Package pluginproject manages reproducible plugin dependencies for static Kumbuka projects.
stagedwrite
Package stagedwrite provides filesystem helpers that keep existing generated output intact until replacement is ready.
Package stagedwrite provides filesystem helpers that keep existing generated output intact until replacement is ready.
tomlerror
Package tomlerror adds actionable diagnostics to strict TOML decoder errors.
Package tomlerror adds actionable diagnostics to strict TOML decoder errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL