Skip to main content

Terminal optimizer CLI for AI-assisted development with Claude Code and Gemini CLI

Project description

aiterm

PyPI CI Python License

Terminal Optimizer for AI-Assisted Development

Optimize your terminal (iTerm2+) for AI coding with Claude Code and Gemini CLI. Manage profiles, contexts, hooks, commands, and auto-approvals from one powerful CLI.


🚀 Installation

Quick Install (Auto-detects best method)

curl -fsSL https://raw.githubusercontent.com/Data-Wise/aiterm/main/install.sh | bash

macOS (Homebrew - Recommended)

brew install data-wise/tap/aiterm

Cross-Platform (PyPI)

pip install aiterm-dev

Using uv (fastest)

uv tool install aiterm-dev

Using pipx

pipx install aiterm-dev

From Source

pip install git+https://github.com/Data-Wise/aiterm

Installation Methods Comparison

Method Command Platform Best For
curl curl -fsSL .../install.sh | bash All One-liner
Homebrew brew install data-wise/tap/aiterm macOS Mac users
uv uv tool install aiterm-dev All Speed
pipx pipx install aiterm-dev All Isolation
pip pip install aiterm-dev All Quick install
Source pip install git+... All Latest dev

🎯 Quick Start

# Check your setup
ait doctor

# Detect project context
ait detect

# View Claude Code settings
ait claude settings

✨ What It Does

aiterm makes your terminal intelligent for AI-assisted development:

🎨 Context-Aware Profiles

Automatically switch terminal colors and titles based on your project:

Context Icon Profile Triggered By
Production 🚨 Red theme */production/* path
AI Sessions 🤖 Purple theme */claude-sessions/*
R Packages 📦 Blue theme DESCRIPTION file
Python 🐍 Green theme pyproject.toml
Node.js 📦 Dark theme package.json
Quarto 📊 Blue theme _quarto.yml

🛠️ Claude Code Integration

  • Manage hooks (session-start, pre-commit, cost-tracker)
  • Install command templates (/recap, /next, /focus)
  • Configure auto-approvals (safe-reads, git-ops, dev-tools)
  • Control MCP servers

📊 Status Bar Customization

Build custom status bars with:

  • Project icon & name
  • Git branch + dirty indicator
  • API quota tracking
  • Time in context
  • Custom components

💡 Features

Implemented (v0.2.1)

  • Context Detection - 8 project types with auto-switching
  • iTerm2 Integration - Profiles, titles, user variables
  • Claude Code Settings - View, backup, manage approvals
  • Auto-Approval Presets - 8 ready-to-use presets
  • Diagnostics - aiterm doctor health checks
  • Short Aliases - ait for quick access

CLI Commands

# Core commands
ait --version          # Show version
ait doctor             # Health check
ait detect             # Detect project context
ait switch             # Apply context to terminal

# Context detection
ait context detect     # Show project type, git info
ait context apply      # Apply to iTerm2

# Claude Code settings
ait claude settings    # Show settings
ait claude backup      # Backup settings

# Auto-approvals
ait claude approvals list      # List permissions
ait claude approvals presets   # Show 8 presets
ait claude approvals add <preset>  # Add preset

Also Available (v0.2.1)

  • Hook Management - List, install, validate hooks
  • Command Templates - Browse and install command templates
  • MCP Server Integration - List, test, validate MCP servers
  • Documentation Helpers - Validate docs, test code examples

Coming Soon (v0.3+)

  • Gemini CLI support
  • IDE integrations (Positron, Zed, VS Code)
  • Workflow automation

See IDEAS.md for full roadmap.


🏗️ Architecture

CLI-First Design

aiterm/
├── Core Library      # Business logic, testable
├── CLI Layer         # Typer commands
└── Templates         # Profiles, hooks, commands

Tech Stack

  • Language: Python 3.10+
  • CLI: Typer (modern, type-safe)
  • Output: Rich (beautiful tables, colors)
  • Testing: pytest
  • Distribution: uv/pipx/PyPI

📖 Documentation


🎯 Use Cases

For R Developers

cd ~/projects/r-packages/medfit
# Terminal switches to R-Dev profile (blue)
# Title shows: 📦 medfit (main)
# Status bar shows quota usage

For AI Power Users

aiterm claude approvals add-preset safe-reads
aiterm claude hooks install session-start
aiterm context history  # See where you've been today

For Multi-Project Workflows

# Automatic profile switching as you navigate
cd ~/production/app          # → Red theme, production warnings
cd ~/claude-sessions/        # → Purple theme, AI optimized
cd ~/projects/research/      # → Default theme, research context

🔧 Development

Setup

# Clone repo
git clone https://github.com/Data-Wise/aiterm.git
cd aiterm

# Set up environment (using uv - recommended)
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"

# Or traditional pip
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

# Run tests
pytest

# Try CLI
aiterm --help

Project Status

Version: 0.2.1 Tests: 55 passing Status: Released on Homebrew & PyPI

See CHANGELOG.md for version history.


📜 History

v2.5.0 (Dec 15, 2024): aiterm

  • zsh-based terminal integration
  • 8 context types
  • iTerm2 status bar support
  • Comprehensive test suite (15 tests)

v3.0.0 (Dec 15, 2024): Pivot to aiterm

  • Python CLI architecture
  • Claude Code deep integration
  • Multi-tool support (Gemini)
  • Expandable plugin system

🤝 Contributing

Not accepting external contributions yet (MVP phase). Check back at v1.0!

Target for public release:

  • Multi-terminal support
  • Documentation site
  • PyPI + uv/pipx distribution
  • Community templates

📝 License

MIT License - See LICENSE for details


🙏 Acknowledgments

Built for AI-assisted development workflows with:


📧 Contact

Author: DT Project: Part of the Data-Wise development toolkit Repo: https://github.com/Data-Wise/aiterm


Status: ✅ v0.2.1 Released Install: brew install data-wise/tap/aiterm or pip install aiterm-dev Docs: https://data-wise.github.io/aiterm/

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

aiterm_dev-0.3.7.tar.gz (832.9 kB view details)

Uploaded Source

Built Distribution

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

aiterm_dev-0.3.7-py3-none-any.whl (94.2 kB view details)

Uploaded Python 3

File details

Details for the file aiterm_dev-0.3.7.tar.gz.

File metadata

  • Download URL: aiterm_dev-0.3.7.tar.gz
  • Upload date:
  • Size: 832.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aiterm_dev-0.3.7.tar.gz
Algorithm Hash digest
SHA256 618890cab551b164179d28ad69be426d0000c8fa7eb34a751bbc9870b5ce449c
MD5 51d3ae8007749455c963f0ee9aaf607d
BLAKE2b-256 dcd0dbc5cce313ebc308b71d2ba2f84c49767146ee9ebb5945017deb992c4ec4

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiterm_dev-0.3.7.tar.gz:

Publisher: workflow.yml on Data-Wise/aiterm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiterm_dev-0.3.7-py3-none-any.whl.

File metadata

  • Download URL: aiterm_dev-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 94.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aiterm_dev-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 4db075f4e5dc660c9947ba1e29aeea691d4915babcc5ca593bd34afd8c3d3154
MD5 602e0e9ee00f487159f79a368f709e1c
BLAKE2b-256 d89f5839282226d3bcf90eef5d7d8987c42ecfc662a4ae21e15803b6412a7862

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiterm_dev-0.3.7-py3-none-any.whl:

Publisher: workflow.yml on Data-Wise/aiterm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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