Files
twenty/packages/create-twenty-app
Raphaël Bosi 0dc6272da5 Remove twenty-ui reexport from the SDK and use twenty-ui directly (#22326)
## What & why

Removes the `twenty-sdk/ui` reexport. Apps now use Twenty UI by
installing
[`twenty-ui@1.0.0-alpha.1`](https://www.npmjs.com/package/twenty-ui/v/1.0.0-alpha.1)
from npm and importing its subpaths directly. The reexport re-exported
types that didn't resolve, forcing typecheck workarounds.

## Changes

- **twenty-sdk**: delete `src/ui/index.ts`, drop the `./ui` export,
remove it from the browser vite build, and rewire the CLI manifest-mock
to `twenty-ui` (`.css` falls through to the empty-CSS loader).
`twenty-ui` stays a devDependency for the CLI fixture tests.
- **Renderer + create-twenty-app template**: import from `twenty-ui`
subpaths; the template pins `twenty-ui@1.0.0-alpha.1`.
- **Docs**: new "Using Twenty UI components" section (install + subpath
imports + `useTheme()` for theme tokens), codex references, and the
cross-doc-contract validator.

The `twenty-for-twenty` / `twenty-slack` example apps are intentionally
left on `twenty-sdk/ui`: they consume the published SDK (which still
ships `./ui`), and `twenty-ui@1.0.0-alpha.1` requires react 19 + a
`monaco-editor` peer the react-18 apps can't satisfy. They migrate once
the SDK is republished.
2026-06-30 11:17:48 +02: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. Start a local Twenty server via Docker (pulls the latest image automatically)
  3. Authenticate with the development API key

Options

Flag Description
--name <name> Set the app name
--display-name <displayName> Set the display name
--description <description> Set the description
--url <url> Twenty workspace URL (default: http://localhost:2020)
--authentication-method <method> oauth or apiKey (default: apiKey for local, oauth for remote)

Documentation

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

  • Quick Start — scaffold, run a local server, sync your code
  • Concepts — how apps work: entity model, sandboxing, lifecycle
  • Operations — CLI, testing, CI, deploy and publish

Troubleshooting

  • Server not starting: check Docker is running (docker info), then try yarn twenty docker:logs.
  • Auth not working: run yarn twenty remote:add to re-authenticate.
  • Types not generated: ensure yarn twenty dev is running — it auto-generates the typed client.

Contributing