HAL 9000

HAL 9000

Opinionated macOS development environment automation 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:

curl -sL https://raw.githubusercontent.com/vinta/hal-9000/main/bin/open-the-pod-bay-doors | bash

Components

If you prefer only using some of them:

Claude Code Plugin: hal-skills

  • commit: Creates clean, atomic git commits with conventional messages
  • best-practices: Researches current best practices from docs and the web before you code
  • simple-english: Rewrites technical writing in Global English, clear for a global audience
  • magi: Multi-model brainstorming with Claude, Codex, and Gemini
  • 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:

npx skills add vinta/hal-9000

Claude Code Plugin: hal-voice

  • hal-voice: Play HAL 9000 voice clips on Claude Code hook events
/plugin marketplace add vinta/hal-9000
/plugin install hal-voice@hal-9000

Claude Code Statusline

  • hal-statusline: Show the current model, directory, and git branch 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 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
hal sync                              # Update local completion

Demo