BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A yard where your pets talk to each other. Desktop pets for Codex and Claude Code users.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Your Codex pets, together on your desktop: up to 12 at once, talking to each other and cheering on your coding agent.
Website · User guide · Install guide · Releases · Developer docs
Site in: English · Korean · Japanese · Simplified Chinese
| Friends talk among themselves | Out on your desktop while you code | A friend for each coding agent |
|---|---|---|
| Area | What you get |
|---|---|
| Companions | Daisy, Clover (main mascot), Pip and Miso, with summer and winter outfits; or community pet files |
| Relationships | Friend, Partner, Dependable mentor, Playful younger sibling |
| Conversations | Chat with one friend, bring others in, or let them talk among themselves |
| AI connections | Signed-in Claude Code or Codex CLI, local Ollama, an OpenAI or Grok (xAI) API key, or an OpenAI-compatible server; one AI per friend |
| Places | Four places and imported backgrounds; season, time and weather controls |
| Play | Hide and seek, parade, tag |
| Garden and album | Dig for seeds, saplings and keepsakes; plant; fish and catch bugs |
| Desktop mode | Pets stroll the desktop (on macOS, over full-screen apps too) |
| Coding company | Hooks and MCP for Claude Code, Codex, Gemini CLI, Cursor, Grok Build and other MCP tools |
| Languages | English, Korean, Japanese, Simplified Chinese |
~/.codex/pets load on their own.playpets://import?url=<pet page> imports in one click.| System | Get it |
|---|---|
| macOS (Apple Silicon and Intel) | PlayPets_<version>_macos-universal.dmg from releases, or Homebrew (below) |
| Windows x64 / ARM | Microsoft Store or winget (below), or PlayPets_<version>_windows-x64-setup.exe / …_windows-arm64-setup.exe from releases |
| Linux x64 / arm64 | .deb (Debian, Ubuntu) or .AppImage (needs FUSE 2) |
# macOS
brew install gaerae/tap/playpets
# Windows
winget install --id 9NSKXQ6R187M --source msstore
| Tool | Where to paste | What it does |
|---|---|---|
| Claude Code (recommended) | ~/.claude/settings.json | Reports every step through hooks |
| Codex CLI | ~/.codex/config.toml, at the top | A note when a turn ends |
| Gemini CLI | ~/.gemini/settings.json | Reports every step through hooks |
| Cursor | ~/.cursor/hooks.json | Reports edits, commands and completion (observe-only hooks) |
| Grok Build | ~/.grok/hooks/playpets.json, a new file | Reports every step through hooks |
| Other MCP tools | The tool's MCP settings | set_pet_state, say, react, list_pets |
playpets hook claude|gemini|cursor|grok # hooks (stdin JSON, always exit code 0; prints {} for Gemini and Cursor)
playpets hook codex <json> # Codex notify
playpets mcp # MCP stdio server
playpets status <state> [message] [--pet name|ID] [--bridge file]
playpets say <message>
playpets react <action>
playpets pets
playpets run -- <command>
[!NOTE]
- The bridge stays on this computer: 127.0.0.1, with token authentication.
- Hooks leave out your prompts and tool inputs.
- Short completion and notification reports can still hold work details, including code in an agent's answer. They can reach your chosen AI provider in a friend's conversation.
- Review terminal and MCP messages before sending. Use a local model to keep those details on this computer.
PLAYPETS_DATA moves it.| Task | Command |
|---|---|
| Install dependencies | npm ci |
| Unit tests (Rust and page) | npm test |
| Format / check | npm run format / npm run lint (rustfmt, clippy, Oxlint, Biome) |
| Real-app E2E | npm run test:e2e (isolated data folder, own test pet, fake AI server) |
| Live check against community sites | npm run test:live-import |
| Site dev server / build | npm run site:dev / npm run site:build (fails on a dead link) |
| Site screenshots (macOS) | npm run shots -- x.y.z → website/public/shots/ |
| Installer art | npm run art (DMG window, Windows installer pictures, Linux store screenshots) |
| macOS dmg | npm run dist:mac → release/macos/ |
| Linux packages and E2E | npm run dist:linux (Docker) → release/linux/ (deb, AppImage, E2E under Xvfb) |
| Windows x64 packages | npm run dist:windows (Docker) → release/windows/ (MinGW cross build, NSIS installer, portable zip, MSIX signed with a test certificate in msix-test/) |
| Redraw icons | npm run icons (assets/icon.png → every icon) |
| Workflow | What it does |
|---|---|
.github/workflows/build.yml | Builds and E2E on macOS, Windows x64/arm64, Linux x64/arm64 for every push to main and every PR; artifacts in the run |
.github/workflows/release.yml | After npm run release -- x.y.z and git push origin HEAD vx.y.z: builds every platform, drafts a GitHub release with the changelog section (Release a new version) |
.github/workflows/distribute.yml | On a published release: makes the winget manifest and the Homebrew cask; with tokens, opens the winget PR and updates the tap (Signing keys and secrets) |
src/ Page (HTML, CSS, JS, used as is with no build tool)
index.html Yard window · app.js entry point, render.js draws state, window.js window dragging, resizing and Always on top
overlay.html Desktop pet window · overlay/ its scripts and styles
core/ Shared by both windows: state, sprites and animation, strings (i18n, strings), icons
yard/ The yard: the painted scenery, friends, games, treats, the garden and its gifts,
fishing and bugs, closeness, seasonal events and the yard's sounds
content/ What the yard is made of, as data: catalogue, composition, events · art/ its drawings
panel/ Side panel: tabs, friends, chat, friend settings, AI connections, invite, settings
styles/ Styles by area (base, shell, scenery, yard, panel, dialog, loaded in this order)
src-tauri/src/ App core (Rust)
main.rs Startup wiring · app.rs state (app/ loading, sprites) · commands.rs the COMMANDS table
chat/ Chat, AI connections (subscription CLIs, HTTP), prompts
pets/ Pet files, import from an address, friends in the yard
agent/ Coding agents: the app's CLI mode (hooks, MCP) and the bridge
desktop/ Desktop overlay and strolling
i18n/ Backend strings tables
*.rs window, tray, system, store (data files), update, links (playpets://)
tests/ Page and script unit tests (*.test.mjs) and real-app E2E (e2e.mjs) · Rust tests live in each .rs file
packaging/ Distribution builds: macos (dmg), linux and windows (Docker, MSIX)
scripts/ Dev tools (release, distribution channels, site preparation, screenshots, installer art, OG images, mascot pets, measurement, icons)
assets/ Source art: icon, mascot, starter companions, banner and demo GIF
docs/ Developer docs (architecture, standards, how-to, decisions, design records)
website/ The site (VitePress): landing page, user guide and release pages in English (the root), Korean (ko/), Japanese (ja/) and Simplified Chinese (zh-hans/); developer docs are copied in from docs/ to dev/
src-tauri/src/desktop/overlay.rs).WebView2Loader.dll next to the exe (the installer and the portable zip include it). An MSVC build links it statically.packaging/windows/msix/AppxManifest.xml.
playpets.exe.MSIX_PUBLISHER.release/windows/msix-test/README.txt.app.playpets is the data folder name; it never changes after release.assets/.pet.json.