본문으로 건너뛰기
cccskills
무료GitHub에 공개

create-app

Create a new app that extends a running Twenty instance. Guide project naming and instance selection, then use the scaffolder to install dependencies, authenticate, initialize Git, and complete the initial sync and installation.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Use when the user wants to create or scaffold a new Twenty app

연동 도구Docker
설치 방법 보기

이럴 때 유용합니다

  • Start a new Twenty app project
  • Scaffold a CRM extension or integration
  • Create an app connected to an existing Twenty instance
  • Try a new app with a local Docker instance

포함된 파일(2)

  • SKILL.md6.4 KB
  • agents/openai.yaml171 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

When To Use

Pick this skill when the user wants to start a brand-new Twenty app from scratch. Representative triggers:

  • "I want to build a Twenty app"
  • "scaffold a new Twenty app"
  • "start a new Twenty plugin / extension / integration"
  • "create a CRM extension for Twenty"
  • "set up a Twenty app project"
  • "bootstrap a Twenty app called X"

Do not use this skill when the app already exists — use develop-app to add features, manage-app for sync/deploy/troubleshooting, publish-app for marketplace prep, or use-twenty-mcp to query workspace data.

Quickstart an App

For background on how Twenty apps work — the SDK packages, remotes, sync lifecycle, and rendering model — read ../../references/concepts/how-apps-work.md. Cross-skill operating rules that apply to every Twenty app task are in ../../references/concepts/operating-rules.md; they are authoritative and not restated per skill.

Use this as the default way to start an app unless the user gives different instructions.

Why A Twenty Instance Is Needed

Before scaffolding, explain to the user that a Twenty app is not a standalone application — it is a package that extends a running Twenty instance. During development, the app's entities (objects, views, front components, logic functions) are synced to a Twenty instance where they are registered, rendered, and executed. Without a connected instance, there is nothing to sync to, no workspace to test in, and no way to verify the app works.

Choose A Twenty Instance

