| .forgejo/workflows | ||
| .vscode | ||
| data-source | ||
| infra | ||
| reference | ||
| tongo-core | ||
| web-terminal | ||
| .cta.json | ||
| .gitignore | ||
| docker-compose.yml | ||
| Makefile | ||
| pnpm-workspace.yaml | ||
| README.md | ||
🌌 Quark's Holo-Grid Ledger
Welcome to the Holo-Grid Ledger — an authentic, plaintext terminal-style sportsbook application built for the Star Trek-inspired galactic economy.
🏛 Project Architecture
This repository is organized as a clean monorepo:
web-terminal/: The frontend user interface built with TanStack Start, Vite, Valkey, and Tailwind CSS. It renders high-density VT100-style console dashboards.tongo-core/: The high-performance Go simulation and probability engine. It runs as a background daemon, streaming active match telemetry and live odds directly to the Valkey cache.data-source/: Static definition registry (taxonomy.yaml) containing quadrants, factions, venues, and market templates.reference/: Architectural references and blueprint documents for components and the simulation engine.
🛠 Getting Started
1. Start Infrastructure (Valkey & Redis Insight)
The sportsbook relies on Valkey as a shared memory layer, and Redis Insight provides a GUI for database inspection.
# Start Valkey and Redis Insight in the background
make infra-up
# View logs
make infra-logs
# Stop infrastructure
make infra-down
Valkey will run on localhost:6379, and Redis Insight will be accessible at http://localhost:5540.
2. Start the Simulation Engine
Go to the Go backend folder and start the engine daemon:
make run-engine
3. Start the Web Terminal UI
Go to the frontend folder, install dependencies, and start the Vite dev server:
make run-web
Visit the console at http://localhost:3000.
🚀 Release Process & CI/CD
This monorepo uses Forgejo Actions and OpenTofu Workspaces to manage deployments across isolated environments:
- Staging (
staging.holo-grid.bar): Target for active development. Any direct push or merge to themainbranch automatically provisions staging infrastructure and deploys the staging code stack. - Production (
holo-grid.bar): Target for stable releases. Pushing a Git version tag (e.g.v1.0.0) automatically provisions production infrastructure and deploys the release code stack.
Triggering a Production Release
You can create and push a new release tag directly using the Makefile:
# Create and push release tag v1.0.0
make release TAG=v1.0.0
📜 Ferengi Code of Conduct
"The riskier the road, the greater the profit." — Rule of Acquisition #62