Open source collection of web developer utilities. The web application has been deployed and you can use it just here!
- Ad-Free Experience
- Developer utilities with zero advertisements, providing a clean and distraction-free environment
- Privacy First
- All processing happens directly in your browser. No sensitive data is ever sent to external servers, ensuring complete data privacy and security
- Responsive Design
- Mobile-first approach with full support for smartphones, tablets, and desktop devices for a seamless experience across all platforms
- Industry Best Practices
- Serve as an exemplary codebase demonstrating optimal coding patterns, clean architecture, and modern development standards for the industry
| Desktop | Mobile |
|---|---|
![]() |
![]() |
- Install uv (Python 3.11+, required for local lint coaching)
- Install dependencies:
bun install(also installs habit-hooks automatically) - Start the dev server:
bun start(http://localhost:5173)
See CONTRIBUTING.md for full contributor setup and conventions.
| Script | Description |
|---|---|
bun start |
Alias for bun dev - starts the development server |
bun dev |
Starts Vite development server with hot reload |
bun run build |
Builds the production application (cleans dist, generates version, compiles TypeScript) |
bun run preview |
Previews the production build locally (from dist/) |
bun run deploy |
Rebuilds the app and moves output to docs/ for GitHub Pages deployment |
bun run test |
Runs tests with Vitest |
bun run test:e2e |
Runs Playwright e2e tests (Chromium desktop) |
bun run test:e2e:ui |
Runs e2e tests in Playwright UI mode |
bun run test:e2e:responsive |
Runs e2e tests on mobile and tablet viewports |
bun run test:e2e:all |
Runs e2e tests across all Playwright projects |
bun run test:e2e:report |
Opens the HTML test report |
bun run lint |
Runs habit-hooks code-quality coaching on the codebase |
bun run typecheck |
Runs TypeScript type checking without emitting files |
bun run format |
Formats code with Prettier |
bun run format:check |
Checks code formatting without making changes |
bun run clean:node |
Removes node_modules and bun.lock for a fresh install |
bun run generate:version |
Generates version information file |
bun run generate:api:client |
Generates API client from OpenAPI specification |
bun run postinstall |
Runs after install: applies patches and installs habit-hooks |
Playwright starts the Vite dev server automatically via e2e/playwright.config.ts. E2E tests run locally only (not in CI).
| Package | Description |
|---|---|
| React | UI library for building component-based interfaces |
| TypeScript | Type-safe JavaScript superset |
| Ant Design | Enterprise-class UI component library |
| TanStack Router | Type-safe routing for React |
| TanStack Query | Async state management and data fetching |
| Zustand | Lightweight state management |
| Immer | Immutable state with mutable syntax |
| @lichens-innovation/ts-common | Shared TypeScript utilities |
| @uidotdev/usehooks | Collection of React hooks |
| Package | Description |
|---|---|
| Vite (Rolldown) | Next-generation fast build tool |
| Vitest | Unit testing framework |
| Playwright | End-to-end browser testing |
| ESLint | JavaScript/TypeScript linting |
| habit-hooks | Code-quality coaching (powers bun run lint) |
| Prettier | Code formatting |
| Husky | Git hooks management |
| Commitlint | Commit message linting |
This project is licensed under the MIT license. For more information see LICENSE file.
We value technical excellence and human respect equally. To ensure a welcoming and productive environment for all contributors, please review the following resources:
| Resource | Description |
|---|---|
| Code of Conduct | Our pledge for a respectful, inclusive, and collaborative environment |
| Contributing Guide | How to get started, project conventions, and pull request guidelines |
| Coding Guidelines | Best practices for clean, maintainable, and scalable code |
Adhering to established coding guidelines is essential for developing efficient, maintainable, and scalable software. These guidelines promote consistency across the codebase, making it easier for teams to collaborate and for new developers to understand existing code.

