Thanks for contributing! Follow these guidelines to keep the codebase consistent.
- Node.js 18+
- npm (comes with Node.js)
git clone https://github.com/your-org/Callora-Frontend.git
cd Callora-Frontend
npm install
npm run dev # dev server at http://localhost:5173
npm run build # TypeScript check + production buildBranch off main using the format:
feature/<short-description> # new features
fix/<short-description> # bug fixes
docs/<short-description> # documentation only
Example: git checkout -b feature/api-search-filters
- Fork the repo and create a branch from
main. - Make your changes, following the guidelines below.
- Run
npm run buildto confirm no TypeScript errors. - Open a pull request against
mainwith a clear description of what changed and why.
All UI changes must follow the UI Design System.
Key rules:
- Use design tokens, not raw values. Colors, spacing, and shadows are defined as CSS custom properties in
src/index.css. Reference them viavar(--token-name)— never use inline hex values or hardcoded pixel sizes. - Reuse existing components. Check
src/components/before building something new. Components likeApiCard,EmptyState,SearchBar,Skeleton, andBreadcrumbare shared across views. - Do not introduce a component library. The project is intentionally dependency-light.
- All interactive elements must be keyboard navigable and have visible focus styles.
- Use semantic HTML elements (
<button>,<nav>,<main>,<article>, etc.). - Provide
aria-labelor visible text for icon-only controls. - Verify your changes in both light and dark modes (use the theme toggle in the top bar).
A test runner is being introduced — see the Vitest setup issue for progress. Once merged, tests will run via:
npm run testUntil then, manually verify the affected routes load and behave correctly after your changes.