mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
* feat(dev): add desktop tools-dev control plane * refactor(sidecar): split Open Design contracts Move Open Design-specific sidecar protocol definitions into @open-design/contracts so sidecar and platform can remain descriptor-driven primitives. * refactor(daemon): organize package sources Keep daemon app code, tests, and sidecar entrypoints in separate package directories so each layer can be built and verified independently. * chore(repo): streamline maintenance entrypoints Centralize agent guidance by directory and reduce root command chains while preserving the existing build scope. * docs: translate agent guidance to English * fix(sidecar): tolerate stale IPC sockets Remove stale Unix socket files only after confirming no listener is active, so tools-dev can restart after unclean shutdowns.
1.8 KiB
1.8 KiB
apps/AGENTS.md
Follow the root AGENTS.md first. This file only records module-level boundaries for apps/.
Active apps
apps/web: Next.js 16 App Router + React 18 web runtime. Entrypoints live inapps/web/app/; the main client shell isapps/web/src/App.tsx. During localtools-devweb runs,apps/web/next.config.tsrewrites/api/*,/artifacts/*, and/frames/*toOD_PORT.apps/daemon: Express + SQLite local daemon andodbin. It owns REST/SSE APIs, agent CLI spawning, skills, design systems, artifact persistence, static serving, and local data under.od/.apps/desktop: Electron shell. Desktop does not guess the web port; it reads runtime status through sidecar IPC and opens the reported web URL.
Daemon layout
apps/daemon/src/contains only daemon app source.apps/daemon/tests/contains daemon tests.apps/daemon/sidecar/contains the daemon sidecar entry.- CLI/agent argument changes or stdout parser changes belong in
apps/daemon/src/agents.tsand the matching parser tests.
Sidecar awareness
- App business layers must not import sidecar packages or branch on
runtime.mode,namespace,ipc, orsource. - Keep sidecar awareness in
apps/<app>/sidecaror the desktop sidecar entry wrapper.
Inactive app directories
apps/nextjshas been removed; do not restore it.apps/packagedis a minimal placeholder for future packaged app assembly. Do not add a package manifest, runtime code, or lifecycle script there in this round.
Common app commands
pnpm --filter @open-design/web typecheck
pnpm --filter @open-design/web test
pnpm --filter @open-design/daemon typecheck
pnpm --filter @open-design/daemon test
pnpm --filter @open-design/daemon build
pnpm --filter @open-design/desktop typecheck
pnpm --filter @open-design/desktop build