Doctor
Run after installation to verify your setup. API keys, database, and FX cache. Prints a fix command for anything that's missing.
firma doctor
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 key | set |
| ✓ | FRED API key | set |
| ✓ | Display currency | KRW |
| ✓ | Transactions | 117 recorded · 4 active holdings |
| ✓ | Balance entries | 36 entries |
| ✓ | Cash flow entries | 36 entries |
| ✓ | FX rate cache | 9525 rows · 5 currencies · 2018-08-28 → 2026-04-17 |
All systems ready. Run firma brief for a daily snapshot. | ||
When something is missing
Any failed check prints a
→ fix command directly below it.
Address each one, then re-run firma doctor to confirm.$firma doctor
| ✓ | Finnhub API key | set |
| ✗ | FRED API key | not set |
| → firma config set fred-key <key> | ||
| ✓ | Display currency | USD (default) |
| ✗ | FX rate cache | empty |
| → firma sync fx | ||
| 2 issues found. Fix them and re-run firma doctor. | ||
Checks
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 KRWTransactionsCount 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 fxfirma doctor reads the database. It never writes or modifies data.
Re-run it any time after changing config or running a sync.Options
firma doctorHuman-readable output with fix suggestionsfirma doctor --jsonMachine-readable output. Each check includes status, detail, and fix