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, morph, muc, pinger, readerctl, all.
Overview
Command |
Extra |
Description |
|---|---|---|
Config-driven tar archiver (git-src backup) |
||
|
BUVIS InfoMesh — Zettelkasten management with Jira integration |
|
Dotfiles manager |
||
Foreign currency account tracker |
||
|
File renamer toolkit |
|
Autonomous Memex-Zettelkasten (spec engine, vault, git layer) |
||
|
File conversion toolkit |
|
Music collection tools (transcoding, tidying) |
||
Network scanning tools |
||
Outlook calendar CLI (Windows) |
||
|
ICMP ping utilities |
|
Photo utility collection |
||
Portfolio standup — collect portfolio state into versioned contracts |
||
|
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.