Experience · Repository · Active
cs-tools
Internal tools catalog experience with a dedicated NestJS BFF, React frontend, local shared package, platform-auth login delegation and dedicated PostgreSQL persistence.
- NestJS 11
- Prisma
- PostgreSQL
- React 19
- Vite
- Chrome Extension MV3
- Redux Toolkit
- Tailwind
Spec sheet
Area
Experience / CS Tools
Public host
http://tools.cs.lvh.me:8080
Runtime shape
apps/api + apps/web + packages/shared
Backend port
3006
Frontend port
5180
Data store
Dedicated PostgreSQL
Responsibilities
- Own the internal tools catalog and product-specific utility UX.
- Expose a same-origin BFF that delegates login, setup and session resolution to platform-auth-service.
- Persist product catalog state through Prisma in tools-postgres.
- Keep frontend traffic same-origin and route all browser API calls through /api.
- Provide a browser-local Chrome extension bridge for supported external tools without adding backend APIs.
- Keep product-specific types aligned through the local shared package.
Interfaces and contract surface
- GET /api/health
- GET /api/auth/status
- POST /api/auth/setup
- POST /api/auth/login
- POST /api/auth/logout
- GET /api/catalog/navigation
- GET /api/catalog/folders/:folderSlug/tools/:toolSlug
Internal modules
Backend
cs-tools api
NestJS BFF for CS Tools, owning catalog persistence and same-origin product APIs while delegating login, setup and session resolution to platform-auth-service.
Frontend
cs-tools web
React and Vite frontend for CS Tools, rendering the tool catalog, auth/setup flows, catalog administration and embedded utility routes through same-origin APIs.
Frontend
cs-tools chrome extension
Chrome Manifest V3 browser-local bridge that exports selected data from supported external tools into CS Tools frontend workflows without new backend APIs.
Package
cs-tools shared
Local shared package for CS Tools contracts and TypeScript types consumed by the BFF and frontend.
Consumers
- Internal users via tools host
Dependencies and external touchpoints
Notes
- The BFF stores product state locally and delegates shared auth/session responsibilities to Core.
- The local stack exposes the experience through tools.cs.lvh.me:8080.
Source references
cs-tools/README.mdcs-tools/package.jsoncs-tools/apps/api/package.jsoncs-tools/apps/web/package.jsoncs-tools/apps/chrome-extension/package.jsoncs-tools/packages/shared/package.json