- Monorepo: NestJS API (Fastify) + React web (antd/ProComponents) + shared packages - PostgreSQL/Prisma (unified resources, relations graph, audit, events, jobs) - Auth/RBAC/workspace isolation, credential vault (AES-256-GCM) - Servers/SSH, Docker discovery & lifecycle, Job Center - Websites & deployments (git provider credential clone, env, health verification) - Domains/DNS (Cloudflare adapter), certificates (TLS probe), monitoring - Automation (cron/event/webhook HMAC + notifications), AI Gateway, MCP (29 tools) - AI chat window (LLM function-calling + rules fallback, SSE streaming, approvals) - Notes: Vditor WYSIWYG markdown editor, non-blocking autosave - Tests: 35 unit/security tests; UI audit clean (desktop+mobile, deep links)
41 lines
805 B
Markdown
41 lines
805 B
Markdown
# DevOS v1 Technology Stack
|
|
|
|
## Frontend
|
|
- React
|
|
- TypeScript
|
|
- Ant Design
|
|
- Ant Design ProComponents
|
|
- React Router
|
|
- TanStack Query
|
|
- Zustand
|
|
- TipTap
|
|
|
|
## Backend
|
|
- Node.js
|
|
- TypeScript
|
|
- NestJS
|
|
- Prefer Fastify adapter where appropriate
|
|
|
|
## Data
|
|
- PostgreSQL
|
|
- Prisma
|
|
- Redis
|
|
|
|
## Infrastructure
|
|
- Docker
|
|
- SSH
|
|
- Docker API
|
|
- Nginx or Caddy integration
|
|
- Linux
|
|
- External DNS / cloud / Git / email APIs
|
|
|
|
## Architecture Decision
|
|
Prefer NestJS + Prisma for the initial implementation because the source discussion prioritizes modular structure and AI-friendly code comprehension.
|
|
|
|
## Dependency Rule
|
|
Do not introduce a new dependency without documenting:
|
|
1. Why existing dependencies cannot satisfy the requirement
|
|
2. Security and maintenance implications
|
|
3. Operational impact
|
|
4. Alternative considered
|