Dark mode, on your schedule.
A Chrome extension that turns every tab dark at night, choosing the most natural approach for each page:

Use Node.js 22.18 or newer and npm. Chrome 123 or newer is required by the extension manifest.
npm ci
npm run build
chrome://extensions.dist/ directory.The extension uses Manifest V3, a background service worker, content scripts, and a popup. Page access is required to inspect and transform site colors; settings are stored with Chrome’s storage API. See PRIVACY.md for details.
npm run watch # Rebuild as source files change
npm run typecheck # Check TypeScript types
npm test # Run unit tests
npm run e2e # Build and run browser checks
npm run zip # Build and package the extension
Reload the unpacked extension after rebuilding. The browser checks use Playwright and require its Chromium browser installation.
| Path | Purpose |
|---|---|
src/background.ts |
Scheduling and background coordination |
src/content/ |
Theme detection and page color conversion |
src/main-world.ts |
Page-context integration |
src/popup/ |
Schedule and site settings UI |
src/shared/ |
Settings, messages, and image analysis |
test/ |
Unit and browser checks |
scripts/ |
Build and packaging tools |