5efb380da5
* feat: automate yiacad pr review lane * fix: stabilize yiacad review and spec gates * fix: scope kicad exports to repo hardware * fix: ignore kicad block library sources in exports * feat: Add infra VPS monitoring runbook and healthcheck scripts - Created INFRA_VPS_RUNBOOK_2026.md detailing operational procedures for monitoring VPS services. - Added infra_vps_healthcheck.sh script for automated health checks on DNS, TLS, TCP, and HTTP for VPS services. - Introduced infra_vps_security_audit.sh for non-intrusive security checks on external VPS services. - Established JSON schema for infra VPS inventory in infra_vps.schema.json. - Developed integration for runtime status reporting in the Next.js API route. - Implemented Playwright tests for smoke testing the application and ensuring core functionalities. - Updated Makefile for development dependencies and testing commands. - Created various test files for unit and end-to-end testing across different components. * feat(agentics): update mesh agents, gates, prompts, and workflows
2.2 KiB
2.2 KiB
YiACAD Web
This directory hosts the web-facing YiACAD scaffold:
app/provides the Next.js frontend and GraphQL route handler.components/holds the Excalidraw canvas, KiCanvas viewer shell, project tree, and realtime status cards.project/is the Git-tracked source-of-truth for.excalidrawdiagrams and local KiCad inputs.realtime/server.mjslaunches the separate Yjs websocket server with persistence.
Product routes:
/project dashboard/diagramExcalidraw editor/pcbKiCanvas viewer lane/reviewPR review surface
Key commands:
npm installnpm run devnpm run dev:realtimenpm run worker:edanpm run vendor:kicanvas
The current realtime layer exposes a Yjs room and transport status. Binding Excalidraw scene data into the CRDT document is intentionally left as the next incremental lot.
AI / intelligence overlay:
- keep Git as the source of truth
- keep Yjs as collaboration transport only
- keep workers as the execution boundary
- introduce review assist only as a read-only overlay once Git/CI/artifact read models are real
Queue and workers:
- GraphQL enqueues EDA jobs through Redis-backed
BullMQ npm run worker:edaconsumes the queue and calls existing repo tools- le heartbeat worker est publie dans
web/project/.ci/worker-health.json kicad-headlessutilisetools/cad/yiacad_backend_client.pyen modeservice-firstkibotpasse maintenant partools/cad/yiacad_backend_client.pyet publie un package manufacturing YiACAD normalisekiauto-checkspasse maintenant partools/cad/yiacad_backend_client.pyet publie une sortie de validation YiACAD normalisee
Ops probes:
GET /api/ops/platformexposenext-js,yjs-realtime,eda-queueeteda-workerGET /api/ops/queuedistingue une mauvaise configurationREDIS_URLd'un Redis injoignableGET /api/ops/workerpublie le heartbeat worker, le dernier job et les etats stale ou absent
Environment:
- copy values from
.env.example REDIS_URLis required for the queue/worker pathKIBOT_CONFIGis optional until a real KiBot recipe is added to the project