Unofficial CLI + TypeScript client for the FRED API v2 (Federal Reserve Economic Data).
npm run build # tsc -> dist/
npm test # unit tests (mocked HTTP)
npm run test:integration # live API tests (needs FRED_API_KEY)
npm run dev -- <args> # run CLI directly via tsxsrc/api/client.ts—FredClientclass, one method per API endpoint, uses nativefetchsrc/api/types.ts— all TypeScript types for FRED API requests/responsessrc/cli.ts— CLI entry point, routes commands to handlerssrc/commands/— one file per command group (series, category, release, source, tags)src/cli/— parseArgs configs, formatters (json/csv/table), help textsrc/tests/— node:test runner, fixtures intests/fixtures/
- Zero runtime dependencies (Node 18+ native fetch, parseArgs, test runner)
- ESM (
"type": "module") with.jsimport extensions - All API params use snake_case (matching FRED API), CLI flags use kebab-case
- JSON output includes
_truncatedand_next_offsetwhen results are paginated - Tests mock
global.fetch— no external mock libraries