Files
twenty/packages/create-twenty-app
Charles Bochet 1ae88f4e4f chore: add CD workflow template and point spawn action to main (#19430)
## Summary

- Adds reusable composite GitHub Actions for Twenty app deployment:
- `.github/actions/deploy` — builds and deploys to a remote instance
(`api-url`, `api-key` inputs)
- `.github/actions/install` — installs/upgrades on a specific workspace
(`api-url`, `api-key` inputs)
- Adds a `cd.yml` CD workflow that calls both actions in sequence. The
workflow:
  - Deploys on push to `main`
  - Can be triggered from a PR by adding a `deploy` label
- Configures a named remote via `TWENTY_DEPLOY_URL` env var and
`TWENTY_DEPLOY_API_KEY` secret
- Applied to: `create-twenty-app` template, `postcard` example,
`hello-world` example
- Updates the `spawn-twenty-app-dev-test` action ref from
`@feature/sdk-config-file-source-of-truth` to `@main` in all `ci.yml`
files
2026-04-08 12:31:38 +00:00
..
2026-04-08 09:26:42 +00:00
2026-04-03 12:44:03 +00:00
2026-04-03 12:44:03 +00:00
2026-04-03 12:44:03 +00:00
2026-04-03 12:44:03 +00:00

Twenty logo

Create Twenty App

NPM version License Join the community on Discord

The official scaffolding CLI for building apps on top of Twenty CRM. Sets up a ready-to-run project with twenty-sdk.

Quick start

npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
yarn twenty dev

The scaffolder will:

  1. Create a new project with TypeScript, linting, tests, and a preconfigured twenty CLI
  2. Optionally start a local Twenty server (Docker)
  3. Open the browser for OAuth authentication

Options

Flag Description
--example <name> Initialize from an example
--name <name> Set the app name (skips the prompt)
--display-name <displayName> Set the display name (skips the prompt)
--description <description> Set the description (skips the prompt)
--skip-local-instance Skip the local server setup prompt

By default (no flags), a minimal app is generated with core files and an integration test. Use --example to start from a richer example:

npx create-twenty-app@latest my-twenty-app --example hello-world

Examples are sourced from twentyhq/twenty/packages/twenty-apps/examples.

Documentation

Full documentation is available at docs.twenty.com/developers/extend/apps:

Troubleshooting

  • Server not starting: check Docker is running (docker info), then try yarn twenty server logs.
  • Auth not working: make sure you are logged in to Twenty in the browser, then run yarn twenty remote add.
  • Types not generated: ensure yarn twenty dev is running — it auto-generates the typed client.

Contributing