## Stack - **Language:** Python 3.12+ - **Package manager:** uv - **Key deps:** hub-core (generic hub primitives), pydantic, httpx ## Dev Commands ```bash # Install dependencies uv sync # Run tests uv run pytest # CLI — runway projection uv run finhub runway --balance 12000 --monthly-burn 2100,2200,2000 # CLI — import cost CSVs uv run finhub import-cloud tests/fixtures/cloud-costs.csv uv run finhub import-anthropic tests/fixtures/anthropic-billing.csv uv run finhub import-hosteurope tests/fixtures/hosteurope.csv # CLI — ledger (SQLite at .fin-hub/ledger.db) uv run finhub ledger set-balance 12000 uv run finhub ledger import cloud tests/fixtures/cloud-costs.csv uv run finhub ledger summary # CLI — scheduled evaluation (cron/systemd friendly) uv run finhub evaluate --emit # CLI — dogfood evidence artefact uv run finhub evidence --seed-fixtures # HTTP read API uv run finhub serve # GET http://127.0.0.1:8080/runway/summary # GET http://127.0.0.1:8080/runway/monthly-burn # CLI — emit cross-hub signals (requires STATE_HUB_API) uv run finhub runway --balance 12000 --monthly-burn 2100 --emit ```