The workshop door is open

Come in and put your coat somewhere.

This is where Fate’s Edge actually gets made — the rules engine, the clients, the AI GM that you never have to turn on, and the arguments about all three. It is open, it is unfinished on purpose, and there is more of it than one person can hold.

Every layer should be replaceable, hackable, and worth someone else’s time.

Before anything else

I am one person. I read every issue and every pull request, usually within a day or two, and I have never once been annoyed that someone opened one. If you are sitting on a question because it seems too small, it is not too small. Ask it in Discussions or on Discord and I will answer.

Three ways in

Most projects like this only have a door for developers. This one has three, and none of them is the service entrance.

You want to build things

A deterministic rules engine with no hidden GM logic, a transport layer that already speaks web, terminal, Discord, Roll20, Foundry and Python, a tag-based GM protocol, and a modular AI GM that is driver-agnostic and entirely optional. Every subsystem is small enough to read in an afternoon.

Architecture · Ways to contribute · How work moves

You want to play it and tell me what broke

Playtesters are not a QA tier here. Most of what has changed in the last year changed because somebody ran a session and said the middle of it dragged, or that a rule read one way at the table and another way on the page. You do not need to file a good bug report. “This bit was confusing and here is roughly where” is genuinely enough.

Bring it to Discord · or open a discussion

You design, write, or draw

Adventure modules are JSON, rules-native, and AI-optional — you can write one without touching a line of engine code. The setting has an art bible and a community content policy that is meant to let you publish your own work, not to fence it off.

Art bible · Call for art · Community content

The one thing I genuinely cannot do myself

Architecture I can manage. Moderation, onboarding, and keeping a growing Discord safe and welcoming is not my skill set, and at the moment it is me guessing. If that is the thing you are actually good at, it is the most useful job on this project and nobody is doing it. See the full ask.

Help more tables play in their own language

Spanish drafts of the web client and core rules are ready for translators and reviewers. Help with one screen, one rules example, or one page; you do not need to code or take on a whole book. Other languages are welcome too. The TRANSLATIONS guide lists worldwide language priorities and explains how to start. I’m from Minnesota, so Somali, Hmong, Karen, and other translators from our immigrant communities are especially welcome; the guide names the varieties we want to make room for.

What you can expect from me

Clear boundaries

A layered architecture rather than a tangle. You can change one thing without reading everything.

A reply

Every issue and PR gets read by a human, which at present is the only kind of person here.

A safety net

A test-covered core, so a first contribution is unlikely to break something quietly.

Credit

Your name on what you made, and a licence that lets you keep making it elsewhere.

Starting from nothing
  1. Clone whichever repo below matches the door you came in by.
  2. Read the architecture overview — it is short.
  3. Pick the subsystem that looked interesting and ignore the rest for now.
  4. Open an issue or a draft PR. Small ones are welcome and are how most people start.
  5. Check the workflow for how Discuss → Issue → PR maps onto the repos.

The game is free, in every sense that matters and most of the ones that do not. If you build something on top of it, I would like to see it.