Local-first. No accounts. No cloud. Runs offline.
A local-first inventory and manufacturing core for small shops that need durable control.
No cloud dependency. No accounts. No forced lock-in.
Your data stays on your machine, and the system remains usable offline.
BUS Core is the sovereign local system of record for workshops that build real things in small batches.
It is meant to be boring in the right ways: stable, predictable, reviewable, and fully usable on its own.
Core owns the canonical business logic, local data model, and operator-safe base workflows. Any Pro or companion tooling is additive around Core, not a prerequisite for using it.
It replaces:
- Spreadsheets
- Paper logs
- Ad-hoc tracking systems
- Expensive SaaS platforms
With:
- One local database
- Real production costing
- Full audit history
- Complete data ownership
It is built for operators who want control and continuity, not SaaS dependency.
- Small manufacturing shops
- Makerspaces
- Custom fabricators
- Repair and prototyping shops
- Solo operators
If you build physical products and want local authority over inventory, costing, and operating records, BUS Core is for you.
Use case example: https://buscore.ca/use-cases/laser-engraving-shop/?src=github_readme_usecase
-
Materials & Consumables
Track stock by unit (grams, millimeters, milliliters, each), with batch numbers, cost, and purchase dates. -
Recipes
Define how materials become products. Costs are calculated using FIFO from real purchase batches. -
Assemblies & Products
Build items from blueprints, set prices, and compare real costs to sales. -
Vendors
Track supplier pricing and purchasing history over time.
BUS Core focuses on operations and production costing.
It is not a full accounting system—and is not trying to be.
- Open Source Core — AGPLv3-licensed local infrastructure
- Precision Inventory — FIFO batch valuation with metric units
- Manufacturing Engine — Recipe-based builds with atomic commits
- Ledger & Audit Trail — Complete movement history
- Local & Private — SQLite database with encrypted backups
- Windows Native, Docker Optional — Native Windows runtime, container support for other environments
- Windows (primary support)
- Linux / macOS (supported via Docker)
- Download the latest release.
- Run the
.exefile. - No installer required.
Note: Windows Defender or SmartScreen may warn on first run. This repo does not currently guarantee automated code-signing for every Windows release.
The application runs in the system tray.
Double-click the tray icon to open the dashboard.
Enable development features by setting:
BUS_ENV=devThis enables:
- Console output
- Debug endpoints
- Smoke tests (
scripts/smoke.ps1)
Development scripts are included in the source tree.
See SOT.md for the canonical Source of Truth and system architecture.
| Dashboard | Inventory |
|---|---|
![]() |
![]() |
| Manufacturing | Recipes |
|---|---|
![]() |
![]() |
| Logs | Settings |
|---|---|
![]() |
![]() |
docker pull ghcr.io/true-good-craft/tgc-bus-core:latest
docker run -p 8765:8765 ghcr.io/true-good-craft/tgc-bus-core:latest(Docker is optional. Native Windows builds are supported.)
scripts\up.ps1./scripts/up.shcurl http://localhost:8765/healthUI:
http://localhost:8765/ui/shell.html
docker compose down
# or
docker rm -f bus-coreDocker is optional.
pip install -r requirements.txt
python launcher.py
# or
.\Run Core.batlauncher.py is the canonical native entry. It boots the canonical HTTP runtime from core.api.http:create_app() and opens /ui/shell.html.
UI:
http://localhost:8765/ui/shell.html
- All data is stored locally in SQLite.
- Docker deployments persist data in
/data. - Default database path:
BUS_DB=/data/app.dbBackups can be encrypted using AES-GCM.
BUS Core is built on three principles:
- Local-first by default
- Predictable, operator-safe behavior
- User owns their data and operating continuity
Software for small shops should preserve trust, not manufacture dependency.
BUS Core runs locally and does not require network access for normal use.
- Windows release builds are produced from
scripts/build_core.ps1andBUS-Core.spec. scripts/build_core.ps1prints optional manualsigntoolcommands, but this repo does not currently guarantee automated code-signing for every release.- Update checks are default-on / opt-out. Fresh or missing update config runs one non-blocking startup check when
updates.enabledandupdates.check_on_startupare not explicitlyfalse. - Manual "Check now" remains available even when startup checks are disabled.
- BUS Core does not auto-download, auto-install, auto-stage on startup, or force restart.
- The sidebar "Update" button is manual and write-gated. It calls
/app/update/stageonly after the user clicks it. - The update check path validates manifest URL policy, JSON/content type, payload size, strict SemVer, supported manifest shapes, configured channel selection, optional signed-manifest unwrapping, and optional artifact metadata shape.
- Current manifests must remain backward-compatible for deployed clients by keeping top-level
latest.versionandlatest.download.url; new clients can additionally readchannels.<channel>, additive metadata, and the top-level embedded Ed25519signature. - The release mirror signs the public manifest before upload using a private key stored outside the repo in GitHub secret
BUSCORE_MANIFEST_SIGNING_PRIVATE_KEY; the matching public key is pinned in Core asbus-core-prod-ed25519-2026-04-25. - Client-side signed-manifest enforcement is not enabled yet, and unsigned compatibility remains available.
/app/update/stageruns the trusted manual staging chain: signed release selection, hash-verified ZIP download, safe extraction, EXE Authenticode plus True Good Craft signer checks with pinned thumbprint, and conservativeverified_readypromotion./app/update/checkremains read-only and does not stage or launch artifacts.- BUS Core does not overwrite the running EXE. After successful staging, the launcher can hand off on next start (after DB ownership lock) using configured verified launch policy.
- Channel support exists in Core config for
stable,test,partner-3dque,lts-1.1, andsecurity-hotfix, but current release automation publishes the stable manifest lane only. - BUS Core has DB/app ownership locking to prevent two live owners of the same DB/app root.
- Docker is a separate deployment lane. Current GHCR images are tagged
latestand commit SHA only; there are no SemVer image tags, image signatures, SBOM/provenance artifacts, image scans, or formal Docker update policy yet. - Builds remain reproducible from source.
Note: Windows Defender or SmartScreen warnings may appear for new releases, especially when a binary is unsigned or has not yet built reputation.
BUS Core is licensed under the GNU AGPLv3.
You are free to use, modify, and self-host it. If you offer it as a network service, you must provide source access.
See LICENSE for details.
Maintained by True Good Craft (Canada)





