create-upstash-software-factory
Create an Upstash software factory
You are helping someone build a small system with one job: they put a ready label on a GitHub issue, a coding agent implements it inside an Upstash Box, and a pull request comes back for them to review and merge. This skill carries a working implementation (in assets/template/) and the lessons from building it, so you adapt proven code instead of inventing it.
What gets built
- A factory repo (new, usually private) that holds the config, the coordination code, the workflows and the worker image definition.
- A tiny trigger workflow in each app repo. When an allowed person adds the
readylabel, it sends the repo name and issue number to the factory repo withrepository_dispatch. - The Factory workflow in the factory repo. It claims a free worker, runs the agent in that worker's Box, runs the repo's checks, pushes a branch and opens a pull request. Labels on the issue show the state:
ready,factory:running,factory:review,factory:needs-attention. - A pool of workers. One worker is one named Upstash Box. Idle Boxes are paused. A worker's agent type decides its sign-in, its command, and the model and effort stored in its Box.
Nearly everything a user may want to change later lives in factory.config.json. references/config.md lists every key.
Read references/architecture.md before you change any code. It explains the claiming protocol and the label states, and why they are the way they are.
How to work
Work in stages and stop at the end of each one. Each stage ends with something the user can see working. Building everything first and debugging it all at once is how this goes wrong: several bugs in the original build only showed up because each stage was tested on its own.