This is a Lerna-managed monorepo containing Kiva's design system and UI component libraries.
Before running ANY terminal commands (npm, node, etc.) in this repository, you MUST run:
nvm useThis ensures you're using the correct Node.js version specified in .nvmrc. Running commands with the wrong Node version can cause build failures, dependency issues, and unexpected behavior.
Note: This is only required when executing terminal commands. File reading, editing, and other non-terminal operations do not require nvm use.
This monorepo uses Lerna (independent versioning) and npm workspaces for package management.
- @kiva/kv-components - Vue 3 accessible UI component library (primary focus)
- @kiva/kv-tokens - Design token system and Tailwind CSS configuration
- @kiva/kv-shop - Shopping basket and checkout utilities
- @kiva/kv-loan-filters - Loan filtering and query parameter utilities
- @kiva/kv-analytics - Analytics tracking utilities
- @kiva/kv-activity-feed - Activity feed components and utilities
- @kiva/vite-plugin-vue-lib-css - Custom Vite plugin for Vue library CSS handling
Commands can be run from the root or within specific packages:
npm run lint- Lint all packagesnpm run test- Test all packagesnpm run build- Build all packagesnpm run storybook- Start Storybook for kv-componentsnpm run publish-release- Publish packages via Lerna
Each package has its own detailed AI instructions in its AGENTS.md file:
- @kiva/kv-components/AGENTS.md - Component development patterns, testing, and Storybook
- @kiva/kv-tokens/AGENTS.md - Design token system and Tailwind CSS configuration
- Node.js: Version specified in .nvmrc
- Run
nvm usebefore executing terminal commands (npm, node, etc.) - Not required for file editing or reading operations
- Run
- npm: >= 10
- Commit conventions: Follows @commitlint/config-conventional
- Pre-commit hooks: Husky runs lint-staged on TypeScript, JavaScript, and Vue files
When working in this repository, AI assistants should:
- Before terminal commands: Run
nvm usebefore any npm, node, or other terminal commands- This is NOT required for file reading, editing, or other non-terminal operations
- Check package-specific AGENTS.md files for detailed instructions
- Use proper error handling and validation
- Follow the commit conventions for any generated commits
The following packages need their own AGENTS.md files created:
- @kiva/kv-shop
- @kiva/kv-loan-filters
- @kiva/kv-analytics
- @kiva/kv-activity-feed
- @kiva/vite-plugin-vue-lib-css