Skip to main content

Quality Gates

Every commit and CI run passes through layered quality checks.

Pipeline Order

  1. lint — ESLint + manifest permission linter
  2. typecheck — TypeScript (tsc --noemit)
  3. test — unit tests
  4. build — full extension build

No package is allowed to skip typecheck in CI.

Commands

CommandWhat it checks
pnpm build:chromeFull Chrome extension build
pnpm build:firefoxFull Firefox extension build
pnpm lintManifest lint + ESLint + TypeScript
pnpm lint:manifest-permissionsManifest permission policy only
pnpm lint:tsTypeScript type checking
pnpm formatPrettier auto-format
pnpm quality:checkFull CI gate: format + lint + typecheck + test

Manifest Compliance

repo-manifest-lint runs as part of pnpm lint. It enforces:

  • Privileged permissions (tabs, cookies, etc.) must be in optional_permissions
  • Host permissions must be optional_host_permissions

Violations fail the build.