Rail Island Factory
Build your own model with Claude Code
Every model in Rail Island — from a shunting diesel to a Gothic cathedral — is a small program in the Rail Island Factory, an open GitHub repository. Claude Code on the web can write a new one for you from a description and a few photos. This page walks through the whole path, from a fork to a model in the game.
Not up for building it yourself? Ask for the model in our Facebook group. Join the Facebook group ↗
What you need
- A GitHub account. It is free, and it is where your copy of the factory will live.
- A Claude plan that includes Claude Code on the web — Pro, Max, Team or Enterprise.
- An idea, and ideally references: photos, drawings or the main dimensions of the vehicle or building. Use pictures you took yourself or ones whose licence allows it — they are stored with the model.
Step by step
- 1
Fork the factory
Sign in to GitHub, open the Rail Island Factory repository and press Fork. You get your own copy of it under your account, where you are free to change anything.
Fork on GitHub ↗ - 2
Connect GitHub to Claude Code
Open Claude Code on the web and sign in with your Claude account. When it asks, connect your GitHub account, then install the Claude GitHub App and give it access to your fork — that is what lets Claude Code save its work to your copy.
Open Claude Code ↗ - 3
Start a session on your fork
In the repository selector under the message box, choose your fork (yourname/rail-island-factory). The default environment is fine: the factory installs and builds with nothing else to configure.
- 4
Describe the model
Say what to build, how big it is, what it should look like and where your references are. The factory comes with instructions for Claude Code — triangle budgets, scale, the rules for trains, road vehicles, aircraft and buildings — so you can focus on the model itself. Examples are below.
- 5
Check the result and refine it
Claude Code writes the model, runs the factory's tests, renders a thumbnail and looks at it. Read its summary, ask what it is unsure about, and ask for changes — "the roof is too flat", "make the cab windows bigger" — as many rounds as you need.
- 6
Send it back as a pull request
When you are happy, ask Claude Code to commit and push its work. Then open your fork on GitHub, press Contribute → Open pull request, and send the branch to rail-island/rail-island-factory with a sentence about what the model is.
The factory on GitHub ↗
Rail Island PLUS
Three months of PLUS for every accepted model
When we merge your pull request into the main factory, you get three months of Rail Island PLUS for free — every vehicle and every structure type in the game, all island sizes and the full 50 storage points. To claim it, email us at info@railisland.com from the address of your Rail Island account, with a link to your merged pull request. Please do not put your e-mail address in the pull request itself: it is public.
Not everything ends with the three months, either. Every model you add to your collection while you hold PLUS — by placing it on one of your islands and saving it — stays in your collection for good, so you can keep using it on the free plan afterwards. Your own model included.
One unit, one model: variants are parameters
In the factory, one train or one vehicle family is one model. Everything that changes from one version to the next — the livery, the car of a unit, the cargo — is a parameter of that model, not a model of its own. The player picks one design and then chooses the variant, and the shared parts are written only once. A few that already work this way:
- The TGV is a single model. A unit parameter chooses between the power car and the unpowered trailer set, and a livery parameter between TGV Sud-Est orange and TGV Atlantique silver and blue.
- The steam locomotives choose between the locomotive and its tender, and the CityElefant between the motor car, the trailer and the driving trailer.
- Locomotive classes carry their liveries and sister classes as a livery parameter — the ČD 150, 151 and ŽSR 350 are one model.
- Wagons choose their cargo: empty, coal, wood, sand.
So ask for the whole unit in one request, and name its variants as parameters — "one model with a unit parameter (power car, coach) and a livery parameter (…)" — instead of a separate model for every car or paint scheme. If your vehicle is a new livery or another car of a model that already exists, ask Claude Code to add it as a value to that model's parameter.
What to ask for
A good request names the model, its real size and its look, and says where the references came from. Write it the way you would explain it to a model maker, in English or in your own language:
Add a new tram: the Škoda 15T ForCity Alfa — four sections, about 31 m long, articulated like the other trams, as one model with a livery parameter for the Prague and Riga liveries. Use the railroad-vehicle skill. Reference photos: <links> — I took them myself, store them with the model.
Add a building: the small timber railway station of my village. Single storey, about 12 × 6 m, gabled roof with a wide overhang over the platform side, a clock above the door. Reference photo: <link>, CC BY-SA, author <name>.
Add a bus: a 12 m low-floor city bus in a white and blue livery, three doors, with steerable front wheels like the other buses. Use the road-vehicle skill.
Tips
- One model per session. A focused request gets a better model and a pull request that is easy to review.
- Look at what is already there first: the factory catalog shows every model with a 3D preview, and a variant of an existing family (a new livery, another length) is often the quickest way to what you want.
- Give real measurements. Length, width and height in metres do more for a good model than any adjective.
- Ask Claude Code to explain what it built and to compare it with your references — it can open the thumbnail it rendered and tell you what does not match yet.
- Every reference ends up in the repository with its source and licence, so only use pictures you are allowed to share.
What happens next
We review every pull request: the model has to look right, stay within its triangle budget and pass the factory's tests. We may ask for changes in the pull request's comments — you can hand those back to Claude Code in the same session. Once it is merged, the model appears in the factory catalog and is imported into the game with a future release of Rail Island, for every player.