microsoft/amplifier-app-cli
Python
Captured source
source ↗microsoft/amplifier-app-cli
Description: Reference implementation of CLI interface for Amplifier project
Language: Python
License: MIT
Stars: 19
Forks: 25
Open issues: 14
Created: 2025-10-08T20:03:06Z
Pushed: 2026-06-10T19:48:47Z
Default branch: main
Fork: no
Archived: no
README:
Amplifier CLI
Command-line interface for the Amplifier AI-powered modular development platform.
> Note: This is a reference implementation of an Amplifier CLI. It works with amplifier-core and demonstrates how to build a CLI around the kernel. You can use this as-is, fork it, or build your own CLI using the core.
Installation
For Users
# Try without installing uvx --from git+https://github.com/microsoft/amplifier amplifier # Install globally uv tool install git+https://github.com/microsoft/amplifier
Quick Start
# First-time setup — opens a combined dashboard to add providers, # select a routing matrix, and verify configuration (auto-runs if no config) amplifier init # Tip: Set environment variables for faster setup # export ANTHROPIC_API_KEY="your-key" # The dashboard detects env vars and shows them as defaults # Install shell completion (optional, one-time setup) amplifier --install-completion # Single command (uses foundation bundle by default) amplifier run "Create a Python function to calculate fibonacci numbers" # Single command via stdin (useful for scripts/pipelines) echo "Summarize this spec" | amplifier run # Interactive chat mode amplifier # Use specific bundle amplifier run --bundle my-bundle "Your prompt"
Environment variables: ANTHROPIC_API_KEY, OPENAI_API_KEY, AZURE_OPENAI_API_KEY, GOOGLE_API_KEY detected automatically during amplifier init.
Commands
Configuration Commands
# Bundle management (primary configuration method) amplifier bundle current # Show active bundle amplifier bundle use [--local|--project|--global] # Set active bundle amplifier bundle list # List available bundles amplifier bundle show # Show bundle details amplifier bundle add [--name alias] # Register a bundle (name auto-derived) amplifier bundle remove # Unregister a bundle amplifier bundle clear # Reset to default (foundation) # Provider management amplifier provider add [--local|--project|--global] # Add/configure a provider amplifier provider list # List configured providers amplifier provider remove [--scope] # Remove a provider amplifier provider edit # Edit provider configuration amplifier provider test [] # Test provider connectivity amplifier provider manage # Interactive provider dashboard # Routing matrix management amplifier routing list # List available matrices amplifier routing use [--local|--project|--global] # Select active matrix amplifier routing show [] # Show resolved roles for a matrix amplifier routing manage # Interactive routing dashboard # Module management amplifier module add [--local|--project|--global] amplifier module remove [--scope] amplifier module current amplifier module list amplifier module show amplifier module refresh [] [--mutable-only] amplifier module check-updates # Source management amplifier source add [--local|--project|--global] amplifier source remove [--scope] amplifier source list amplifier source show # Notification settings (requires notify bundle) amplifier notify status # Show current notification settings amplifier notify desktop --enable [--scope] # Enable desktop/terminal notifications amplifier notify desktop --disable [--scope] # Disable desktop notifications amplifier notify ntfy --enable --topic # Enable ntfy.sh push notifications amplifier notify ntfy --disable [--scope] # Disable push notifications amplifier notify reset --all [--scope] # Clear all notification settings
Session Commands
# New sessions amplifier run "prompt" # Single-shot (auto-persists, shows ID) amplifier # Interactive (auto-generates ID) # Runtime overrides (highest priority, override all config levels) amplifier run -p anthropic "prompt" # Use specific provider amplifier run -m claude-sonnet-4-5 "prompt" # Use specific model amplifier run --max-tokens 500 "prompt" # Limit output tokens amplifier run -p openai -m gpt-5.2 --max-tokens 1000 "prompt" # Combine flags # Resume workflows amplifier continue # Resume most recent (interactive) amplifier continue "new prompt" # Resume most recent (single-shot) amplifier run --resume "prompt" # Resume specific session echo "prompt" | amplifier continue # Resume via Unix pipe # Session management amplifier session list # Recent sessions amplifier session show # Session details amplifier session resume # Resume specific (interactive) amplifier session delete # Delete session amplifier session cleanup [--days N] # Clean up old sessions
Conversational Single-Shot Workflows
Build context across multiple commands:
# Question 1: Start conversation $ amplifier run "What's the weather in Seattle?" Session ID: a1b2c3d4 [Response about Seattle weather] # Question 2: Follow-up with context $ amplifier continue "And what about tomorrow?" ✓ Resuming most recent session: a1b2c3d4 Messages: 2 [Response with context from previous question] # Question 3: Continue the thread $ amplifier continue "Should I bring an umbrella?" ✓ Resuming most recent session: a1b2c3d4 Messages: 4 [Response informed by entire weather conversation]
Unix piping with context:
# Initial question $ amplifier run "Analyze this log file structure" Session ID: e5f6g7h8 [Analysis] # Follow-up via pipe $ cat errors.log | amplifier continue ✓ Resuming most recent session: e5f6g7h8 Messages: 2 [Analysis of errors with context from previous conversation]
Resume specific conversation:
# List your sessions $ amplifier session list Recent Sessions: a1b2c3d4 2024-11-10 14:30 6 messages # Weather conversation e5f6g7h8 2024-11-10 12:15 4 messages # Log analysis # Resume the weather conversation specifically $ amplifier run --resume a1b2c3d4 "What about next week?" ✓ Resuming session: a1b2c3d4 Messages: 6 [Response with full weather conversation context]
Tool Commands
# List tools available in the active bundle (shows actual tool names) amplifier tool list # Table format (mounts tools) amplifier tool list --modules # Show module names (fast, no mount) amplifier tool list --bundle my-bundle # Specify bundle amplifier tool list --output json # JSON…
Excerpt shown — open the source for the full document.