1---2name: update-docs3description: Audit and update all rampa project documentation after code changes. Use when adding features, changing defaults, modifying APIs, or before a release.4---56# Update Documentation78Audit and update all project documentation to reflect current code.910## Doc Files to Update1112| File | Purpose |13|------|---------|14| `sdk/README.md` | SDK user-facing docs — transforms, palette API, value ranges, type exports |15| `cli/README.md` | CLI user-facing docs — all subcommand flag tables, examples, defaults |16| `cli/src/palette.ts` | CLI palette `showHelp()` function and `parseArgs()` defaults |17| `cli/src/index.ts` | Main `rampa --help` text — subcommand list, IMAGE PALETTE section |18| `cli/src/color.ts` | CLI color subcommand help text and transform flags |19| `AGENTS.md` | Architecture guide — build commands, file map, conventions |2021## Source Files to Read2223| File | What to check |24|------|---------------|25| `sdk/src/index.ts` | All SDK exports — types and classes |26| `sdk/src/palette.ts` | PaletteResult API surface, options interfaces, defaults |27| `sdk/src/types.ts` | All public type definitions |28| `sdk/src/color-result.ts` | Color transform methods, value ranges |29| `src/engine/PaletteEngine.ts` | Engine defaults — sampleSize, tolerance, bucket counts |30| `cli/src/palette.ts` | CLI palette `parseArgs()` defaults, flag list |31| `cli/src/color.ts` | CLI color transform flags |3233## Audit Process34351. **Read source files** to understand current API surface and defaults362. **Read doc files** to see what's documented373. **Diff** — find stale defaults, missing features, removed APIs384. **Update** — make surgical edits to fix gaps395. **Verify** — CLI help text defaults must match `parseArgs()` defaults in the same file4041## Defaults to Track4243These change occasionally and must be consistent across all docs:4445| Setting | Source of truth | Also appears in |46|---------|----------------|-----------------|47| Sample size | `PaletteEngine.ts` `samplePixels` default | `sdk/palette.ts`, `cli/palette.ts` parseArgs, SDK README, CLI README, CLI help |48| K-means tolerance | `PaletteEngine.ts` `kMeansClustering` default | `sdk/palette.ts` DominantOptions JSDoc, `cli/palette.ts` parseArgs, SDK README, CLI README, CLI help |49| Raw tolerance | `PaletteEngine.ts` `buildRawPalette` default | `cli/palette.ts` parseArgs, CLI README, CLI help |50| Dominant count | `cli/palette.ts` parseArgs default | CLI README, CLI help |51| ANSI count | `PaletteEngine.ts` `buildAnsiPalette` default | SDK README |52| L bucket count | `PaletteEngine.ts` `DEFAULT_L_BUCKETS` array length | `cli/palette.ts` parseArgs `lBuckets`, CLI README, CLI help |53| C bucket count | `PaletteEngine.ts` `DEFAULT_C_BUCKETS` array length | `cli/palette.ts` parseArgs `cBuckets`, CLI README, CLI help |54| H bucket count | `PaletteEngine.ts` `DEFAULT_H_BUCKETS` array length | `cli/palette.ts` parseArgs `hBuckets`, CLI README, CLI help |55| Contrast mode | `sdk/src/contrast.ts` default mode | SDK README, CLI README |5657## SDK README Sections to Verify5859- Color transforms (lighten, darken, saturate, desaturate, rotate, set, mix, blend)60- Value ranges (HSL s/l and OKLCH l use 0-1 scale, NOT 0-100)61- Ramp introspection (.at(), .colors() on Linear/Plane/CubeColorSpace)62- Palette extraction (palette(), dominant(), raw(), ansi(), group(), sortBy())63- Output formats (json, css, text)64- Type exports (all public types from `sdk/src/index.ts` should be mentioned)6566## CLI README Sections to Verify6768- `rampa color` flags table (transform flags: --lighten, --darken, etc.)69- `rampa palette` flags table (all flags with correct defaults)70- `rampa palette` usage examples71- `rampa lint` flags72- `rampa colorspace` flags7374## Rules7576- **Release notes**: Only include SDK/CLI changes. Never include site/editor/landing page changes.77- **Site demos**: Only update `site/` if SDK API changes break existing demos.78- **Value ranges**: 0-1 scale for HSL s/l and OKLCH l. Format string output is unchanged.79- **Help text**: CLI `showHelp()` defaults must exactly match `parseArgs()` defaults in the same file.