Doctor

Run after installation to verify your setup. API keys, database, and FX cache. Prints a fix command for anything that's missing.

Runs seven checks in order. Each row shows a status indicator, what was checked, and what was found. When everything is green, you're ready.
$firma doctor
Finnhub API keyset
FRED API keyset
Display currencyKRW
Transactions117 recorded · 4 active holdings
Balance entries36 entries
Cash flow entries36 entries
FX rate cache9525 rows · 5 currencies · 2018-08-28 → 2026-04-17
All systems ready. Run firma brief for a daily snapshot.
Any failed check prints a fix command directly below it. Address each one, then re-run firma doctor to confirm.
$firma doctor
Finnhub API keyset
FRED API keynot set
→ firma config set fred-key <key>
Display currencyUSD (default)
FX rate cacheempty
→ firma sync fx
2 issues found. Fix them and re-run firma doctor.
Finnhub API keyRequired for price sync, news, insider, earnings, financials
FRED API keyRequired for macro, stress index, regime, and FX history
Display currencyUSD by default. Change with firma config set currency KRW
TransactionsCount of recorded transactions and current holdings
Balance entriesMonthly net worth snapshots. 0 means no wealth history yet
Cash flow entriesMonthly income/expense records
FX rate cacheRow count, currencies, and date span. Populated by firma sync fx
firma doctor reads the database. It never writes or modifies data. Re-run it any time after changing config or running a sync.
firma doctorHuman-readable output with fix suggestions
firma doctor --jsonMachine-readable output. Each check includes status, detail, and fix
MIT License