name: tactile-component-library description: Maintain and expand the Tactile CSS component library across its CSS source, generated dist files, React wrappers, Vue wrappers, TypeScript declarations, and README examples. Use when adding new components, updating existing components, changing class names, extending React/Vue exports, or keeping framework wrappers and docs in sync for this repository.
Tactile Component Library
Use this skill when changing the design-system surface of this repository.
Workflow
- Read references/component-map.md before editing.
- Identify the source-of-truth layer first:
Usually
src/index.cssfor styles, thensrc/react.mjsandsrc/vue.mjsfor framework wrappers, thensrc/react.d.tsandsrc/vue.d.ts, thenREADME.md. - Keep naming aligned across CSS classes, React exports, Vue exports, docs, and the consumer skill at
tactile-ui-builder/. - When a feature, export, theme, or usage pattern changes, update the consumer-facing skill in
tactile-ui-builder/so downstream users get current install and usage guidance. - Rebuild generated CSS with
fnm exec --using=22.18.0 npm run buildafter touchingsrc/index.css. - Validate syntax for wrapper files with:
fnm exec --using=22.18.0 node --check src/react.mjsfnm exec --using=22.18.0 node --check src/vue.mjs - Run
npm pack --dry-runbefore release-facing changes.
Component Changes
- Add CSS primitives in
src/index.cssfirst. - Keep component sections grouped and labeled consistently.
- Prefer composable primitives over monolithic widgets when a pattern will be reused.
- When adding interactive wrappers, expose a small API and keep class application deterministic.
- Mirror React and Vue capabilities unless the platform has a strong reason not to.
Docs Expectations
- Update the React export list when exports change.
- Update the Vue section when Vue exports or behavior change.
- Add or adjust the HTML example under the matching component heading when a new visual pattern is introduced.
- Keep examples short and copyable.
- Keep
tactile-ui-builder/SKILL.mdandtactile-ui-builder/references/usage-map.mdaligned with the current public package surface.
Repository Rules
- Use
fnm/ Node22.18.0for builds in this repo. - Treat
dist/tactile.cssanddist/tactile.min.cssas generated outputs that must stay in sync withsrc/index.css. - Do not ship wrapper exports without matching
.d.tschanges. - Prefer extending the existing tactile visual language instead of introducing a separate design direction.