HAL 9000

Opinionated AI coding agent and dev environment automation for macOS that dominates your dev setup like cats rule the Internet.
This project is named after Arthur C. Clarke's 2001: A Space Odyssey, a heuristic algorithmic computer designed for sentient processing and total mission control.
Bootstrap
All-in-one command to set up:
- Agent Skills
- Claude Code / Plugins / Rules / Output Styles / Statusline
- Codex
- Python
- Node.js
- Bun
- Solidity
- Docker (OrbStack)
- Kubernetes
- Amazon Web Services
- Google Cloud
curl -sL https://raw.githubusercontent.com/vinta/hal-9000/main/bin/open-the-pod-bay-doors.sh | bash
Components
Dotfiles
Tool configs hardened against supply chain attacks and tuned for better DX:
CLAUDE.md / AGENTS.md
Dogmatic yet meticulously crafted global instructions for agentic coding:
Also see:
Skills
Agentic skills sharpened by daily use:
- commit: Creates clean, atomic git commits with conventional messages
- best-practices: Researches current best practices from docs and the web before you code
- brainstorm: Generates one-line ideas from 6 independent perspectives, a quarter deliberately absurd
- blindspot: Surfaces your unknown unknowns before you work in an unfamiliar domain
- simple-english: Rewrites technical writing in Global English, clear for a global audience
- write-like-me: Drafts or rewrites English prose in my own voice at native fluency
- audit-claude-settings: Audits your Claude Code settings and suggests tailored changes
- refactor-claude-md: Refactors a CLAUDE.md toward progressive disclosure
- refactor-agents-md: Refactors an AGENTS.md toward progressive disclosure
/plugin marketplace add vinta/hal-9000
/plugin install hal-skills@hal-9000
If you want to use them in Codex or other coding agents:
npx skills add vinta/hal-9000
Claude Code Plugins
Plugins that wire their own hooks and run themselves:
- hal-session-auto-rename: Automatically name each session and rename it as the conversation evolves
- hal-voice: Play HAL 9000 voice clips on Claude Code hook events
/plugin marketplace add vinta/hal-9000
/plugin install hal-session-auto-rename@hal-9000
/plugin install hal-voice@hal-9000
Claude Code Statusline
- hal-statusline: Show the current model, directory, git branch, and model usage status in statusline
- Plus a grammar check on every prompt you type, with explanations in Traditional Chinese
curl -sL https://raw.githubusercontent.com/vinta/hal-9000/main/scripts/install-hal-statusline.sh | bash
CLI: hal
hal update # Run all Ansible roles to set up the dev environment
hal update --tags python,node # Run specific Ansible roles
hal link ~/.zshrc # Move file into dotfiles/ and symlink it back
hal unlink ~/.zshrc # Move file back from dotfiles/ and remove the symlink
hal copy ~/.config/ghostty/config # Copy file into dotfiles/ (no symlink)
hal sync # Sync all links and copies
hal backup # Back up live data to Dropbox
hal restore # Restore live data from Dropbox (overwrites local)
hal open-the-pod-bay-doors # Open the pod bay doors, please, HAL
Development
make install # Install dev dependencies and pre-commit hooks
make test # Run tests
make hal-completion # Regenerate zsh completion after modifying bin/hal.py
hal sync # Update local completion