- Project/component: Devkit host app foundation contract
- Canonical path:
apps/devkit
- Runtime: Next.js 16 web app
- Primary language: TypeScript
- Developers using mini apps inside the Devkit host shell
- Maintainers operating app routing and platform modules
- Stable mini app IDs:
commit-trackerremote-file-pickerthenv
- Route pattern contract:
/apps/<id>. - Registration status contract:
commit-tracker:activeremote-file-picker:activethenv:active
- Current shell contract uses a simple header and inline mini app navigation links.
- Shared shell modules must remain separate from mini app business logic.
- Connect RPC transport is proxied via Next.js rewrites (
/api/{service}-> backend). - React Query + connect-query provide server-state management for all mini apps.
- Defines browser/session storage usage for host shell preferences.
- Mini app-specific persistence should remain encapsulated by component contracts.
- Route and app registration metadata must avoid unsafe dynamic injection.
- Host shell should enforce safe boundaries between mini app containers.
- Frontend diagnostics should expose route/app registration context for troubleshooting.
- Debug logs must avoid exposing secrets from integrated backends.
- Local validation:
pnpm --filter devkit... test - Build validation:
pnpm --filter devkit... build - CI alignment:
node-devkit-testandnode-devkit-build
- Integrates with mini app contracts documented in project-specific docs.
@bufbuild/protobuf,@connectrpc/connect,@connectrpc/connect-query,@connectrpc/connect-webfor Connect RPC transport.@tanstack/react-queryfor server-state caching.- Thenv backend:
servers/thenv(port 8087). - Commit Tracker backend:
servers/commit-tracker(port 8088). - Remote File Picker backend:
servers/remote-file-picker(port 8089).
- Update
docs/project-devkit.mdand this file when host routing or mini app registration contracts change. - Keep related mini app project indexes synchronized when IDs/routes/status/integration behavior changes.
docs/project-devkit.mddocs/project-devkit-commit-tracker.mddocs/project-devkit-remote-file-picker.mddocs/project-thenv.mddocs/domain-template.md