name: System Components and Requirements
priority: 90
scope:
globs: ["**/*"]
---
### System Components & Requirements
- **Frontend:** Each feature has a dedicated React View (`src/frontend/src/views`).
- **Backend:** Each feature has a dedicated FastAPI router (`src/backend/src/routes
22511d agoReviewMountCreate a free account to mount
manager getters in route files). Managers are initialized as singletons in `app.state` during startup.
**Frontend (TypeScript/React)**
- **TypeScript**: Use strictly with explicit types. `type` and `interface` are both fine — pick whichever
22511d agoReviewMountCreate a free account to mount
implement `SearchableAsset` and use `@searchable_asset`. `SearchManager` collects items and exposes the search endpoint.
**Frontend**
1. Use the `useToast` hook (Shadcn UI Toaster) for user feedback.
2. Use Zustand stores
22511d agoReviewMountCreate a free account to mount
scope:
globs: ["**/*"]
---
### Testing and Deployment
**Local development**
- Backend (FastAPI/Uvicorn) runs on **port 8000**. Frontend (Vite) runs on **port 3000**.
- Both servers run in dev mode with auto-reload. **NEVER restart
22511d agoReviewMountCreate a free account to mount
service layout
All API services are defined in the `packages/api` package.
### tRPC
All frontend to backend communication must be facilitated using the `tRPC` routers.
When exposing a method
19415mo agoReviewMountCreate a free account to mount
Overview
This is a thinking map application with a Go backend (server/) and Next.js frontend (web/). The project uses modern development practices with TypeScript, shadcn/ui, Zustand, and ReactFlow
18616mo agoReviewMountCreate a free account to mount
base folders without approval.
- Do not change the application's dependencies without approval.
## Frontend Bundling
- If the user doesn't see a frontend change reflected in the UI, it could
1863mo agoReviewMountCreate a free account to mount
contains all coding rules and standards for the chase-functions project (both backend and frontend). These rules must be followed in all code implementations.
## General Rules (Apply to Both Backend
17610mo agoReviewMountCreate a free account to mount
REST API
- WebSockets for bidirectional real-time chat
- Alpine.js, Tailwind CSS, and DaisyUI for frontend
- Multiple themes with light/dark mode support
## Resilience Features
### STDIO Safety Mechanisms
- StdioProtectionWrapper: Wraps sys.stdout
17119mo agoReviewMountCreate a free account to mount
bidirectional real-time communication
- Uvicorn as the ASGI server
- API endpoints for programmatic access
### Frontend
- Alpine.js for lightweight reactivity
- Tailwind CSS and DaisyUI for styling
- Marked.js for Markdown rendering
- Highlight.js
17119mo agoReviewMountCreate a free account to mount