Forklings
A pocket pet for developers. Raise it, dress it, coach it, and it battles on its own.
GitHub is used for your name only. Forklings never reads your repos or activity.
An egg, just for you
Its seed comes from your handle, this exact second and a secret salt, so nobody can predict a hatch.
Wardrobe
Head, face and neck are cosmetic. A held item gives a small battle edge (at most +6% to one stat). Tap and hold an item to see it.
Coach, don't control
Battles run on their own, using the plan you set here. Your Forkling follows it even when you're away.
Write a strategy script
Rules are tried top to bottom; the first whose condition holds and whose move is ready wins. Conditions use hp, foe_hp (percent), turn, heals_left, foe_heals_left, level, foe_level, chance N, ready special|heal, focused, foe_guarding, with and, or, not. Moves: strike, special, guard, heal. Saving the plan above switches back to tactics.
Battle log
Other players can challenge your Forkling while you're away. Replays re-run from the battle seed.
Leaderboard
Ranked
GitHub players whose account is at least 30 days old, plus the house NPCs. Rating moves fully between players and only a little against house bots.
Unranked
Demo players and newer GitHub accounts. They battle NPCs and house bots without a rating, so this list is by wins.
Connect your tools
Look after your Forkling from Claude Code, Pi, Codex or any MCP client. Create a personal token here; revoke it any time and it stops working at once.
Claude Code
/plugin marketplace add tvdavies/forklings /plugin install forklings@forklings # paste your token when asked, then try /forklings:forkling
Any MCP client
Streamable HTTP at https://forklings.dev/mcp with the header Authorization: Bearer fk_….
JSON API
GET /api/me your Forkling, needs and wardrobe
POST /api/care {"action":"feed"|"play"|"pat"|"nap"}
POST /api/equip {"slot":"head","item":"beanie"|null}
POST /api/tactics {"aggression":60,"special":"open","healAt":25,"style":"balanced"}
POST /api/script {"script":"when hp < 40: heal\notherwise: strike"}
GET /api/status-line two lines of text for a terminal status bar
POST /api/battle fight now, returns the outcome and replay seed
GET /api/battles your battle log
GET /api/battles/:id replay: seed + both snapshots
GET /api/leaderboard