-
Notifications
You must be signed in to change notification settings - Fork 0
Development
pnpm lint
pnpm typecheck
pnpm testRun the client UI in development:
pnpm --filter @codori/client devRun the immersive WebXR UI in development:
pnpm dev:webxrThe production WebXR build uses /xr/ as its asset base.
Run the client alone against a remote Codori server:
CODORI_SERVER_BASE=https://my-codori-host.your-tailnet.ts.net \
CODORI_SERVER_WS_BASE=wss://my-codori-host.your-tailnet.ts.net \
pnpm --filter @codori/client devRun a local Codori server with the freshly built dashboard and WebXR bundles:
pnpm run:localThis rebuilds the dashboard, WebXR application, and server first, then serves
Codori on http://127.0.0.1:4310 with the repository parent directory as the
project root. The dashboard is available at / and the immersive entry at /xr/.
Build the workspace:
pnpm buildRegenerate the app-server protocol bindings with the Codex version pinned by the server package:
pnpm generate:codex-typesThe script includes experimental protocol bindings because Codori uses
collaborationMode/list.
This repository is a pnpm workspace with four published packages:
-
@codori/cli: the installablecodoricommand, a thin launcher over@codori/server -
@codori/server: project discovery, runtime management, CLI, REST API, WebSocket proxy, and bundled static UI serving -
@codori/client: Nuxt + Nuxt UI dashboard for project browsing and Codex chat -
@codori/webxr: Vite + Three.js immersive workspace served under/xr/
@codori/server owns all CLI behavior and output. The @codori/cli package only
provides the binary, so the installed command and npx @codori/server cannot
drift apart. @codori/server still ships its own codori-server binary, which is
what npx @codori/server runs.
See docs/prd.md for the detailed product specification.
Codori publishes @codori/client, @codori/webxr, @codori/server, and
@codori/cli from GitHub Actions when a GitHub release is published.
Trusted publishing setup is required once per package on npm:
- Open the npm package settings for
@codori/client. - Add a Trusted Publisher for GitHub Actions.
- Set the GitHub owner to
comfuture, repository tocodori, and workflow filename topublish-release.yml. - Repeat the same setup for
@codori/webxr,@codori/server, and@codori/cli.
The workflow uses npm trusted publishing with GitHub OIDC, so no long-lived npm automation token is required once that relationship is configured.
Release flow:
- Bump the workspace and package versions together.
- Push the commit to GitHub.
- Create and publish a GitHub release with the matching tag, for example
v0.0.5. - GitHub Actions runs
.github/workflows/publish-release.ymland publishes all four npm packages.
The release workflow checks that the Git tag matches the workspace version and
skips packages that were already published, so rerunning the workflow is safe
after partial failures. codori is packed last because it depends on
@codori/server at the same version.