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

Epic Skills Bundle (for Epic Games employees):

  • epic/jira - JIRA issue management for Epic's Atlassian Cloud
  • epic/confluence - Confluence search via asutils CLI

Install with: asutils claude skill add --bundle epic

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

Confluence Search (Epic Games)

Search Epic's internal Confluence wiki directly from the command line.

Command Description
asutils confluence search "query" Search for pages
asutils confluence search "q1" "q2" --parallel Multi-query parallel search
asutils confluence page <id> Get page content (markdown)
asutils confluence spaces List available spaces
asutils confluence cql 'text~"term"' Raw CQL search
asutils confluence children <id> Get child pages

Prerequisites:

  • Set JIRA_API_TOKEN environment variable (same token works for Confluence)
  • Run asutils epic setup to configure

Usage:

# Search across all Confluence
asutils confluence search "deployment process"

# Parallel search with multiple queries
asutils confluence search "authentication" "OAuth" "SSO" --parallel

# Get full page content
asutils confluence page 12345678

# Search within a specific space
asutils confluence search "API" --space DEV

Epic Setup

One-command setup for Epic Games integrations.

Command Description
asutils epic setup Configure Epic integrations and install skills
asutils epic status Show integration status
asutils epic verify Test Confluence authentication

Usage:

# Full setup (creates config, verifies auth, installs skills)
asutils epic setup

# Check status
asutils epic status

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.21.tar.gz (43.0 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.21-py3-none-any.whl (56.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: asutils-0.2.21.tar.gz
  • Upload date:
  • Size: 43.0 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.21.tar.gz
Algorithm Hash digest
SHA256 0e9392363d638c547acc098609fb1501adada6d1bcd558c8bec7bc7e384b133e
MD5 0d629a1a60d1632c0838c12c28358a2b
BLAKE2b-256 ab4a26f18ec7aaba996400b68cbf40d44ef733ba823baadc343eb6f60d30cb81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: asutils-0.2.21-py3-none-any.whl
  • Upload date:
  • Size: 56.8 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.21-py3-none-any.whl
Algorithm Hash digest
SHA256 88223d64d8e6aec802867b91168d6a62e090e3c141bef706905a31e3ea9871b8
MD5 1020a2f13e6c53f85e5ade92cdc7b943
BLAKE2b-256 7bfe0386f68a9aa8a4c33f6b528c71ed79b3bc815a3df03b4e1186e4fb5acd35

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