DOCUMENTATION / v1.0.0

Create & sync a project

Repository, branch, directory and runtime: make the contract explicit.

Choose the service type first

The first creation step chooses Web/API or Worker. Existing projects default to Web. Workers allow only Node.js, Bun, Go and Python script, no domain and no Portal-assigned port. Once any release exists, including a failed release, the service type cannot change; a Worker runtime is also locked. Create a new project when you need to change these choices.

Service types and examples

Prepare repository access

Master prepares Git and the host Git identity. Select an organization and use its HTTPS credential for private repositories. Creating a private project needs project.create and credentials.use. Editing repository/credential bindings also requires project.view, project.configure and source.sync. Use the canonical HTTPS URL: credential transport rejects redirects.

Review Detect App

Fetch branches, choose the correct branch and repository-relative application directory, then run detection. It inspects metadata without executing repository code. Review the suggested runtime and settings; a Dockerfile alone is not a Compose deployment contract. Native runtimes are Node, Bun, Go, Python and PHP; Compose handles custom stacks.

Sync and deployment

Web projects reserve an application port; Workers do not. A Web project domain is optional and can be added later. Sync refreshes source while deployment creates a release. Branches are polled every five minutes; automatic deployment also requires Auto deploy and the selected trigger mode. Project slugs are globally unique. Only Masters move or delete projects.

Last audited: 2026-10-15
Published source · v1.0.0