-
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Chrison Simtian edited this page May 17, 2026
·
2 revisions
ERP-style production planner for the game Satisfactory.
Tell it what you have and what you need; it returns a plan, flags the gaps,
and reconciles against your live .sav file.
Primary objective: help the user plan a factory based on the inputs they have and the outputs they need.
- 📖 README on GitHub
- 🛠 Source code
- 🐛 Issues · 🎯 Milestones
- 📦 Latest release
- 🏛 Architecture Decision Records
| Page | Read this when… |
|---|---|
| Getting Started | You want to clone, build, and run the app locally |
| Architecture | You want the big-picture map of the codebase |
| Save File Parsing | You're touching .sav ingestion or the SatisfactorySaveNet fork |
| LP Planner | You're working on the OR-Tools planner, sensitivity, or generator-aware planning |
| Background Scheduler | You're adding a recurring job or touching the TickerQ wiring |
| Persistence | You're touching EF Core / SQLite / Postgres / migrations |
| Dashboard and Alerts | You're working on the /dashboard glance view or alert rules |
| Domain Glossary | A term in the codebase is unfamiliar (target, available, shortfall, …) |
| Roadmap | You want the milestone view |
| Contributing | You're opening a PR |
-
.NET 10 + Aspire orchestrated app —
dotnet run --project src/AppHostand go. - Blazor Server UI on MudBlazor.
- Onion architecture + CQRS in-process via Wolverine.
- Google OR-Tools (GLOP) for the LP planner.
-
TickerQ for background work — auto-ingests
.savfiles when they change on disk. - EF Core with SQLite by default and Postgres opt-in.
-
.savingestion via a forked, v1.2-patched SatisfactorySaveNet.
Repo-level Claude conventions are in
CLAUDE.md
and .claude/.
Anything architecturally significant lives in an ADR.
Start here
How it works
Reference
Off-wiki