Manufacturing operations software for small shops.
A practical inventory and manufacturing system for small shops that need durable control.
Run BUS Core yourself for free, or have True Good Craft host and manage it for you. The self-managed product requires no hosted account or subscription, remains usable offline, and keeps its data portable.
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. Managed hosting and services remain optional and must not create a divergent BUS fork.
It replaces:
- Spreadsheets
- Paper logs
- Ad-hoc tracking systems
- Expensive SaaS platforms
With:
- One local database
- Real production costing
- Ledger and movement 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. -
Jobs & Invoices Track customer work, create local draft invoices from jobs, issue invoices, mark them paid, void mistakes, and print invoice HTML for browser print or save-to-PDF.
-
Manufacturing & Products Manufacture products from recipes, set product 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.
- Clearer Product / Recipe / Output Item language for the first setup path, with the recipe UI labeling the selected result as Output Product.
- Better stock-out sale price guidance, including usual product price display and below-usual warnings.
- Readable shortage messages for manufacturing and stock-out failures.
- Manufacturing history labels such as
Run #6. - Finance date presets for common recent, month, quarter, and year views.
BUS Core remains a maintained manufacturing operations product. Reliability, safety, backups, data protection, release hygiene, and operator clarity remain priorities, while future product work follows demonstrated manufacturing needs. Operators may run the complete open-source product themselves or use the deployed Managed BUS inquiry when they want True Good Craft to host, update, back up, monitor, and support it through a scoped service engagement.
Managed BUS is not yet represented here as a generally available production service. A public intake and a credible isolated deployment baseline must exist first.
BUS Core remains serious manufacturing operations software, not a full accounting suite. It does not include full POS, full accounting, QuickBooks/Wave sync, automatic reorder, full job scheduling, cloud synchronization, payment links, customer portals, or recurring billing.
BUS Core v1.4.0 makes optional version-aware update checks and includes a strict optional product-telemetry client: it waits for first-run disclosure, sends nothing when disabled, creates a random local UUIDv4 installation identifier, queues only allowlisted events, retries at most three times, and never blocks local work. Payloads contain only the event name, event ID, installation ID, timestamp, app version, release channel, and coarse operating-system category. Customer, supplier, employee, item, recipe, invoice, email, document, filepath, financial, quantity, database, username, and machine-fingerprint content cannot enter the payload constructor. Lighthouse migration 0013 and Worker 1.22.1 are deployed and production-verified; tagging and release timing remain owner-controlled.
- Open Source Core — AGPLv3-licensed local infrastructure
- Precision Inventory — FIFO batch valuation with metric units
- Manufacturing Engine — Recipe-based builds with atomic commits
- Jobs & Invoices — Local job tracking and invoice truth without cloud billing dependency
- Ledger & Audit Trail — Complete movement history
- Local & Private — SQLite database with password-based encrypted backup export support
- Theme Variants — Forge Dark default plus Clean Light, Workshop Slate, and High Contrast UI variants
- 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.
Screenshots are being refreshed for the current Product / Recipe / Manufacturing workflow. The workflow and release notes above are the authority for the current Core experience.
docker compose up --build
# or, without Compose:
docker pull ghcr.io/true-good-craft/tgc-bus-core:latest
docker run -p 127.0.0.1:8765:8765 ghcr.io/true-good-craft/tgc-bus-core:latestDocker is optional. Native Windows builds are supported.
Docker Compose defaults to loopback-only host publishing: 127.0.0.1:8765:8765. BUS Core is local-first software; it is not safe for LAN or public exposure by default. The default session model is intended for local loopback use, not multi-user network hosting. Any non-loopback Docker deployment requires explicit operator action, a clearly separated override, and stronger access controls around the host, network, and /session/token bootstrap surface.
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 is supported through GitHub Sponsors and the BUS Core support page:
- GitHub Sponsors: https://github.com/sponsors/truegoodcraft
- BUS Core support: https://buscore.ca/support
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. - Manual update staging now requires trusted signed manifests. Read-only
/app/update/checkstill preserves unsigned-manifest compatibility for discovery. /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. Docker Compose publishes the app to host loopback only by default; the container-internal Uvicorn bind remains
0.0.0.0so Docker networking works. Current GHCR images are taggedlatestand 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)