Files
twenty/packages/create-twenty-app
MarieandGitHub 0001c2e7d0 [Apps] Apps marketplace (first draft) (#17562)
https://github.com/user-attachments/assets/c4e63edb-6e98-44bc-841f-ee110ae712d4

How it works
- `manifest.json` files are now committed when apps are published to our
repo
- to display available apps, from the server, we read into our github
repo, using a pod-scoped cache
- feature flagged
- app installation will be behind permission gate MARKETPLACE_APPS

Limitations and what is yet to develop
- content and settings tabs
- installed apps tab
- app installation
- test and potentially fix reading from .manifest.json once [Reshape
manifest
structure](https://github.com/twentyhq/core-team-issues/issues/2183) is
done. additional work is expected on assets notably. (couldnt properly
do it here as manifest.json will only be committed after this pr)
- we only read in community/ folder for now - we may want tochange that
- the cache is rather artisanal for now and scoped by pod - we may want
to change that
2026-01-30 17:32:32 +00:00
..
2026-01-19 09:41:54 +01:00

Twenty logo

Create Twenty App

NPM version License Join the community on Discord

Create Twenty App is the official scaffolding CLI for building apps on top of Twenty CRM. It sets up a readytorun project that works seamlessly with the twenty-sdk.

  • Zeroconfig project bootstrap
  • Preconfigured scripts for auth, dev mode (watch & sync), generate, uninstall, and function management
  • Strong TypeScript support and typed client generation

Documentation

See Twenty application documentation https://docs.twenty.com/developers/extend/capabilities/apps

Prerequisites

Quick start

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

# If you don't use yarn@4
corepack enable
yarn install

# Get help
yarn run help

# Authenticate using your API key (you'll be prompted)
yarn auth:login

# Add a new entity to your application (guided)
yarn entity:add

# Generate a typed Twenty client and workspace entity types
yarn app:generate

# Start dev mode: watches, builds, and syncs local changes to your workspace
yarn app:dev

# Watch your application's function logs
yarn function:logs

# Execute a function with a JSON payload
yarn function:execute -n my-function -p '{"key": "value"}'

# Uninstall the application from the current workspace
yarn app:uninstall

What gets scaffolded

  • A minimal app structure ready for Twenty
  • TypeScript configuration
  • Prewired scripts that wrap the twenty CLI from twenty-sdk
  • Example placeholders to help you add entities, actions, and sync logic

Next steps

  • Explore the generated project and add your first entity with yarn entity:add (functions, front components, objects, roles).
  • Keep your types uptodate using yarn app:generate.
  • Use yarn app:dev while you iterate — it watches, builds, and syncs changes to your workspace in real time.

Publish your application

Applications are currently stored in twenty/packages/twenty-apps.

You can share your application with all Twenty users:

# pull the Twenty project
git clone https://github.com/twentyhq/twenty.git
cd twenty

# create a new branch
git checkout -b feature/my-awesome-app
git commit -m "Add new application"
git push

Our team reviews contributions for quality, security, and reusability before merging.

Troubleshooting

  • Auth prompts not appearing: run yarn auth:login again and verify the API key permissions.
  • Types not generated: ensure yarn app:generate runs without errors, then restart yarn app:dev.

Contributing