This repository is the control plane and delivery stack for Kale Deploy, the public name for CAIL Deploy from the CUNY AI Lab.
- Use
Kale Deployfor public-facing product copy. - Use
CAIL Deployonly where the actual GitHub App name or internal identifier matters. - The current public front door is
https://cuny.qzz.io/kale.
packages/deploy-service: control-plane Worker, onboarding UI, GitHub App flow, MCP/OAuth, status APIspackages/gateway-worker: internal project gateway Workerpackages/project-host-proxy: public host proxy oncuny.qzz.iopackages/build-runner: managed Node build runnerpackages/build-contract: shared types between deploy-service and runnerplatform: machine-readable and Markdown runtime contractplugins/kale-deploy: Codex and Claude plugin bundle
- The public product lives at
https://cuny.qzz.io/kale. - Project URLs are host-based:
https://<project-name>.cuny.qzz.io. - If the public front door URL changes, update these together:
packages/deploy-service/wrangler.jsoncpackages/gateway-worker/wrangler.jsoncpackages/project-host-proxy/wrangler.jsonc- docs that mention the public entry point
- When changing URL/base-path behavior, redeploy
deploy-service,gateway-worker, andproject-host-proxytogether.
- This system targets Cloudflare Workers and Workers for Platforms.
- Keep apps and examples Worker-shaped, not traditional long-running Node servers.
- Avoid Python, native Node modules, local filesystem assumptions, and long-running background processes in platform examples and guidance.
- Preserve the standard binding vocabulary where relevant:
DBFILESCACHEAIVECTORIZEROOMS
- Treat advanced bindings as approval-only unless the task is explicitly about platform policy:
DB,FILES, andCACHEare self-service via project-isolated provisioningAI,VECTORIZE, andROOMSrequire approval
- Prefer plain-language onboarding.
- Avoid leading with terms like
MCP,manifest,webhook, orruntime contractin user-facing copy. - Keep public pages oriented around:
- connecting an agent
- connecting GitHub
- watching setup progress
- opening the live site
- Do not introduce a second GitHub user-auth step into the ordinary deploy flow. Reserve that for future sensitive project-admin features such as secrets.
- Run
npm run checkafter structural changes. - Run
npm run test --workspace @cuny-ai-lab/deploy-serviceafter deploy-service logic or UI changes.
README.mddocs/quickstart-students.mddocs/github-app-setup.mddocs/agent-api.mdplatform/runtime.jsonplatform/runtime.md
If one of those changes public URLs, onboarding language, or auth flow, update the others in the same pass.