A commit mints
Every commit is worth 25 coins, in every worktree and submodule under the folders you named. A bigger city pays more per commit.
Commitropolis reads the git history you already have and turns it into a pixel city on your desktop. Every commit mints coins, coins drain into the plots you marked out, and residents move in once a place is actually served by a road and the things people need nearby.
Nothing decays. A quiet week freezes the city, it does not undo it.
A real city, mid playtest. The readout is the whole economy.
It reads one thing from each repository you point it at: the HEAD reflog. No file contents, no diffs, no remote, and nothing that leaves your machine.
Every commit is worth 25 coins, in every worktree and submodule under the folders you named. A bigger city pays more per commit.
Marking out a plot is free. A building has one cost, drained continuously while it goes up, and it never finishes faster than its build time.
A road back to the entrance is what lets work happen at all. Somewhere to shop and somewhere to sit is what makes a home worth moving into.
Residents arrive over time at buildings that are served. Cross 50 and a commit is worth double; cross 200 and you can fund a third plot at once.
Two funded, one queued. The amber is the part your commits have paid for.
Only two plots are funded at a time in a small city, so everything else waits its turn rather than failing. A bar that is not moving is telling you which of three things is true: it is queued, it has no road yet, or the wallet is empty.
Change your mind about an unfinished plot and demolishing it returns every coin it drained. A wrong choice costs you the days it held a funded slot, and nothing else.
The ground a house would be served on, drawn before you place it.
A home needs somewhere to relax in range. An office needs that and somewhere to shop. Instead of telling you afterwards that a building has no service nearby, the game shades the ground where the need is actually met, while the building is still in your hand.
The shading is generated from the same code that decides whether a resident moves in, so an overlay that is approximately right is not possible.
Hold Alt. Every facade goes translucent at once.
Buildings rise upward from the plot they sit on, so a tall one hides its northern neighbour. Holding one key makes every facade translucent together, so you can read the road network and the open ground behind the city without moving the camera or knocking anything down.
Nothing decays, nothing is taken away, and nothing counts the days since you last showed up. Cutting a road orphans a building rather than destroying it. Demolishing a shop stops new arrivals and evicts nobody. A refusal is informational and costs nothing, so the worst outcome of any decision is that the city sits exactly as you left it until you come back.
That is the whole design constraint. A city builder funded by side-project commits would be an obvious place to put a streak counter, and putting one there would make this the thing it was written to avoid.
.git is ever written, and no subprocesses are run.~/.keepgoing/city/state.json, which you can read or delete.The code that reads your repositories is a separate, public, MIT-licensed library: git-reflog. It is published so it can be audited, and consumed here as a submodule so that what is audited is what runs. The privacy policy covers the rest.
Commitropolis is in playtest and there is no public download yet. The macOS build is signed and notarized; the Windows and Linux builds are unsigned. If you want to try it, send an email and say which platform you are on.
Worth knowing before you ask: it is more pleasant after a week than after an hour, because the city is paid for by commits you make anyway rather than by a session spent playing it.