Files
suaveplan/openspec/archive/2026-05-17-add-currency-provider-coingecko/tasks.md
2026-05-27 23:29:53 +01:00

2.6 KiB

Tasks — Add @suaveplan/currency-provider-coingecko

Spec-completeness preflight (AGENTS.md §12a)

  • Numbered checklist of every ### Requirement and #### Scenario drafted in specs/currency-provider-coingecko/spec.md (7 requirements added; see the spec delta).

Package scaffolding

  • Create packages/finance/currency-provider-coingecko/ directory tree
  • package.json — 0.1.0, universal-tier, sideEffects: false, subpath exports for the feature modules, deps via workspace:^ and catalog:
  • tsconfig.json, tsconfig.lib.json
  • vite.config.ts (build), vitest.config.ts (test + 100/100/100/100)
  • tests/setup/polyfills.ts
  • README.md

Implementation

  • src/coin-ids/coin-ids.ts — curated symbol → CoinGecko-ID map + getCoinGeckoId() lookup
  • src/coin-ids/coin-ids.md — sibling doc, ≥200 words
  • src/coin-ids/coin-ids.test.ts — full coverage of the lookup
  • src/coin-ids/index.ts — explicit named barrel
  • src/coingecko/coingecko.ts — CoinGeckoProvider class
  • src/coingecko/coingecko.md — sibling doc, ≥200 words
  • src/coingecko/coingecko.test.ts — keyless + Pro-key branches + every CurrencyProviderError code path
  • src/coingecko/index.ts — explicit named barrel
  • src/index.ts — explicit named root barrel

Verification

  • bunx turbo lint typecheck test --filter=@suaveplan/currency-provider-coingecko
  • bunx turbo test:coverage --filter=@suaveplan/currency-provider-coingecko at 100/100/100/100
  • bunx turbo build --filter=@suaveplan/currency-provider-coingecko
  • Banned-pattern scan zero
  • Barrel-shape scan zero (no export * in feature barrels)
  • Test-runner import scan zero (every test goes through @suaveplan/testing/runner)
  • Missing .md scan zero
  • README.md present

Repo-doc refresh (AGENTS.md §13b)

  • Add currency-provider-coingecko to scripts/folder-reorg/assignment.yml under the finance group
  • bun scripts/folder-reorg/generate-manifest.ts → refresh MANIFEST.md
  • bun scripts/generate-missing.ts → refresh MISSING.yml
  • Update STATUS.md with a row for the new package
  • Update SUMMARY.md per-package paragraph
  • bunx markdownlint-cli2 --fix clean

Archive

  • Fold specs/currency-provider-coingecko/spec.md into openspec/specs/currency-provider-coingecko/spec.md
  • Move openspec/changes/add-currency-provider-coingecko/ → openspec/archive/2026-05-17-add-currency-provider-coingecko/