Files
open-design/apps/AGENTS.md
T
PerishFireandGitHub c6d11018a0 Refresh desktop integration control plane (#123)
* 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.
2026-04-30 14:23:53 +08:00

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 in apps/web/app/; the main client shell is apps/web/src/App.tsx. During local tools-dev web runs, apps/web/next.config.ts rewrites /api/*, /artifacts/*, and /frames/* to OD_PORT.
  • apps/daemon: Express + SQLite local daemon and od bin. 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.ts and the matching parser tests.

Sidecar awareness

  • App business layers must not import sidecar packages or branch on runtime.mode, namespace, ipc, or source.
  • Keep sidecar awareness in apps/<app>/sidecar or the desktop sidecar entry wrapper.

Inactive app directories

  • apps/nextjs has been removed; do not restore it.
  • apps/packaged is 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