# Tasks: @suaveplan/locale-data ## Task 3.1 — OpenSpec + scaffold ✅ - [x] Create `openspec/changes/enterprise-locale-data/proposal.md` + `tasks.md` - [x] Scaffold package directory and config files - [x] `bun install` - [x] Commit: `chore(locale-data): scaffold package` ## Task 3.2 — Error class + types - [x] Implement `src/errors/locale-data-error.ts` with `LOCALE_DATA_CODES` - [x] Create `src/errors/locale-data-error.md` - [x] Implement `src/types/types.ts` with `CountryItemSchema` and `LanguageItemSchema` - [x] Create barrels: `src/errors/index.ts`, `src/types/index.ts` - [x] Commit: `feat(locale-data): add error class and types` ## Task 3.3 — countries module (TDD) - [x] Write tests in `src/countries/countries.test.ts` - [x] Run tests → confirm FAIL - [x] Implement `src/countries/countries.data.ts` (static data) - [x] Implement `src/countries/countries.ts` (lookup functions + OTel) - [x] Create `src/countries/countries.schemas.ts` and `countries.md` - [x] Create `src/countries/index.ts` barrel - [x] Run tests → confirm PASS - [x] Commit: `feat(locale-data): add countries module` ## Task 3.4 — languages module (TDD) - [x] Write tests in `src/languages/languages.test.ts` - [x] Run tests → confirm FAIL - [x] Implement `src/languages/languages.data.ts` (static data) - [x] Implement `src/languages/languages.ts` (lookup functions + OTel) - [x] Create `src/languages/languages.schemas.ts` and `languages.md` - [x] Create `src/languages/index.ts` barrel - [x] Run tests → confirm PASS - [x] Commit: `feat(locale-data): add languages module` ## Task 3.5 — Docs + pre-publish gate - [x] Create `README.md` - [x] `bun run docs:check --filter=@suaveplan/locale-data` → 100% - [x] `bunx turbo lint typecheck test --filter=@suaveplan/locale-data` → green - [x] `bunx turbo test:coverage --filter=@suaveplan/locale-data` → 100% - [x] `bun scripts/publish.ts --package @suaveplan/locale-data` - [x] Archive openspec changes - [x] Create `openspec/specs/locale-data/spec.md` - [x] Commit: `release(locale-data): v0.0.0 — publish to Verdaccio`