* 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- worker heartbeat is published to
web/project/.ci/worker-health.json kicad-headlessusestools/cad/yiacad_backend_client.pyinservice-firstmodekibotnow routes throughtools/cad/yiacad_backend_client.pyand emits a normalized YiACAD manufacturing packagekiauto-checksnow routes throughtools/cad/yiacad_backend_client.pyand emits normalized YiACAD validation output
Ops probes:
GET /api/ops/platformexposesnext-js,yjs-realtime,eda-queue, andeda-workerGET /api/ops/queuedistinguishesREDIS_URLmisconfiguration from Redis reachability failuresGET /api/ops/workerreports worker heartbeat, last job, and stale or absent worker state
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