Skip to main content

Personal CLI utilities

Project description

asutils

Personal CLI utilities with a focus on Claude Code integration.

Install

pip install asutils

Quick Start: Claude Code Setup

One command to configure Claude Code with permissions, skills, and agents:

asutils claude setup

This installs:

  • Permission profiles (auto-approve common dev operations)
  • Bundled skills (reference docs for hooks, TTS, etc.)
  • Bundled agents (code-review)

Commands

General Utilities

Command Description
asutils repo init [name] Scaffold new Python project
asutils git sync Quick add, commit, push
asutils publish bump <major|minor|patch> Bump version
asutils publish release Build and publish to PyPI

Claude Code: Skills

Skills are markdown files that Claude Code loads as context when invoked.

Command Description
asutils claude skill list List bundled & installed skills
asutils claude skill add <name> Install a skill to ~/.claude/skills/
asutils claude skill add --bundle=all Install all bundled skills
asutils claude skill remove <name> Remove an installed skill
asutils claude skill show <name> View skill content

Bundled Skills:

  • claude-hooks - Reference for creating Claude Code hooks

Claude Code: Permission Profiles

Permission profiles auto-approve tool calls matching defined rules, reducing permission prompts.

Command Description
asutils claude permission install Install profiles and hook
asutils claude permission list List available profiles
asutils claude permission default <name> Set default profile
asutils claude permission status Show current configuration
asutils claude permission uninstall Remove profiles and hook

Bundled Profiles:

  • default - Conservative, passthrough everything
  • dev - Auto-approve common dev tools (git, npm, pytest, etc.)
  • readonly - Only allow read operations
  • yolo - Allow everything except destructive operations

Usage:

# Use dev profile (auto-approves common operations)
asutils claude permission default dev

# Override per-session
CLAUDE_PROFILE=readonly claude

Claude Code: Agents

Agents are specialized subagents with defined tools and prompts.

Command Description
asutils claude agent list List bundled & installed agents
asutils claude agent add <name> Install an agent
asutils claude agent add --all Install all bundled agents
asutils claude agent remove <name> Remove an agent
asutils claude agent show <name> View agent definition

Bundled Agents:

  • code-review - Review code for bugs, security issues, and quality

Claude Code: Text-to-Speech (TTS)

Read Claude's responses aloud using macOS text-to-speech.

Command Description
asutils claude tts install Install TTS hooks
asutils claude tts enable --always Enable for all sessions
asutils claude tts disable Disable persistent TTS
asutils claude tts status Show TTS configuration
asutils claude tts test "Hello" Test TTS output
asutils claude tts voices List available macOS voices
asutils claude tts config Configure voice, rate, etc.
asutils claude tts uninstall Remove TTS hooks

Usage:

# Install hooks
asutils claude tts install

# Enable for all sessions
asutils claude tts enable --always

# Or toggle per-session in Claude Code
/tts

# Configure voice and speed
asutils claude tts config --voice "Alex" --rate 200

How TTS Works:

  1. The /tts command toggles TTS mode and instructs Claude to use <speak> tags
  2. A Stop hook fires after each response and extracts spoken content
  3. Text is read aloud using macOS say command
  4. Terminal window is focused (configurable)

Configuration (~/.claude/tts-config.yaml):

voice: Samantha        # macOS voice name
rate: 175              # Words per minute
focus_window: true     # Focus terminal after speaking
terminal_app: auto     # auto | Terminal | iTerm | none
always_enabled: false  # Persistent mode

Development

git clone https://github.com/afspies/asutils
cd asutils
uv pip install -e ".[dev]"

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asutils-0.2.20.tar.gz (42.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asutils-0.2.20-py3-none-any.whl (56.0 kB view details)

Uploaded Python 3

File details

Details for the file asutils-0.2.20.tar.gz.

File metadata

  • Download URL: asutils-0.2.20.tar.gz
  • Upload date:
  • Size: 42.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for asutils-0.2.20.tar.gz
Algorithm Hash digest
SHA256 6c1cc453e67abb34129245d3c6b11f2575340dfc7331d36bfc97721216366362
MD5 c0520253841682ea58bbe8f816178fa6
BLAKE2b-256 8f1ebf9d9c880df0e4832da40f3db51b763c39498ecc287d56875c7deceb3560

See more details on using hashes here.

File details

Details for the file asutils-0.2.20-py3-none-any.whl.

File metadata

  • Download URL: asutils-0.2.20-py3-none-any.whl
  • Upload date:
  • Size: 56.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for asutils-0.2.20-py3-none-any.whl
Algorithm Hash digest
SHA256 e9285b63034ab07fc9bbcbcbcb2dfa18a03f33acbf45acaf822cf91f2a57b551
MD5 ee4888a170ba2d1f0a566a590977ae49
BLAKE2b-256 147c4a47ef0dd1d9ef7c4d5ef11bc5eaa40c06e71b36a0c2ef06b068f7c7be10

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page