Skip to main content

日本語 | 中文 | Español | Français | हिन्दी | Italiano | Português (BR)

Star Freight — Trade. Decide. Survive.

CI License Landing Page

Star Freight

You were a military pilot. Then you were a disgrace. Now you are a captain with a bad ship, no standing, and a star system that was already moving before you got here.

Star Freight is a text-first tactics merchant RPG about hauling freight through a politically fractured star system. Five civilizations. One economy. Four truths that won't let you play the same life twice.


The game

You dock at stations where the culture changes how you negotiate. You pick routes where the terrain changes how you fight. You hire crew who change what you can do, what you can access, and what you owe. You take contracts that look simple until the paperwork catches up, the shortage changes the price, or the cargo turns out to be evidence.

You are not the chosen one. You are a working captain trying to keep a ship moving while institutions seize cargo, shortages reshape routes, crews bring obligations aboard, and dangerous truths surface through ordinary work.

Every run becomes a different captain life. Not because you picked a class, but because your crew, your routes, your risks, and your standing shaped you into someone.

Why it feels different

Most RPGs stack systems side by side. Star Freight makes them transact.

Crew is binding law. Thal isn't a +10% repair bonus. Thal is why you can dock at Keth stations, why your ship has an emergency repair ability, and why you noticed the medical cargo didn't match the season. Lose Thal, and three systems lose capability at once.

Combat is a campaign event. You don't load into a fight and load back out. Victory writes salvage credits and faction heat. Retreat costs jettisoned cargo and a reputation as someone who runs. Defeat means seized cargo, injured crew, and a ship that limps to the nearest station at a premium. Every outcome changes your next trade decision.

Culture is social logic. The Keth don't just have different prices. They have a seasonal biological calendar that changes what gift-giving means, when pushing a deal is an insult, and when outsiders are confined to the outer ring. The Veshan don't just fight. They challenge — and refusing is worse than losing. Knowledge isn't a codex. It's reading the room.

Investigation emerges from life. You notice the medical cargo doesn't match the season because you've been hauling it. You find the manifest discrepancy because you salvaged a wreck. Your Keth crew member interprets the pattern because she remembers her debt to the same supplier. The conspiracy doesn't announce itself. You stumble into it by doing the job.

The world

Five civilizations share a star system called the Threshold.

The Terran Compact — Bureaucratic human government. They disgraced you. Getting back in means permits, patience, and swallowing pride. Safe markets, tight margins, heavy paperwork.

The Keth Communion — Arthropod collective on a biological calendar. Patient, observant, and devastating when offended. The best margins in the system if you understand the seasons. The fastest reputation collapse if you don't.

The Veshan Principalities — Reptilian feudal houses obsessed with honor and debt. They fight formally, trade directly, and remember everything. The Debt Ledger is not flavor. It's leverage.

The Orryn Drift — Mobile broker civilization. Neutral by policy, profitable by design. They trade with everyone, know everything, and charge for both. Cutting them out saves money. Losing their goodwill costs more.

The Sable Reach — Pirate factions, Ancestor tech salvagers, and people the Compact would rather forget. No law. No customs. No refunds. The highest risk and the highest reward in the system.

Three kinds of captain

The same world. Three different pressures.

Relief captain. Convoy discipline, trust-based access, public consequence. You keep people fed and get trapped by legitimacy. You fear delay and undercapacity.

Gray runner. Paper leverage, timing abuse, institutional risk. You make money by staying hard to read. You fear seizure and exposure.

Honor captain. Direct confrontation, house politics, reputation volatility. You solve problems face-to-face. You fear escalation and thin support networks.

These are not classes. They are what your choices turned you into.

Quickstart

# Clone and install
git clone https://github.com/mcp-tool-shop-org/star-freight.git
cd star-freight
pip install -e ".[tui]"

# Start a new game
starfreight new "Captain Nyx" --type merchant
starfreight tui

Controls: D Dashboard | C Crew | R Routes | M Market | T Station | J Journal | F Faction | B Buy | S Sell | G Travel | A Advance

Current state

Star Freight is a proved product, not a design concept.

Count
Stations 9
Space lanes 14
Trade goods 18
Crew members 5 + player
Contracts 9
Encounters 6
Investigation threads 4
Tests passing 2,200+

The vertical slice has passed all three proof criteria: Golden Path (continuous captain life), Encounter (three branches with different campaign state), and Economy (pressure sustains without collapsing into grind).

Three expansion packs are shipped: Working Lives (human texture), Houses, Audits, and Seizures (institutional pressure), and Shortages, Sanctions, and Convoys (managed scarcity).

Captain path divergence is proved: three postures produce different routes, different trade mixes, different combat profiles, different failure textures, and different captain identities.

Shipcheck scorecard

Gate Status Evidence
A. Security PASS SECURITY.md, offline-only, no secrets/telemetry
B. Errors PASS 2200+ tests, structured campaign validation
C. Docs PASS README (8 languages), CHANGELOG, LICENSE, HANDBOOK
D. Hygiene PASS CI (Python 3.11+3.12), v1.0.0, paths-gated workflow
E. Polish PASS Logo, translations, maritime term guard CI

Tech

Python 3.11+. Rich TUI. Crew binding, grid combat, cultural knowledge, investigation, and campaign orchestration. 2200+ tests.

No external AI dependencies. No cloud services. Runs on your machine.

Threat model: Star Freight is a single-player offline game. It touches only local save files. It does NOT access the network, collect telemetry, store credentials, or require user accounts. Dependencies are Typer, Rich, and Textual — all well-maintained, no native code. See SECURITY.md for the full policy.

The standing rule

When unsure what to build next:

  • Does it reinforce one of the four truths?
  • Does it sharpen a captain life?
  • Does it create a decision the player can feel?

If not, it can wait.


Star Freight is a game about moving through systems of power without ever fully belonging to them.

Built by MCP Tool Shop

Metadata

Release files for star-freight 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for star-freight 1.0.3
File Size Uploaded
star_freight-1.0.3.tar.gz 2.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for star-freight 1.0.3
File Interpreter ABI Platform
star_freight-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 2.9 MB

Release files / star_freight-1.0.3.tar.gz

Download URL star_freight-1.0.3.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
128f87078da68660d1b045c9800be31328c916d09107b56c0261f498ef0e4feb
BLAKE2b-256 checksum
How to use checksums
f0610ab2e25ec205ec46de6da1f98a663569c0dd1f6edefd6d688e762b637ee8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release files / star_freight-1.0.3-py3-none-any.whl

Download URL star_freight-1.0.3-py3-none-any.whl
Size 608.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0d37f34ad7903a861b47c4d8835a39cf16b497fd9ae521e1d765dea40ab1ec26
BLAKE2b-256 checksum
How to use checksums
655a88713230bc3d76cf696433e9e99f4592f57a8c90ee40085b867c76034d34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page