Thanks for your interest in contributing to the portfolio project.
git clone <your-fork-url>
cd portfolio
npm install
npm run dev # Dev server → localhost:4321/portfolio/npm run lint # Biome check (tabs, single quotes, trailing commas)
npm run build # Full build chain
npm run test # Vitest unit + integration testsAll three must pass before opening a PR.
- Biome for formatting (not Prettier/ESLint)
- Tabs, single quotes, trailing commas, line width 100
- BEM naming for CSS classes:
.block,.block__element,.block--modifier - All CSS values from custom properties (
var(--space-lg),var(--accent)) - TypeScript strict mode, named exports, async/await
Check the good first issue label for beginner-friendly tasks.
Imperative mood, conventional prefixes:
feat:— new featurefix:— bug fixdocs:— documentationchore:— maintenancerefactor:— restructuring without behavior changetest:— test changes