By default, ask the user for the URL of their existing Twenty instance (e.g. https://app.twenty.com or a self-hosted URL). Mention that if they don't have one yet, you can spin up a local instance with Docker instead.

The two options are:

  1. Existing Twenty instance (default) — the user provides the URL of a running Twenty server (self-hosted or cloud, e.g. https://app.twenty.com). The scaffolder authenticates via OAuth on that instance. Best when the user already has a workspace with data they want to develop against.
  2. Local instance with Docker (fallback) — only when the user has no Twenty instance available. The scaffolder starts a disposable local Twenty server on http://localhost:2020 through Docker. Requires Docker Desktop to be installed and running.

If the user does not provide a URL, ask first whether they have a Twenty instance URL to use; only fall back to Docker if they explicitly say they don't have one.

Before scaffolding, repeat back the app's purpose in one sentence and its expected shape: standard objects extended, any custom objects, whether it needs UI, whether it needs workflows or post-install seeding. Scaffolding is one-way — confirming here avoids re-scaffolds later.

Scaffolding

First, ask the user for the app name if they did not provide one.

The directory name must contain only lowercase letters, numbers, and hyphens. Transform the entered name to lowercase and replace spaces with hyphens when needed.

For an existing Twenty instance (default):

npx create-twenty-app@latest <app-name> --url <twenty-instance-url>

The --url flag authenticates via OAuth on the provided instance. The scaffolder opens a browser for the OAuth flow, then stores the credentials as a remote in ~/.twenty/config.json.

Only if the user has no Twenty instance and wants to try locally with Docker:

npx create-twenty-app@latest <app-name>

This omits --url and starts a disposable local Twenty server through Docker.

The scaffolder handles everything: it creates the project, enables corepack, installs dependencies, initializes Git, authenticates with the target instance, runs an initial sync, and opens the generated app page when possible.

If the user provides a package name, display name, or description, pass them through:

npx create-twenty-app@latest <app-directory> --name "<package-name>" --display-name "<display-name>" --description "<description>"

Supported create-time options are --name, --display-name, --description, --url, and --authentication-method.

After Scaffolding

When the scaffolder completes, the app is fully created, synced, and installed. The job is done.

Do not run any follow-up validation commands after scaffolding unless the user asks for them. Do not run yarn twenty apply, yarn test, yarn lint, or other validation just to prove the scaffold worked; the scaffolder already performed the initial sync. If the user asks to run tests later, switch to develop-app or manage-app guidance and run the full suite against the isolated test instance with TWENTY_API_URL=http://localhost:2021.

Report to the user that the app was created successfully and is ready for development. Then stop. Wait for the user to ask for the next action.

The scaffolder generates a placeholder page at src/front-components/main-page.tsx plus its page layout and navigation menu item. In develop-app, delete all three before the first deploy unless the app actually needs UI. Do not stack additional pages on top of the placeholder.

It also generates a health check at src/logic-functions/health-check.ts that reports OK. Customise that file when the app gains something worth reporting; do not add a second one, since an app may declare only one health check and a second fails the build.

Docker Fallback Troubleshooting

Use this only when the user opted into the Docker fallback and it fails because Docker is missing or not running.

The preferred recovery is to ask the user for an existing Twenty instance URL and rerun the scaffolder with --url <twenty-instance-url> — this skips Docker entirely.

If the user still wants the local Docker path and Docker is missing, share this download link: https://www.docker.com/products/docker-desktop/ and ask them to install Docker Desktop.

Next Steps

Only proceed to these when the user explicitly asks:

  • Use develop-app when the user wants to add objects, fields, logic functions, roles, views, navigation, page layouts, skills, agents, front component registrations, or settings menu items.
  • Use ../../references/design/front-component-ui.md when the user wants to design or improve the UI of a Twenty front component.
  • When the user later makes changes to app entities, use yarn twenty apply to sync those changes. See the manage-app skill for sync workflow.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Extend an existing Twenty app with data fields, layouts, custom screens, automated logic, workflows, and permissions. The skill guides code organization, entity creation, type checking, linting, and syncing definitions to the active remote.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Add custom fields and objects to an existing Twenty app
  • Build custom screens and standalone pages
  • Run logic when records are created
twentyhq/twenty5.9만2026년 10월 18일 업데이트

Operate an existing Twenty app by syncing changes, managing server connections, building and deploying releases, and inspecting function logs. It also guides troubleshooting and CI/CD, the workflows used to automate testing and deployment.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Sync app changes to a Twenty server
  • Prepare and deploy an app update
  • Investigate failed builds or deployments
twentyhq/twenty5.9만2026년 10월 18일 업데이트

Prepare an existing Twenty app for npm or marketplace publication by reviewing its README, listing details, package metadata, logos, and screenshots. The workflow includes checking publication settings, validating the build, and running the publishing command.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Prepare a Twenty app marketplace listing
  • Write or review README and About text
  • Check logos, screenshots, and public assets
twentyhq/twenty5.9만2026년 10월 18일 업데이트

qa-scout

무료

Check a Twenty pull request through real browser scenarios derived from its changes. Verify database effects and server logs alongside visible results, then produce screenshots, a structured verdict, and a report of any failures or uncertainty.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Validate user flows before or after merging a Twenty pull request
  • Check database writes and timeline activity after saving records
  • Investigate backend errors hidden behind a successful screen
twentyhq/twenty5.9만2026년 10월 18일 업데이트

Implement validation and migration action builders for syncable entities, data types handled by Twenty's synchronization system. This skill covers required fields, uniqueness, reference checks, and orchestration wiring, with validators that return errors without throwing exceptions or changing data.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Add required-field and duplicate checks
  • Validate references to parent entities
  • Build create, update, and delete migration actions
twentyhq/twenty5.9만2026년 10월 18일 업데이트

Implement caching and data conversion for syncable entities in Twenty's server code. Build lookup maps, convert stored records and inputs into flat representations, and resolve references to universal identifiers for later validation and processing.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Build a cache service for a new syncable entity
  • Convert stored entities into flat data
  • Transform creation and update inputs
twentyhq/twenty5.9만2026년 10월 18일 업데이트

twentyhq의 스킬 모두 보기

이 스킬의 문제 신고