A Vue 3 + TypeScript monorepo of privacy-first, in-browser tools.
apps/web- Main web app (UI shell, routing)tools- Individual tool implementationsshared- Shared UI, icons, i18n, tool interfacesutils- Pure TypeScript utilities and algorithmsregistry- Tool registry
pnpm install
pnpm devBuild for production:
pnpm buildpnpm lint- Run oxlint + eslint (with fixes)pnpm format- Format source filespnpm type-check- Run Vue/TS type checkspnpm test:unit- Run unit tests (Vitest)pnpm test:e2e- Run Playwright e2e tests
- Add core logic in
utils/<tool-name>/. - Add UI in
tools/<tool-name>/. - Register the tool in
registry/.
- Create a branch:
git checkout -b feat/<topic> - Make changes following existing patterns.
- Run
pnpm lintandpnpm test:unit. - Open a pull request with a short summary.