{
  "markdown": "# HAL 9000\n\n<img src=\"skills/icon.svg\" width=\"128\" alt=\"vinta/hal-9000 icon\">\n\nOpinionated AI coding agent and dev environment automation for macOS that dominates your dev setup like cats rule the Internet.\n\n> 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.\n\n## Bootstrap\n\nAll-in-one command to set up:\n\n- Coding Agents\n  - [Agent Skills](skills)\n  - [Claude Code](dotfiles/.claude) / [Plugins](plugins) / [Rules](dotfiles/.claude/rules) / [Statusline](plugins/hal-statusline)\n  - [Codex](dotfiles/.codex)\n- Languages\n  - [Python](playbooks/roles/python/tasks/main.yml)\n  - [Node.js](playbooks/roles/node/tasks/main.yml)\n  - [Bun](playbooks/roles/bun/tasks/main.yml)\n  - [Go](playbooks/roles/go/tasks/main.yml)\n- DevOps\n  - [Docker](playbooks/roles/docker/tasks/main.yml) (OrbStack)\n  - [Kubernetes](playbooks/roles/kubernetes/tasks/main.yml)\n  - [Amazon Web Services](playbooks/roles/aws/tasks/main.yml)\n  - [Google Cloud](playbooks/roles/gcp/tasks/main.yml)\n\n```bash\ncurl -sL https://raw.githubusercontent.com/vinta/hal-9000/main/bin/open-the-pod-bay-doors.sh | bash\n```\n\n## Components\n\n### Dotfiles\n\nTool configs hardened against supply chain attacks and tuned for better DX:\n\n- [`.claude/settings.json`](dotfiles/.claude/settings.json)\n- [`.codex/config.toml`](dotfiles/.codex/config.toml)\n- [`.config/ghostty/config`](dotfiles/.config/ghostty/config)\n- [`.config/uv/uv.toml`](dotfiles/.config/uv/uv.toml)\n- [`.npmrc`](dotfiles/.npmrc)\n- [`.zshrc`](dotfiles/.zshrc)\n\n### CLAUDE.md / AGENTS.md\n\nDogmatic yet meticulously crafted global instructions for agentic coding:\n\n- [`~/.claude/CLAUDE.md`](dotfiles/.claude/CLAUDE.md)\n- [`~/.codex/AGENTS.md`](dotfiles/.codex/AGENTS.md)\n\nAlso see:\n\n- [Claude Code and Codex: Things I Learned After Using Them Every Day](https://vinta.ws/code/claude-code-useful-plugins-skills-and-mcps.html)\n\n### Skills\n\nAgentic skills sharpened by daily use:\n\n- [commit](skills/commit/SKILL.md): Splits your changes into atomic conventional commits, hunk by hunk if needed\n- [pr](skills/pr/SKILL.md): Opens a PR, rewrites a PR, or waits for CI and merges it, in seconds on a cheap model\n- [difference](skills/difference/SKILL.md): A shortcut to answer \"what's the difference? pros and cons?\" very quickly\n- [fuck-over-engineering](skills/fuck-over-engineering/SKILL.md): Ranks what to cut in your codebase, deletes only what you pick\n- [best-practices](skills/best-practices/SKILL.md): Searches the web for the recommended way and common gotchas\n- [blindspot](skills/blindspot/SKILL.md): Turns unknown unknowns into known unknowns, then lets you pick where to explore\n- [simple-english](skills/simple-english/SKILL.md): Rewrites text in Global English: plain words, still native-sounding\n- [write-like-me](skills/write-like-me/SKILL.md): Drafts or rewrites English prose in my own voice at native fluency\n- [audit-claude-settings](skills/audit-claude-settings/SKILL.md): Audits your Claude Code settings against the latest docs\n- [refactor-claude-md](skills/refactor-claude-md/SKILL.md): Refactors a CLAUDE.md so every line earns its always-loaded cost\n- [refactor-agents-md](skills/refactor-agents-md/SKILL.md): Refactors an AGENTS.md the same way, for Codex\n- [refactor-memory](skills/refactor-memory/SKILL.md): Prunes stale Claude Code and Codex memories, applies only what you pick\n- [refactor-skill](skills/refactor-skill/SKILL.md): Refactors a skill by simplifying it instead of complicating it\n\n```bash\n# Claude Code\nclaude plugin marketplace add vinta/hal-9000\nclaude plugin install hal-skills@hal-9000\n\n# Codex\ncodex plugin marketplace add vinta/hal-9000\ncodex plugin add hal-skills@hal-9000\n```\n\nIf you want to use them in other coding agents:\n\n```bash\nnpx skills add vinta/hal-9000\n```\n\n### Claude Code Plugins / Mods\n\nPlugins that wire their own hooks and run themselves:\n\n- [hal-output-styles](plugins/hal-output-styles): Make Claude Code talk like an INTJ\n  - [Say no more](plugins/hal-output-styles/output-styles/say-no-more.md)\n  - [ASD-STE100](plugins/hal-output-styles/output-styles/asd-ste100.md)\n- [hal-grammar-check](plugins/hal-grammar-check): Grammar-check your prompt as you type, shown above the prompt box\n- [hal-session-auto-rename](plugins/hal-session-auto-rename): Automatically name each session and rename it as the conversation evolves\n- [hal-voice](plugins/hal-voice): Play HAL 9000 voice clips on Claude Code hook events\n\n```bash\nclaude plugin marketplace add vinta/hal-9000\nclaude plugin install hal-output-styles@hal-9000\nclaude plugin install hal-grammar-check@hal-9000\nclaude plugin install hal-session-auto-rename@hal-9000\nclaude plugin install hal-voice@hal-9000\n```\n\n### Claude Code Statusline\n\n- [hal-statusline](plugins/hal-statusline): Show the current model, directory, git branch, and model usage status in [statusline](https://code.claude.com/docs/en/statusline)\n  - Plus **a grammar check on every prompt you type**, with explanations in Traditional Chinese\n\n```bash\ncurl -sL https://raw.githubusercontent.com/vinta/hal-9000/main/scripts/install-hal-statusline.sh | bash\n```\n\n### CLI: `hal`\n\n```bash\nhal update                            # Run all Ansible roles to set up the dev environment\nhal update --tags python,node         # Run specific Ansible roles\nhal link ~/.zshrc                     # Move file into dotfiles/ and symlink it back\nhal unlink ~/.zshrc                   # Move file back from dotfiles/ and remove the symlink\nhal sync                              # Sync all links\nhal sync --force                      # Same, but replace real directories sitting at link destinations\nhal backup                            # Back up live data to Dropbox\nhal backup --prune                    # Also delete backup files that no longer exist locally, after asking\nhal restore                           # Restore live data from Dropbox (overwrites local)\nhal open-the-pod-bay-doors            # Open the pod bay doors, please, HAL\n```\n\n## Development\n\n```bash\nmake install                          # Install dev dependencies and pre-commit hooks\nmake test                             # Run tests\nmake hal-completion                   # Regenerate zsh completion after modifying bin/hal.py\nhal sync                              # Update local completion\n```\n\n## Demo\n\n<video src=\"https://github.com/user-attachments/assets/e86ead6d-189b-4361-a98b-4453ac0e8c25\" width=\"800\" height=\"450\"></video>\n",
  "bytes": 6491,
  "sha": "1fc288a0981f174d182c1441617ea53002947ba4712dc45b6c1a601d36ec22de",
  "repo_slug": "vinta/hal-9000",
  "fonte": "repo",
  "truncated": false,
  "api": "https://api.agentalog.com/api/listings/skl_vinta_hal_9000_sync_skills_b6aa7519/readme"
}