Start Here

Use of AI

Boundless Missions was written with an AI coding assistant. This page is here because you deserve to know that before you install an add-on that runs inside your game, and because the honest version of the story is longer than yes or no.

The short version

The code in the bot, the add-on and this website was written with heavy use of Anthropic’s Claude, driven from Claude Code, over months of daily work alongside a human author who directed it, rejected a great deal of it, and is answerable for every line that shipped.

The assistant is a tool that writes quickly and understands nothing about whether a craft actually lands. So the part of the process that matters is not what wrote the first draft. It is what happened to that draft afterwards, which is the rest of this page.

Where it was used

Discord bot & API server

Python, roughly 41,000 lines. The cogs, the wallet and contract economy, the FastAPI routes the game talks to, the Firestore data layer and the spend guard in front of it.

The KSP add-on

C#, roughly 55,000 lines. Craft transfer between differently modded saves, the TweakScale / texture / fuel-config bakes, life-support adapters, cheat detection, the in-game sidebar and the blueprint renderer.

This website

Next.js and TypeScript. The marketplace, the contract and account pages, the moderation console, and the documentation you are reading now.

Tests, tooling & review passes

The offline test suites, the harness that drives a running KSP from outside it, the build and packaging scripts, and repeated line-by-line review passes over the whole codebase.

Its use runs across the whole codebase rather than sitting in one corner of it. Calling it a “boilerplate helper” would be the easier thing to say, but it would not quite cover the work it did.

What it was not used for

  • Deciding what this is. The design aspects, the rules of the economy, what is fair between two players, what a rescue contract even means: those are the author’s, and most of the work was arguing the assistant out of the obvious wrong answer.
  • Judging whether it works. A model cannot tell you that a transferred craft arrives buried in a hillside, that a thawed kerbal loses SAS, or that the Astronaut Complex has quietly stopped hiring. Every one of those was found by playing the game.
  • Art and assets. The add-on ships no parts, no models and no textures. It is a plugin; it adds behaviour to the parts you already have.
  • Other people’s work. Nothing here redistributes another mod. When a shared craft uses a texture pack, the paint job is carried as a reference and a dependency list, never the pack’s art. Missing mods are resolved into a CKAN modpack that installs them from their authors, with the right attribution and the right versions.

How it was checked

Generated code that nobody verified is worthless, and we treat it that way. Four things stand between a draft and a release:

29 offline test suites

Signing and session auth, the economy and fine debt, contract state transitions, suspensions, craft bans, the crew ledger, cost limits and rate limits, plus a separate suite for the website. They run against the real modules, not mocks of them, and they run before anything ships.

Repeated line-by-line review passes

Successive passes over the same code, each one ending in a numbered ledger of findings that has to be closed before the next pass begins. They carry executable repro scripts, so a claimed bug has to actually reproduce before it is accepted as one, and a claimed fix has to make it stop. Most of what they turn up never reaches a player: it was cleared before release.

Played in four modded installs

Not stock. Two near-identical instances run side by side so two-player hand-overs can be tested with a real account on each end, plus a Realism Overhaul / RSS install and an RP-1 install with Kerbalism, FAR and KCT. If a craft transfer survives those, it survives most saves.

An in-game verification pass

A dev-only bridge lets the game itself be inspected while it runs: the roster, the vessel list, the persisted queues and the derived crew sets, read in one consistent snapshot. It found real defects that reading the code had not, including a crew-transfer bug that had already survived four rounds of review and testing.

Two rules run through all of it. A test scenario whose manual step was not actually performed reports skipped, never passed. Reporting green for work nobody did is the exact failure this process exists to prevent. And the test harness calls the real functions rather than its own copy of them, because a harness that reimplements the logic it is checking passes precisely when the real code fails.

The debug bridge that makes all of this possible is compiled out of the released add-on, and the build asserts it both ways: the shipped DLL must contain none of its markers, and a development build must contain all of them. Without the second half, their absence proves nothing except that the check is broken.

A note for the KSP modding community

We know the reception AI-assisted mods get, and we think the objection is mostly right. What the community actually objects to is not a machine touching a keyboard. It is code nobody understood being published, breaking saves, and being abandoned when the questions start. It is people passing off work they cannot support, and assets they do not own.

That is a fair thing to be angry about, and it is the standard we would rather be measured against than the tooling question. So:

  • Every subsystem in this add-on is documented with the reasoning behind it: not what it does, but why it is built that way and what breaks if you change it. If we cannot explain a decision, it is not finished.
  • All three repositories are public and GPL-3.0. The review passes, the findings ledgers and the in-game verification write-ups are part of the work. You are invited to check the claims on this page against the code.
  • Bugs go to a real ticket with a real person on the other end, and the add-on can file one for you from its Tools tab with your KSP.log attached.

If it turns out badly, the tooling will not be the excuse. That is the deal.

Different from the AI inside the product

This page is about how the software was built. Boundless Missions also calls a model at runtime in a few narrow places: reading a screenshot, reviewing a submission, classifying a mission’s wording. What those do, what they are never allowed to do, and what happens when the model is unavailable is covered in AI Integration.

Read the source

The bot, the add-on and this website are on GitHub. The fastest way to judge whether the work behind this is real is to open Sharing Craft and see what it takes to move one ship between two saves that are not identically modded. That problem is the reason this project exists, and no amount of generated code solves it by itself.

With respect to the people who built the rest of it

Almost nothing this add-on does would work without mods written by other people, for free, over years. Craft transfer exists as a problem at all because the community made KSP installs so varied that no two are alike, and every hard part of this project is really a piece of somebody else’s work being handled carefully.

TweakScale and KSP-Recall taught us why a scaled part has to be baked rather than re-derived. Textures Unlimited and Reforged Materials Redux are the reason a paint job can cross between two saves at all. RealFuels and Realism Overhaul set the bar for what a transferred craft has to survive. USI-LS, TAC-LS, Snacks, Kerbalism and DeepFreeze are why a stranded crew can be rescued by someone running a completely different life support mod. ReStock and ReStock+ made part substitution possible, ConformalDecals made us fix a renderer we thought was finished, and ModuleManager and CKAN are the ground the whole ecosystem stands on. Parallax, FAR, Principia, RP-1 and blackrack’s Deferred each broke something here and made it better.

None of those authors asked for this, endorsed it, or owe it anything. We do not bundle their work, patch over it, or ask you to install a fork of it. Where this add-on needs one of their mods, it names it, points you at the author, and gets out of the way. If anything here ever handles your mod in a way you would rather it did not, say so and we will change it.