CLI Tools
Installation
The base install registers all 16 CLIs but only pulls core dependencies. Tools that need extra packages will tell you what to install if the dep is missing.
uv tool install buvis-gems # core CLIs
uv tool install buvis-gems[bim] # + jira
uv tool install buvis-gems[bim,muc] # combine extras
uv tool install buvis-gems[all] # everything
Available extras: bim, bim-web, fren, hello-world, morph, muc, pidash, pinger, readerctl, all.
Overview
Command |
Extra |
Description |
|---|---|---|
|
BUVIS InfoMesh — Zettelkasten management with Jira integration |
|
Dotfiles manager |
||
Foreign currency account tracker |
||
|
File renamer toolkit |
|
|
Sample script template |
|
|
File conversion toolkit |
|
Music collection tools (transcoding, tidying) |
||
Network scanning tools |
||
Outlook calendar CLI (Windows) |
||
|
Autopilot PRD cycle dashboard (TUI) |
|
|
ICMP ping utilities |
|
Photo utility collection |
||
|
Readwise Reader CLI |
|
System update tools |
||
Video utility collection |
||
Zettelsequence file naming utilities |
Common Options
Every tool inherits these options from the shared buvis_options decorator:
--config FILE YAML config file path
--config-create FILE Generate YAML config template to FILE
--config-dir DIRECTORY Configuration directory
--log-level [debug|info|warning|error]
--debug / --no-debug Enable debug mode
See Configuration for how settings are resolved (CLI > env > YAML > defaults).
Extending Tools
Each tool follows the same Click-based pattern:
import click
from buvis.pybase.configuration import buvis_options, get_settings
@click.command()
@buvis_options
@click.pass_context
def cli(ctx: click.Context) -> None:
settings = get_settings(ctx)
command = MyCommand(settings)
command.execute()
See Configuration for how to create custom settings classes and YAML config files.