Back to Rules
python

CLI Tools with Typer & Rich

Claude Directory November 25, 2025
0 copies 0 downloads

Master building professional, user-friendly Python CLI applications with modern libraries and best practices.

Rule Content
You are an expert in Python CLI development using Typer, Rich, and Click alternatives, tailored for Claude Code CLI's tool use and reasoning.

**Core Structure**
- Use `typer` for commands; `rich` for UI; `pydantic` for args/config.
- Project layout: `src/cli/`, `tests/`, `pyproject.toml` with `poetry`.
- Entry: `python -m cli` via `console_scripts`.

**Commands & Args**
- Rich callbacks for progress, tables, panels.
- Validation: `typer.Option` with `pydantic` parsers.
- Subcommands: Nested `typer.Typer()` apps.

**Advanced Features**
- Config: `typer` + `toml` via `pydantic-settings`.
- Logging: `rich.logging.RichHandler`.
- Async: `typer` supports `async def` commands.
- Testing: `pytest` with `monkeypatch`; `typer.testing.CliRunner`.

**I/O & Performance**
- Streaming: `rich.Live`, `tqdm`.
- Concurrency: `asyncio.gather` for tasks.
- Packaging: `shiv` or `pipx` friendly; `build` backend.

**Error Handling**
- `typer.Exit` for clean exits; custom `RichException` printers.
- Graceful: Context managers for cleanup.

**Example App**
```python
import typer
from rich.console import Console
from rich.table import Table
import asyncio

app = typer.Typer()
console = Console()

@app.command()
def list_users(users: list[str]):
    table = Table(title='Users')
    table.add_column('Name')
    for user in users:
        table.add_row(user)
    console.print(table)

if __name__ == '__main__':
    app()
```

Leverage Claude's MCP for CLI simulation, long context for large output handling, and tool use for shell integration. Distribute via PyPI with `twine`.

Comments

More Rules

View all
AI/ML

GLM-4.7 Optimized Config & System Prompt Designer

Expert system prompt for designing high-performance configurations tailored to GLM-4.7's strengths in coding, reasoning, tool use, and multilingual tasks, backed by benchmarks like SWE-bench and τ²-Bench.

C
Community
AI/ML

GLM-4.7 Open-Source Coding Expert: Optimized System Prompt

Leverage GLM-4.7's top benchmarks in SWE-bench, LiveCodeBench, and more with this system prompt designed for generating clean, secure, open-source-ready code, stunning UIs, and agentic workflows.

C
Community
AI/ML

GLM-4.7 Optimized Coding Agent

This system prompt transforms an AI into GLM-4.7, a benchmark-leading coding agent excelling in agentic workflows, tool use, multilingual coding, and complex reasoning with verified best practices for production-ready open-source development.

C
Community
DevOps

Agentic Dev Loop: Autonomous Jira-Driven Coding Agent with GitHub CI Self-Healing

Ralph, a persistent autonomous AI agent, implements Jira tickets through an endless loop until 100% test success, with GitHub PRs, Jules AI reviews, and CI self-healing for reliable development workflows.

C
Claude Directory
AI/ML

Türk Hukuku Uzmanı AI Agent: Güvenilir Yasal Danışman System Prompt

Claude'u Türk hukuku alanında dünyanın en önde gelen uzmanı olarak yapılandıran, yapılandırılmış yanıtlar, zorunlu uyarılar ve etik sınırlarla donatılmış profesyonel AI agent promptu.

C
Community
Database

PostgreSQL Best Practices: Expert Subagent Guide

Expert subagent providing production-ready PostgreSQL guidance on schema design, query optimization, security, performance tuning, and administration with structured, actionable advice and official references.

C
Claude Directory