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.23.tar.gz (45.3 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.23-py3-none-any.whl (59.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: asutils-0.2.23.tar.gz
  • Upload date:
  • Size: 45.3 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.23.tar.gz
Algorithm Hash digest
SHA256 35ea6353324a5502c20411124089bc233789d77ab02ef56b5a061bc48f615047
MD5 92dbbf3091c39c0eb420f07a90500212
BLAKE2b-256 766f5205ee997b6cb1673bd499ecd7b53aa007e6457268a9d5555f5be3302ddd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: asutils-0.2.23-py3-none-any.whl
  • Upload date:
  • Size: 59.4 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.23-py3-none-any.whl
Algorithm Hash digest
SHA256 80a86438ea288df1d94578e8ce4ad6508d4605f8f82a99ed2367e009a160ccb4
MD5 3c2918a3bec2c623509047782f3bb302
BLAKE2b-256 dd1fbd2cc2f41e27c7db5b784bceca32e48cf64b1d3d4bc83186321120c7bc2f

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