Skip to content

Aegis BlockerDocsProject

Development

Commands, the stack and the layout of the source.

Copied from README.md in Aegis’s repositoryView on GitHub (opens in a new tab)

bash
pnpm dev          # Vite + CRXJS with hot reload (load dist/ as unpacked)
pnpm typecheck    # TypeScript 7 (native compiler)
pnpm lint
pnpm test         # unit + UI tests (Vitest)
pnpm build && pnpm test:e2e   # real-browser tests (Playwright); set AEGIS_CHROME if Chrome is not on PATH
pnpm zip          # build and zip dist/ for the Chrome Web Store
pnpm icons        # re-render icons from scripts/assets/icon.svg
pnpm assets       # regenerate store screenshots (needs Firefox on PATH, or AEGIS_FIREFOX)

Stack: TypeScript 7, React 19, Vite 8, CRXJS, Tailwind CSS 4, Radix UI, Vitest, Playwright — Manifest V3. Layout: src/shared (pure logic: patterns, schedule, schema, crypto), src/background (service worker), src/ui + src/popup + src/options (React), src/blocked (dependency-free block page), src/i18n.

Store listing texts and ready-made images live in store-assets/ (opens in a new tab).