These instructions apply to the entire repository.
- ViPPET is a hardware-evaluation tool for AI workloads.
- Backend: Python 3.12, FastAPI, Pydantic v2.
- Frontend: React 19, shadcn components, react-hook-form, zod, recharts, react-router.
- Runtime uses Docker Compose profiles:
cpu,gpu,npu.
- Use type hints for new and modified code.
- Use
async/awaitfor FastAPI route handlers. - Use Pydantic v2 APIs (for example
model_dump()). - Use
logging(neverprint()). - Keep changes small and focused.
- Keep strict typing; avoid
any. - Follow feature-based structure under
ui/src/features/. - Use existing Redux Toolkit and Tailwind patterns.
- Do not modify files under
shared/as part of source changes. - Do not commit
.envfiles or model artifacts. - Keep API schema and generated clients in sync when API changes.
- Run relevant linters and tests for touched areas.
- For docs-only changes, ensure
markdownlintpasses. - Do not include unrelated refactors in the same PR.