- Fork and clone the repository
- Install dependencies:
pnpm install - Create a feature branch:
git checkout -b feat/my-feature - Make changes, write tests
- Run checks locally before pushing:
pnpm build pnpm test pnpm audit --audit-level=high - Open a pull request against
main
Pull requests run the following checks automatically:
- Install —
pnpm install --frozen-lockfile - Build —
pnpm build - Test —
pnpm test - Dependency Audit —
pnpm audit --audit-level=high
All checks must pass before merging.
The CI pipeline runs pnpm audit --audit-level=high, which fails on high or critical severity vulnerabilities. Moderate and low severities are reported but do not block the build.
-
Check what's vulnerable:
pnpm audit
-
Update the vulnerable package:
pnpm update <package-name>
-
If no fix is available yet:
- Check the advisory for workarounds
- If the vulnerability doesn't affect your usage (e.g., dev-only dependency, unreachable code path), document the decision in your PR description
- Use
pnpm audit --fixto attempt automatic resolution - As a last resort, consider replacing the dependency
-
Transitive dependencies: If the vulnerability is in a transitive dependency you don't control, open an issue upstream and document it in your PR
# Same command as CI
pnpm audit --audit-level=high
# Full report including low/moderate
pnpm audit