Skip to content

v0.6.0

Choose a tag to compare

@fprochazka fprochazka released this 12 Apr 08:47
· 68 commits to master since this release
f047ce4

What's new

alias_of support for command definitions

YAML command files can now declare alias_of: <other-command> to inherit all classification rules from another command. This is designed for wrapper binaries — define the base command once in the built-in (or user) database, then create lightweight alias stubs for each wrapper.

Alias files may only declare command, description, and alias_of — classification-bearing fields are forbidden and cause a parse-time error. Chain depth is capped at 1 (no aliases-of-aliases).

User command database documented

The README now documents the user command database at ~/.config/bash-classify/commands/ (overridable via BASH_CLASSIFY_CONFIG_DIR). User YAML files with the same filename as a built-in override it completely.

gws (Google Workspace CLI) added to built-in database

130+ verb classifications covering Drive, Sheets, Gmail, Calendar, Docs, Slides, Chat, Tasks, People, Classroom, Forms, Keep, Meet, Apps Script, Model Armor, and workflow helpers. Uses subcommand_mode: match_all with a flat verb dictionary — REST verbs (get, list, create, delete, …) and +helper commands are matched independently, with max-severity aggregation.

Notable classifications:

  • auth login / auth setup → EXTERNAL_EFFECTS (OAuth handshake / GCP project creation)
  • auth export --unmasked → DANGEROUS (prints plaintext OAuth tokens)
  • script projects run → DANGEROUS (executes arbitrary Apps Script)
  • gmail +watch → EXTERNAL_EFFECTS (creates persistent Pub/Sub resources)
  • sanitizeUserPrompt / +sanitize-prompt → EXTERNAL_EFFECTS (POSTs text to remote API)