6e319283c4
Clean up Vite 8/Rolldown build warnings that showed up during yarn start: - `twenty-client-sdk`: `relativeImportPath.ts` now imports `node:path`, so the generate bundle treats it as a Node external instead of stubbing it for the browser. - Remove rollup’s `interop: 'auto'` from CJS output options - Rolldown don’t support it and was showing `Invalid key: Expected never but received "interop"`. - Replaced deprecated `inlineDynamicImports: true` with `codeSplitting: false` in the worker config. References: - https://v7.vite.dev/guide/rolldown#option-validation-warnings - https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/twentyhq/twenty/pull/22205?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> --------- Signed-off-by: Parship Chowdhury <parshipchowdhury@gmail.com> Co-authored-by: Charles Bochet <charles@twenty.com>
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:
- Create a new project with TypeScript, linting, tests, and a preconfigured
twentyCLI - Start a local Twenty server via Docker (pulls the latest image automatically)
- 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 tryyarn twenty docker:logs. - Auth not working: run
yarn twenty remote:addto re-authenticate. - Types not generated: ensure
yarn twenty devis running — it auto-generates the typed client.