{"id":50782883,"url":"https://github.com/interesting-vibe-coding/paws","last_synced_at":"2026-06-12T05:02:12.666Z","repository":{"id":361578232,"uuid":"1254994029","full_name":"interesting-vibe-coding/paws","owner":"interesting-vibe-coding","description":"🐾 Terminal companion for AI coding agents — a side-pane game that auto-pauses when your agent needs input","archived":false,"fork":false,"pushed_at":"2026-06-02T16:51:43.000Z","size":147,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T17:12:17.820Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/interesting-vibe-coding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-31T09:03:58.000Z","updated_at":"2026-06-02T16:51:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/interesting-vibe-coding/paws","commit_stats":null,"previous_names":["misterbrookt/paws","interesting-vibe-coding/paws"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/interesting-vibe-coding/paws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interesting-vibe-coding%2Fpaws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interesting-vibe-coding%2Fpaws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interesting-vibe-coding%2Fpaws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interesting-vibe-coding%2Fpaws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interesting-vibe-coding","download_url":"https://codeload.github.com/interesting-vibe-coding/paws/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interesting-vibe-coding%2Fpaws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34229624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-12T05:02:09.885Z","updated_at":"2026-06-12T05:02:12.660Z","avatar_url":"https://github.com/interesting-vibe-coding.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"English | [中文](README.zh.md)\n\n\u003cdiv align=\"center\"\u003e\n\n# 🐾 Paws\n\n[![CI](https://github.com/interesting-vibe-coding/paws/actions/workflows/ci.yml/badge.svg)](https://github.com/interesting-vibe-coding/paws/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Works with Kaku, WezTerm, iTerm2 \u0026 tmux](https://img.shields.io/badge/Works_with-Kaku_%7C_WezTerm_%7C_iTerm2_%7C_tmux-blue)](https://github.com/interesting-vibe-coding/paws#install) [![Made with Lua \u0026 Rust](https://img.shields.io/badge/Made_with-Lua_\u0026_Rust-orange)]() [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/interesting-vibe-coding/paws/pulls) [![GitHub Stars](https://img.shields.io/github/stars/interesting-vibe-coding/paws?style=flat\u0026color=yellow)](https://github.com/interesting-vibe-coding/paws/stargazers)\n\nPlay games while your AI agent works. A status HUD tells you when to come back.\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"docs/demo.gif\" width=\"600\" alt=\"Paws demo\"\u003e\u003c/p\u003e\n\nA terminal companion for AI coding agents. Press CMD+G, pick a game, and play in a full-window tab while your agent thinks. A live HUD overlaid on the top row shows which sessions are running and flashes when one finishes — you switch back when you're ready.\n\n## Use\n\n| Key | Action |\n|-----|--------|\n| **CMD+G** | First press: open the game picker. After that: toggle agent ↔ game. |\n| **CMD+SHIFT+P** | Re-open the picker to change game. |\n| **CMD+H** | Open the Paws repo in your browser. |\n\nThe HUD shows session state (running / done) and flashes on completion. No auto-switching — you stay in control.\n\n## Install\n\n### 1. Let your agent do it (recommended)\n\n\u003e \"Install Paws using the skill in `paws/skills/paws-install/SKILL.md`.\"\n\nSupports **Kiro CLI**, **Claude Code**, and **Codex CLI** — see the [install skill](skills/paws-install/SKILL.md) for per-agent setup.\n\n### 2. Homebrew\n\n```bash\nbrew tap interesting-vibe-coding/paws\nbrew install paws        # the paws binary\nbrew install paws-games  # all 7 games\n```\n\nOr install the latest development build:\n\n```bash\nbrew install --HEAD interesting-vibe-coding/paws/paws\nbrew install --HEAD interesting-vibe-coding/paws/paws-games\n```\n\n### 3. Manual\n\n```bash\ncargo install --path .   # build paws\n\n# Install games individually:\ncargo install --git https://github.com/interesting-vibe-coding/paws-games --bin jump-high\ncargo install --git https://github.com/interesting-vibe-coding/paws-games --bin earth-online\ncargo install --git https://github.com/interesting-vibe-coding/paws-games --bin tetris\ncargo install --git https://github.com/interesting-vibe-coding/paws-games --bin snake\ncargo install --git https://github.com/interesting-vibe-coding/paws-games --bin 2048\ncargo install --git https://github.com/interesting-vibe-coding/paws-games --bin breakout\ncargo install --git https://github.com/interesting-vibe-coding/paws-games --bin space-invaders\n```\n\nThen wire the terminal integration and hooks for your agent (see [`hooks/`](hooks/) for reference configs).\n- **Kaku:** add [`lua/paws.lua`](lua/paws.lua) to `~/.config/kaku/kaku.lua` before `return config` — reload with CMD+Shift+R\n- **WezTerm:** add [`lua/paws.lua`](lua/paws.lua) to `~/.config/wezterm/wezterm.lua` — auto-reloads on save\n- **iTerm2:** copy [`iterm2/paws.py`](iterm2/paws.py) to `~/.config/iterm2/scripts/AutoLaunch/` and bind 3 keys — see [setup guide](docs/iterm2-setup.md)\n- **tmux:** copy [`tmux/`](tmux/) scripts to `~/.config/paws/` and add 2 lines to `~/.tmux.conf` — see [setup guide](docs/tmux-setup.md)\n\n## Games\n\n| Game | Binary | Description |\n|------|--------|-------------|\n| 🐕 Dog Jump | `jump-high` | Jump King-style platformer — charge, aim, and pray |\n| 🌍 Earth Online | `earth-online` | Real-life side quests to run while your agent works |\n| 🧱 Tetris | `tetris` | Classic block-stacking with levels and scoring |\n| 👾 Space Invaders | `space-invaders` | Classic arcade shooter — blast the alien fleet before they land |\n| 🏓 Breakout | `breakout` | Smash bricks with a bouncing ball — power-ups, hard bricks, 3 lives |\n| 🐍 Snake | `snake` | Eat, grow, don't bite yourself — speed scales with score |\n| 🎮 2048 | `2048` | Slide tiles, merge numbers, reach 2048 |\n\nDon't see enough? Open **⤓ Install games** in the picker to browse the catalog and install more in place. The catalog is the [paws-games](https://github.com/interesting-vibe-coding/paws-games) plugin library — anyone can contribute a game.\n\n## Terminals\n\n| Terminal | Integration | Keys |\n|----------|-------------|------|\n| [Kaku](https://github.com/tw93/kaku) | `lua/paws.lua` → Lua config | CMD+G / CMD+SHIFT+P |\n| [WezTerm](https://wezfurlong.org/wezterm/) | `lua/paws.lua` → Lua config | CMD+G / CMD+SHIFT+P |\n| [iTerm2](https://iterm2.com) | `iterm2/paws.py` → AutoLaunch script | CMD+G / CMD+SHIFT+P — [setup](docs/iterm2-setup.md) |\n| tmux | `tmux/*.sh` → shell scripts | Prefix+g / Prefix+G — [setup](docs/tmux-setup.md) |\n\n## How it works\n\nAgent hooks write session state to `/tmp/paws-sessions/` → the terminal integration handles the key binding (spawns/toggles a window) → the `paws` host runs the chosen game in a PTY and renders the HUD on the top row. Games are standalone binaries discovered via a [registry](registry.toml).\n\nFor architecture details, see [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).\n\n## Contributing\n\nWant to add a game or improve Paws? See [CONTRIBUTING.md](CONTRIBUTING.md) for the game binary contract, registry format, and PR checklist.\n\n---\n\nMore projects → [doabit.dev](https://doabit.dev) · License: MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finteresting-vibe-coding%2Fpaws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finteresting-vibe-coding%2Fpaws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finteresting-vibe-coding%2Fpaws/lists"}