Skip to content

Repository files navigation

HAL 9000

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:

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

Opinionated 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
  • 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 optionally 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

Demo

hal-9000-video.mp4

About

Opinionated AI coding agent and dev environment automation for macOS

Topics

Resources

Stars

123 stars

Watchers

4 watching

Forks

Used by

Contributors

Languages