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

bim

bim

BUVIS InfoMesh — Zettelkasten management with Jira integration

dot

Dotfiles manager

fctracker

Foreign currency account tracker

fren

fren

File renamer toolkit

hello-world

hello-world

Sample script template

morph

morph

File conversion toolkit

muc

Music collection tools (transcoding, tidying)

netscan

Network scanning tools

outlookctl

Outlook calendar CLI (Windows)

pidash

pidash

Autopilot PRD cycle dashboard (TUI)

pinger

pinger

ICMP ping utilities

puc

Photo utility collection

readerctl

readerctl

Readwise Reader CLI

sysup

System update tools

vuc

Video utility collection

zseq

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.