64 lines
2.6 KiB
Markdown
64 lines
2.6 KiB
Markdown
# Tasks — Add @suaveplan/currency-provider-coingecko
|
|
|
|
## Spec-completeness preflight (AGENTS.md §12a)
|
|
|
|
- [x] Numbered checklist of every `### Requirement` and `#### Scenario`
|
|
drafted in `specs/currency-provider-coingecko/spec.md` (7
|
|
requirements added; see the spec delta).
|
|
|
|
## Package scaffolding
|
|
|
|
- [x] Create `packages/finance/currency-provider-coingecko/` directory tree
|
|
- [x] `package.json` — `0.1.0`, universal-tier, `sideEffects: false`,
|
|
subpath exports for the feature modules, deps via `workspace:^` and
|
|
`catalog:`
|
|
- [x] `tsconfig.json`, `tsconfig.lib.json`
|
|
- [x] `vite.config.ts` (build), `vitest.config.ts` (test + 100/100/100/100)
|
|
- [x] `tests/setup/polyfills.ts`
|
|
- [x] `README.md`
|
|
|
|
## Implementation
|
|
|
|
- [x] `src/coin-ids/coin-ids.ts` — curated symbol → CoinGecko-ID map +
|
|
`getCoinGeckoId()` lookup
|
|
- [x] `src/coin-ids/coin-ids.md` — sibling doc, ≥200 words
|
|
- [x] `src/coin-ids/coin-ids.test.ts` — full coverage of the lookup
|
|
- [x] `src/coin-ids/index.ts` — explicit named barrel
|
|
- [x] `src/coingecko/coingecko.ts` — `CoinGeckoProvider` class
|
|
- [x] `src/coingecko/coingecko.md` — sibling doc, ≥200 words
|
|
- [x] `src/coingecko/coingecko.test.ts` — keyless + Pro-key branches +
|
|
every `CurrencyProviderError` code path
|
|
- [x] `src/coingecko/index.ts` — explicit named barrel
|
|
- [x] `src/index.ts` — explicit named root barrel
|
|
|
|
## Verification
|
|
|
|
- [x] `bunx turbo lint typecheck test --filter=@suaveplan/currency-provider-coingecko`
|
|
- [x] `bunx turbo test:coverage --filter=@suaveplan/currency-provider-coingecko`
|
|
at 100/100/100/100
|
|
- [x] `bunx turbo build --filter=@suaveplan/currency-provider-coingecko`
|
|
- [x] Banned-pattern scan zero
|
|
- [x] Barrel-shape scan zero (no `export *` in feature barrels)
|
|
- [x] Test-runner import scan zero (every test goes through
|
|
`@suaveplan/testing/runner`)
|
|
- [x] Missing `.md` scan zero
|
|
- [x] `README.md` present
|
|
|
|
## Repo-doc refresh (AGENTS.md §13b)
|
|
|
|
- [x] Add `currency-provider-coingecko` to
|
|
`scripts/folder-reorg/assignment.yml` under the finance group
|
|
- [x] `bun scripts/folder-reorg/generate-manifest.ts` → refresh
|
|
`MANIFEST.md`
|
|
- [x] `bun scripts/generate-missing.ts` → refresh `MISSING.yml`
|
|
- [x] Update `STATUS.md` with a row for the new package
|
|
- [x] Update `SUMMARY.md` per-package paragraph
|
|
- [x] `bunx markdownlint-cli2 --fix` clean
|
|
|
|
## Archive
|
|
|
|
- [x] Fold `specs/currency-provider-coingecko/spec.md` into
|
|
`openspec/specs/currency-provider-coingecko/spec.md`
|
|
- [x] Move `openspec/changes/add-currency-provider-coingecko/` →
|
|
`openspec/archive/2026-05-17-add-currency-provider-coingecko/`
|