This is the source code for Poppy Seed Pets. It is available under the GPL 3.0 license.
You only need Docker Desktop installed — Docker handles PHP, Node, Composer, MySQL, and Redis for you.
- Clone this repo.
- Drop your
proprietary-assets/folder at the repo root (game images & fonts — the only thing not bundled with the repo). - Run
docker compose up. - Open https://localhost:4200 in your browser and accept the dev-certificate warning.
The first boot takes a few minutes (installing PHP and Node dependencies). Subsequent boots take about 15 seconds. Edits to PHP and TypeScript files hot-reload — no rebuild needed.
For the long form (native install, prod notes, troubleshooting), see docs/Installing and Running.md.
More info about this project can be found in the docs/ directory:
- Play the game! (poppyseedpets.com)
- Find us on the Everyone Makes Stuff Discord server
- Check out BenMakesGames' other games, on Steam
- Support BenMakesGames on Patreon
- hosting PSP isn't free... but this also isn't my job; I'm good; def take care of yourself first!
- Learn more about the GPLv3 license
- "The Art of Readable Code" - https://docslib.org/doc/3480439/the-art-of-readable-code-pdf
- Some YouTube videos - https://www.youtube.com/playlist?list=PLMzQZ9sF5S2HecRCVCF9pmdqfZK2HCbxN
I've personally used and optimized for Claude, but others should work, including open-source tools such as OpenCode.
Example: /write-ticket add a new item called Sticky Buns that can be cooked by players
The /write-ticket skill will research the codebase, ask you clarifying questions (in the example above you might be asked what the ingredients are, what item graphic to use, etc), and document the results.
If you change your mind about something but the AI already wrote the ticket, just ask it to change it!
Example: /implement-ticket add sticky buns (or whatever title the AI gave your ticket in the first step)
Besides implementing the named ticket, /implement-ticket will:
- Ask any additional clarifying questions and perform any additional needed research
- Check for syntax & build errors
- Document pain points during development (to be used to improve the codebase as a whole)