## Summary - **New Getting Started section** with quickstart guide and restructured navigation - **Halftone-style illustrations** for User Guide and Developer introduction cards using a Canvas 2D filter script - **Removed hero images** (`image:` frontmatter + `<Frame><img>` blocks) from all user-guide article pages - **Cleaned up translations** (13 languages): removed hero images and updated introduction cards to use halftone style - **Cleaned up twenty-ui pages**: removed outdated hero images from component docs - **Deleted orphaned images**: `table.png`, `kanban.png` - **Developer page**: fixed duplicate icon, switched to 3-column layout ## Test plan - [ ] Verify docs site builds without errors - [ ] Check User Guide introduction page renders halftone card images in both light and dark mode - [ ] Check Developer introduction page renders 3-column layout with distinct icons - [ ] Confirm article pages no longer show hero images at the top - [ ] Spot-check a few translated pages to ensure hero images are removed 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: github-actions <github-actions@twenty.com>
85 lines
1.8 KiB
Plaintext
85 lines
1.8 KiB
Plaintext
---
|
|
title: Backend Commands
|
|
icon: "terminal"
|
|
---
|
|
|
|
|
|
## Useful commands
|
|
|
|
These commands should be executed from packages/twenty-server folder.
|
|
From any other folder you can run `npx nx {command} twenty-server` (or `npx nx run twenty-server:{command}`).
|
|
|
|
### First time setup
|
|
|
|
```
|
|
npx nx database:reset twenty-server # setup the database with dev seeds
|
|
```
|
|
|
|
### Starting the server
|
|
|
|
```
|
|
npx nx run twenty-server:start
|
|
```
|
|
|
|
### Lint
|
|
|
|
```
|
|
npx nx run twenty-server:lint # pass --fix to fix lint errors
|
|
```
|
|
|
|
### Test
|
|
|
|
```
|
|
npx nx run twenty-server:test:unit # run unit tests
|
|
npx nx run twenty-server:test:integration # run integration tests
|
|
```
|
|
Note: you can run `npx nx run twenty-server:test:integration:with-db-reset` in case you need to reset the database before running the integration tests.
|
|
|
|
### Resetting the database
|
|
|
|
If you want to reset and seed the database, you can run the following command:
|
|
|
|
```bash
|
|
npx nx run twenty-server:database:reset
|
|
```
|
|
|
|
### Migrations
|
|
|
|
#### For objects in Core/Metadata schemas (TypeORM)
|
|
|
|
```bash
|
|
npx nx run twenty-server:database:migrate:generate
|
|
```
|
|
|
|
## Tech Stack
|
|
|
|
Twenty primarily uses NestJS for the backend.
|
|
|
|
Prisma was the first ORM we used. But in order to allow users to create custom fields and custom objects, a lower-level made more sense as we need to have fine-grained control. The project now uses TypeORM.
|
|
|
|
Here's what the tech stack now looks like.
|
|
|
|
|
|
**Core**
|
|
- [NestJS](https://nestjs.com/)
|
|
- [TypeORM](https://typeorm.io/)
|
|
- [GraphQL Yoga](https://the-guild.dev/graphql/yoga-server)
|
|
|
|
**Database**
|
|
- [Postgres](https://www.postgresql.org/)
|
|
|
|
**Third-party integrations**
|
|
- [Sentry](https://sentry.io/welcome/) for tracking bugs
|
|
|
|
**Testing**
|
|
- [Jest](https://jestjs.io/)
|
|
|
|
**Tooling**
|
|
- [Yarn](https://yarnpkg.com/)
|
|
- [Oxlint](https://oxc.rs/docs/guide/usage/linter.html)
|
|
|
|
**Development**
|
|
- [AWS EKS](https://aws.amazon.com/eks/)
|
|
|
|
|