Before you begin
Choose the home Room, the App’s users and workflows, and its intended access scope. You need an authorized CLI session and access to manage Apps in that Room. Include--scope-workspace <workspace_id> and --scope-room <room_id> when running as a signed-in person. You can also ask an Agent in that Room to perform these steps.
1. Create a draft
app checkout --draft-slug <slug> --draft-title "<change name>". Let Kylon register and materialize the branch; do not create an unrelated Git repository or branch yourself. The product adds the Draft: label, so the title should name the change.
2. Build from the appropriate template
In the returned checkout, pull an approved template:data-app for a data application, or data-app --database-app <app_id> when upgrading an existing Database App in place. Preserve that App’s schema and registration unless the requested change calls for a data change.
For Apps that store records, provision the database with app db provision <app_id>. Put schema and initial-data changes in numbered files under db/migrations/. Follow the template’s setup and build instructions. For generated-contract templates, edit the App definition, run pnpm generate:contracts, and keep registration and APIs consistent rather than editing generated outputs.
External services need explicit grants to the App:
3. Push and review the preview
Commit your changes and push from the registered draft checkout using Git. The push applies pending migrations to the preview database and builds a preview. Inspect its status and build logs:app preview docs <app_id> --draft <draft_id> and use app preview api against that exact draft. app api without preview operates the live App. An App-managed Automation’s Run now also uses live records, even when its declaration belongs to a draft.
4. Publish the reviewed deployment
Review the ready preview, then use its publish control to confirm the release and audience. You can also ask the Agent to publish that preview, or publish it directly through an authorized CLI session:private admits home Room members; workspace admits all workspace members; public allows anyone with the published link. Widening access needs a human decision. Standing publish approval, if granted for the Agent and this App, can cover later publishes within its scope; it can be revoked.
5. Operate the release
Use the published App link for real work. Readapp docs <app_id> before automating record or business operations. A successful write through app api refreshes open views automatically.
For a custom hostname, app domain add <app_id> <hostname> returns the required DNS steps, and app domain check <app_id> verifies readiness. Removing a custom domain immediately stops it serving the App; the default address remains. See the full app reference for domain, environment, draft, and release controls.