A CLI and SDK to develop, build, and publish applications that extend [Twenty CRM](https://twenty.com).
## Quick start
The recommended way to start is with [create-twenty-app](https://www.npmjs.com/package/create-twenty-app):
```bash
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
yarn twenty dev
```
## Documentation
Full documentation is available at **[docs.twenty.com/developers/extend/apps](https://docs.twenty.com/developers/extend/apps/getting-started)**:
- [Getting Started](https://docs.twenty.com/developers/extend/apps/getting-started) — scaffolding, local server, authentication, dev mode
- [Building Apps](https://docs.twenty.com/developers/extend/apps/building) — entity definitions, API clients, testing, CLI reference
- [Publishing](https://docs.twenty.com/developers/extend/apps/publishing) — deploy, npm publish, marketplace
## Manual installation
If you are adding `twenty-sdk` to an existing project instead of using `create-twenty-app`:
```bash
yarn add twenty-sdk twenty-client-sdk
```
Then add a `twenty` script to your `package.json`:
```json
{
"scripts": {
"twenty": "twenty"
}
}
```
Run `yarn twenty help` to see all available commands.
## Configuration
The CLI stores credentials per remote in `~/.twenty/config.json`. Run `yarn twenty remote add` to configure a remote, or `yarn twenty remote list` to see existing ones.
## Troubleshooting
- Auth errors: run `yarn twenty remote add` to re-authenticate.
- Typings out of date: restart `yarn twenty dev` to refresh the client and types.
- Not seeing changes in dev: make sure dev mode is running (`yarn twenty dev`).
## Contributing
### Development setup
```bash
git clone https://github.com/twentyhq/twenty.git
cd twenty
yarn install
```
### Development mode
```bash
npx nx run twenty-sdk:dev
```
### Production build
```bash
npx nx run twenty-sdk:build
```
### Running the CLI locally
```bash
npx nx run twenty-sdk:start --
```
### Resources
- See our [GitHub](https://github.com/twentyhq/twenty)
- Join our [Discord](https://discord.gg/cx5n4Jzs57)