A professional developer workspace monorepo containing a Fastify + Prisma AI Model Selection backend service and a real-time WebSocket-based Live Directory Visualizer.
This repository is a monorepo containing two decoupled development utilities designed to augment AI-assisted coding and workspace tracking:
- AI Model Selector Backend: A Fastify API built in TypeScript that serves as a catalog manager, validation interface, and selector service. Model selectors allow products to query available AI models, reasoning effort states, and upgrade pathways.
- Live Directory Visualizer: A full-stack tool consisting of a Python FastAPI watchdog service and a React frontend. It streams real-time file change notifications over WebSockets to render an interactive folder tree of active development workspaces.
As AI applications integrate into code editors, managing and querying model catalog availability (free vs. paid tiers, tokens, features, reasoning parameters) needs a centralized service to prevent frontend clutter.
At the same time, verifying how automated code generators (like agentic code scripts) modify directories requires a live visualizer. Command-line checks or standard IDE sidebars don't highlight real-time directory modifications with dynamic event streams.
Developer Workspace Tools solves this by:
- Centralizing model selector parameters and eligibility checking behind a database-backed API.
- Providing an instant, WebSocket-powered visual dashboard showing precisely what files are being created, modified, or deleted in your project directories in real-time.
- Catalog Management: Fastify routing to query models grouped by availability tiers (e.g. flagship, standard, preview).
- Zod Data Guards: Structured input schema validation matching selector payloads.
- ORM & Seeding: Prisma PostgreSQL schema mapping, seed files, and automated table migrations.
- Entitlement Checking: Service contracts to determine if a user has access to premium reasoning levels.
- Watchdog Event Loop: Low-overhead filesystem monitoring that listens to native OS file descriptors.
- WebSocket Streaming: Real-time event propagation showing active file mutations (Created, Deleted, Modified, Moved).
- Interactive React UI: Hierarchical tree components built on React and TypeScript that animate dynamically as files change.
- Pattern Exclusions: Custom regex settings to prevent performance lag by ignoring dependency logs (
node_modules/,venv/).
The workspace is split into isolated services sharing validation schemas:
+-----------------------------------------------------------------------------------+
| Vs code extension workspace |
+----------------------------------------+------------------------------------------+
| 1. Model Selector Backend (Node/TS) | 2. Live Directory Visualizer (Py/React) |
| | |
| [Client] --> [Fastify Server] | [React Client] <== (WebSockets) ==> |
| | | ^ |
| [Prisma Client] | v |
| v | [FastAPI Server] --> [Watchdog Engine] |
| [(PostgreSQL)] | | |
| | v |
| | [(Target Folder)] |
+----------------------------------------+------------------------------------------+
Detailed architecture diagrams are located in Architecture Guide.
- Framework: Fastify (Node.js/TypeScript)
- Database ORM: Prisma client mapping to PostgreSQL
- Validation: Zod schema compiler
- Test Suite: Vitest
- Backend Service: FastAPI (Python 3.8+), uvicorn, Watchdog event monitoring library
- Frontend Dashboard: React.js, TypeScript, lucide-react, react-use-websocket
cd backend
npm install
# Configure environment database credentials in database/schema.prisma
npm run prisma:generate
npm run build
npm startBackend (Python):
cd live-directory-visualizer/backend
python -m venv venv
# On Windows
venv\Scripts\activate
# On macOS/Linux
source venv/bin/activate
pip install -r requirements.txt
python app.pyFrontend (React):
cd live-directory-visualizer/frontend
npm install
npm startFor detailed configurations, see the Setup Guide.
GET /api/catalog- Retrieve list of available AI models.POST /api/select- Record a user selection action.POST /api/validate-effort- Verify if the chosen model supports specific reasoning effort settings.
- Start both servers.
- The browser dashboard opens at
http://localhost:3000. - In a terminal, create or delete a file in the watched workspace directory:
echo "test content" > demo.txt
- Observe the file node instantly fade-in with a visual marker on the browser tree representation.
[
{
"id": "claude-3-5-sonnet",
"displayName": "Claude 3.5 Sonnet",
"tier": "flagship",
"status": "available",
"supportsEffort": true,
"effortLevels": ["low", "medium", "high"]
}
]For complete API routes and feature parameters, see Features Guide.
Vs code extension developement/
βββ backend/ # Node.js TypeScript API
β βββ src/ # Fastify routes, controllers, and services
β βββ package.json
β βββ tsconfig.json
βββ database/ # Database migrations
β βββ migrations/ # SQL scripts
β βββ seeds/ # Seeding catalogs
β βββ schema.prisma # Database entity model
βββ docs/ # Design, setup, and features docs
βββ live-directory-visualizer/
β βββ backend/ # Python FastAPI + Watchdog service
β β βββ app.py
β β βββ monitor/
β β βββ requirements.txt
β βββ frontend/ # React.js TypeScript application
β βββ src/ # Tree components & hooks
β βββ package.json
βββ shared/
β βββ contracts/ # Shared API type declarations
βββ LICENSE
βββ CONTRIBUTING.md
βββ CHANGELOG.md
βββ .gitignore
- Secrets & API Keys: Checked backend configurations and mock seed data. No live passwords or credentials found. The
.envfiles are ignored in.gitignore, and only.env.exampletemplates remain. - Unnecessary Files: Verified and cleaned standard cache files (
.pytest_cache/,.next/,node_modules/) from source control.
- Monorepo Build Integration: Introduce Turborepo or Nx to coordinate dependencies, allowing a single
npm run devat the root to orchestrate the Fastify backend, FastAPI monitor, and React client. - Dockerization: Create a unified
docker-compose.ymlto spin up the local PostgreSQL database and Fastify service in a single command.
- Suggested Repository Name:
developer-workspace-intelligence-tools - Suggested Description:
Developer tools monorepo featuring a Fastify + Prisma AI Model Selection service and a real-time WebSocket filesystem monitor using Python Watchdog and React. - Suggested Topics/Tags:
developer-tools,monorepo,fastify,fastapi,prisma,react-typescript,websockets,watchdog-monitoring,system-design - Project Maturity:
Beta / Work-In-Progress Scaffold
- Kalashree
- GitHub: @kalashree225
- Email: Kalashree225@gmail.com