diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 18b00e6260..2a036e1396 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -1,21 +1,21 @@
# Contributing to Twenty
-Thanks for considering contributing to Twenty!
+Thanks for considering contributing to Twenty!
-Please make sure to go through the [documentation](https://docs.twenty.com) before.
+Please make sure to go through the [documentation](https://docs.twenty.com) before.
## Good first issues
-Good first issues are a great way to start contributing and get familiar with the codebase. You can find them on by filtering on the [good first issue](https://github.com/twentyhq/twenty/labels/good%20first%20issue) label.
+Good first issues are a great way to start contributing and get familiar with the codebase. You can find them on by filtering on the [good first issue](https://github.com/twentyhq/twenty/labels/good%20first%20issue) label.
## Issue assignment
To avoid conflicts, we follow these guidelines:
-1. For `Good First Issue` and `Experienced Contributor` issues without `size: long` labels, we'll merge the first PRs that meet our [code quality standards](https://twenty.com/developers). **We don't assign contributors to these issues**. For `priority: high` issues, our core team will step in within days if no adequate contributions are received.
+1. For `Good First Issue` and `Experienced Contributor` issues without `size: long` labels, we'll merge the first PRs that meet our [code quality standards](https://docs.twenty.com/developers). **We don't assign contributors to these issues**. For `priority: high` issues, our core team will step in within days if no adequate contributions are received.
2. For `size: long` Issues, assigned contributors have one week to submit their first draft PR.
## How to Contribute
diff --git a/README.md b/README.md
index 1c1caac014..bf75ae5b65 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
The #1 Open-Source CRM
-🌐 Website · 📚 Documentation ·
Roadmap ·
Discord ·
Figma
+🌐 Website · 📚 Documentation ·
Roadmap ·
Discord ·
Figma
@@ -24,11 +24,11 @@
-# Installation
+# Installation
-See:
-🚀 [Self-hosting](https://twenty.com/developers/section/self-hosting)
-🖥️ [Local Setup](https://twenty.com/developers/local-setup)
+See:
+🚀 [Self-hosting](https://docs.twenty.com/developers/self-hosting/docker-compose)
+🖥️ [Local Setup](https://docs.twenty.com/developers/local-setup)
# Does the world need another CRM?
@@ -44,7 +44,7 @@ We built Twenty for three reasons:
# What You Can Do With Twenty
-Please feel free to flag any specific needs you have by creating an issue.
+Please feel free to flag any specific needs you have by creating an issue.
Below are a few features we have implemented to date:
@@ -131,7 +131,7 @@ Below are a few features we have implemented to date:
- Star the repo
- Subscribe to releases (watch -> custom -> releases)
-- Follow us on [Twitter](https://twitter.com/twentycrm) or [LinkedIn](https://www.linkedin.com/company/twenty/)
+- Follow us on [Twitter](https://twitter.com/twentycrm) or [LinkedIn](https://www.linkedin.com/company/twenty/)
- Join our [Discord](https://discord.gg/cx5n4Jzs57)
-- Improve translations on [Crowdin](https://twenty.crowdin.com/twenty)
-- [Contributions](https://github.com/twentyhq/twenty/contribute) are, of course, most welcome!
+- Improve translations on [Crowdin](https://twenty.crowdin.com/twenty)
+- [Contributions](https://github.com/twentyhq/twenty/contribute) are, of course, most welcome!
diff --git a/packages/twenty-docs/README.md b/packages/twenty-docs/README.md
new file mode 100644
index 0000000000..0621cb52e0
--- /dev/null
+++ b/packages/twenty-docs/README.md
@@ -0,0 +1,94 @@
+# Twenty Documentation
+
+Official documentation for Twenty CRM, powered by [Mintlify](https://mintlify.com).
+
+## 🌐 Live Site
+
+Visit the documentation at [docs.twenty.com](https://docs.twenty.com)
+
+## 📚 Content
+
+This repository contains:
+- **User Guide** (46 pages) - Complete guide for Twenty users
+- **Developers** (24 pages) - Technical documentation for developers
+- **Twenty UI** (25 pages) - UI component library documentation
+
+## 🚀 Local Development
+
+To run the documentation locally:
+
+```bash
+# From the twenty monorepo root
+npx nx run twenty-docs:dev
+```
+
+The documentation will be available at `http://localhost:3000`
+
+## 📝 Editing Content
+
+### Adding/Editing Pages
+
+1. Edit MDX files in the appropriate directory:
+ - `user-guide/` - User documentation
+ - `developers/` - Developer documentation
+ - `twenty-ui/` - Component documentation
+
+2. Update `docs.json` to add pages to navigation
+
+### MDX Format
+
+All documentation pages use MDX format with frontmatter:
+
+```mdx
+---
+title: Page Title
+description: Page description
+image: /images/path/to/image.png
+---
+
+Your content here...
+```
+
+### Adding Images
+
+1. Place images in the `/images/` directory
+2. Reference them in MDX: ``
+3. Or use Mintlify Frame component:
+```mdx
+
+
+
+```
+
+## 🔧 Configuration
+
+- `docs.json` - Main Mintlify configuration (navigation, theme, etc.)
+- `package.json` - Package dependencies and scripts
+- `project.json` - Nx workspace configuration
+
+## 📦 Building
+
+```bash
+# Build the documentation
+npx nx run twenty-docs:build
+```
+
+## 🔗 Links
+
+- [Twenty Website](https://twenty.com)
+- [GitHub Repository](https://github.com/twentyhq/twenty)
+- [Mintlify Documentation](https://mintlify.com/docs)
+
+## 🤝 Contributing
+
+To contribute to the documentation:
+
+1. Fork the repository
+2. Make your changes in the `packages/twenty-docs` directory
+3. Test locally with `npx nx run twenty-docs:dev`
+4. Submit a pull request
+
+## 📄 License
+
+This documentation is part of the Twenty project and is licensed under [AGPL-3.0](../../LICENSE).
+
diff --git a/packages/twenty-docs/developers/frontend-development/frontend-commands.mdx b/packages/twenty-docs/developers/frontend-development/frontend-commands.mdx
index 8c87468a79..914f0d32db 100644
--- a/packages/twenty-docs/developers/frontend-development/frontend-commands.mdx
+++ b/packages/twenty-docs/developers/frontend-development/frontend-commands.mdx
@@ -73,15 +73,15 @@ The project has a clean and simple stack, with minimal boilerplate code.
### Routing
-[React Router](https://reactrouter.com/) handles the routing.
+[React Router](https://reactrouter.com/) handles the routing.
-To avoid unnecessary [re-renders](/contributor/frontend/best-practices#managing-re-renders) all the routing logic is in a `useEffect` in `PageChangeEffect`.
+To avoid unnecessary [re-renders](/developers/frontend-development/best-practices-front#managing-re-renders) all the routing logic is in a `useEffect` in `PageChangeEffect`.
### State Management
[Recoil](https://recoiljs.org/docs/introduction/core-concepts) handles state management.
-See [best practices](/developers/section/frontend-development/best-practices-front#state-management) for more information on state management.
+See [best practices](/developers/frontend-development/best-practices-front#state-management) for more information on state management.
## Testing
diff --git a/packages/twenty-docs/developers/local-setup.mdx b/packages/twenty-docs/developers/local-setup.mdx
index e980f69d6a..664ab5f883 100644
--- a/packages/twenty-docs/developers/local-setup.mdx
+++ b/packages/twenty-docs/developers/local-setup.mdx
@@ -232,7 +232,7 @@ If you need a Client GUI, we recommend [redis insight](https://redis.io/insight/
## Step 5: Setup environment variables
-Use environment variables or `.env` files to configure your project. More info [here](https://twenty.com/developers/section/self-hosting/setup)
+Use environment variables or `.env` files to configure your project. More info [here](https://docs.twenty.com/developers/self-hosting/setup)
Copy the `.env.example` files in `/front` and `/server`:
```bash
@@ -301,4 +301,4 @@ You can log in using the default demo account: `tim@apple.dev` (password: `tim@a
## Troubleshooting
-If you encounter any problem, check [Troubleshooting](https://twenty.com/developers/section/self-hosting/troubleshooting) for solutions.
+If you encounter any problem, check [Troubleshooting](https://docs.twenty.com/developers/self-hosting/troubleshooting) for solutions.
diff --git a/packages/twenty-docs/developers/self-hosting/docker-compose.mdx b/packages/twenty-docs/developers/self-hosting/docker-compose.mdx
index 490b1067df..69e8eaa40e 100644
--- a/packages/twenty-docs/developers/self-hosting/docker-compose.mdx
+++ b/packages/twenty-docs/developers/self-hosting/docker-compose.mdx
@@ -7,7 +7,7 @@ image: /images/user-guide/objects/objects.png
-Docker containers are for production hosting or self-hosting, for the contribution please check the [Local Setup](https://twenty.com/developers/local-setup).
+Docker containers are for production hosting or self-hosting, for the contribution please check the [Local Setup](https://docs.twenty.com/developers/local-setup).
## Overview
@@ -16,7 +16,7 @@ This guide provides step-by-step instructions to install and configure the Twent
**Important:** Only modify settings explicitly mentioned in this guide. Altering other configurations may lead to issues.
-See docs [Setup Environment Variables](https://twenty.com/developers/section/self-hosting/setup) for advanced configuration. All environment variables must be declared in the docker-compose.yml file at the server and / or worker level depending on the variable.
+See docs [Setup Environment Variables](https://docs.twenty.com/developers/self-hosting/setup) for advanced configuration. All environment variables must be declared in the docker-compose.yml file at the server and / or worker level depending on the variable.
## System Requirements
@@ -196,6 +196,6 @@ We strongly recommend setting up Twenty behind a reverse proxy with SSL terminat
## Troubleshooting
-If you encounter any problem, check [Troubleshooting](https://twenty.com/developers/section/self-hosting/troubleshooting) for solutions.
+If you encounter any problem, check [Troubleshooting](https://docs.twenty.com/developers/self-hosting/troubleshooting) for solutions.
diff --git a/packages/twenty-docs/developers/self-hosting/setup.mdx b/packages/twenty-docs/developers/self-hosting/setup.mdx
index e0331b13b0..8796e951a7 100644
--- a/packages/twenty-docs/developers/self-hosting/setup.mdx
+++ b/packages/twenty-docs/developers/self-hosting/setup.mdx
@@ -11,7 +11,7 @@ import OptionTable from '@site/src/theme/OptionTable'
# Configuration Management
-**First time installing?** Follow the [Docker Compose installation guide](https://twenty.com/developers/section/self-hosting/docker-compose) to get Twenty running, then return here for configuration.
+**First time installing?** Follow the [Docker Compose installation guide](https://docs.twenty.com/developers/self-hosting/docker-compose) to get Twenty running, then return here for configuration.
Twenty offers **two configuration modes** to suit different deployment needs:
@@ -27,7 +27,7 @@ IS_CONFIG_VARIABLES_IN_DB_ENABLED=true # default
**Most configuration happens through the UI** after installation:
1. Access your Twenty instance (usually `http://localhost:3000`)
-2. Go to **Settings / Admin Panel / Configuration Variables**
+2. Go to **Settings / Admin Panel / Configuration Variables**
3. Configure integrations, email, storage, and more
4. Changes take effect immediately (within 15 seconds for multi-container deployments)
@@ -37,7 +37,7 @@ IS_CONFIG_VARIABLES_IN_DB_ENABLED=true # default
**What you can configure through the admin panel:**
- **Authentication** - Google/Microsoft OAuth, password settings
-- **Email** - SMTP settings, templates, verification
+- **Email** - SMTP settings, templates, verification
- **Storage** - S3 configuration, local storage paths
- **Integrations** - Gmail, Google Calendar, Microsoft services
- **Workflow & Rate Limiting** - Execution limits, API throttling
@@ -46,7 +46,7 @@ IS_CONFIG_VARIABLES_IN_DB_ENABLED=true # default

-Each variable is documented with descriptions in your admin panel at **Settings → Admin Panel → Configuration Variables**.
+Each variable is documented with descriptions in your admin panel at **Settings → Admin Panel → Configuration Variables**.
Some infrastructure settings like database connections (`PG_DATABASE_URL`), server URLs (`SERVER_URL`), and app secrets (`APP_SECRET`) can only be configured via `.env` file.
[Complete technical reference →](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts)
@@ -103,7 +103,7 @@ IS_CONFIG_VARIABLES_IN_DB_ENABLED=false
**Required scopes** (automatically configured):
[See relevant source code](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/auth/utils/get-google-apis-oauth-scopes.ts#L4-L10)
- `https://www.googleapis.com/auth/calendar.events`
-- `https://www.googleapis.com/auth/gmail.readonly`
+- `https://www.googleapis.com/auth/gmail.readonly`
- `https://www.googleapis.com/auth/profile.emails.read`
### If your app is in test mode
@@ -238,4 +238,4 @@ yarn command:prod cron:workflow:automated-cron-trigger
**Environment-only mode:** If you set `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, add these variables to your `.env` file instead.
-
\ No newline at end of file
+
diff --git a/packages/twenty-docs/twenty-ui/input/color-scheme.mdx b/packages/twenty-docs/twenty-ui/input/color-scheme.mdx
index d4d5e76671..f475dd1830 100644
--- a/packages/twenty-docs/twenty-ui/input/color-scheme.mdx
+++ b/packages/twenty-docs/twenty-ui/input/color-scheme.mdx
@@ -35,7 +35,7 @@ export const MyComponent = () => {
|-------|------|-------------|--------|
| variant | string | The color scheme variant. Options include `Dark`, `Light`, and `System` | light |
| selected | boolean | If `true`, displays a checkmark to indicate the selected color scheme | |
-| additional props | `React.ComponentPropsWithoutRef<'div'>` | Standard HTML `div` element props |
+| additional props | `React.ComponentPropsWithoutRef<'div'>` | Standard HTML `div` element props | |
diff --git a/packages/twenty-docs/twenty-ui/input/select.mdx b/packages/twenty-docs/twenty-ui/input/select.mdx
index fb6623348b..5eca261739 100644
--- a/packages/twenty-docs/twenty-ui/input/select.mdx
+++ b/packages/twenty-docs/twenty-ui/input/select.mdx
@@ -6,7 +6,7 @@ image: /images/user-guide/what-is-twenty/20.png
-Allows users to pick a value from a list of predefined options.
+Allows users to pick a value from a list of predefined options.
@@ -47,7 +47,7 @@ export const MyComponent = () => {
| disabled | boolean | When set to `true`, disables user interaction with the component |
| label | string | The label to describe the purpose of the `Select` component |
| onChange | function | The function called when the selected values change |
-| options | array | |
+| options | array | Represents the options available for the `Selected` component. It's an array of objects where each object has a `value` (the unique identifier), `label` (the unique identifier), and an optional `Icon` |
| value | string | Represents the currently selected value. It should match one of the `value` properties in the `options` array |
diff --git a/packages/twenty-docs/user-guide/collaboration/emails-and-calendars.mdx b/packages/twenty-docs/user-guide/collaboration/emails-and-calendars.mdx
index 0b6a1bfa01..9f613184b3 100644
--- a/packages/twenty-docs/user-guide/collaboration/emails-and-calendars.mdx
+++ b/packages/twenty-docs/user-guide/collaboration/emails-and-calendars.mdx
@@ -8,7 +8,7 @@ sectionInfo: Centralize communications and team collaboration
-**Note**: To connect your email accounts and configure sync settings, visit [Email & Calendar Setup](/user-guide/section/settings/email-calendar-setup).
+**Note**: To connect your email accounts and configure sync settings, visit [Email & Calendar Setup](/user-guide/settings/email-calendar-setup).
## How Email Integration Works
@@ -19,7 +19,7 @@ Twenty automatically links emails from your connected mailboxes to the relevant
Email conversations appear in three main objects:
- **People**: View all emails exchanged with a specific contact
-- **Companies**: See all emails related to a company and its employees
+- **Companies**: See all emails related to a company and its employees
- **Opportunities**: Access email threads related to the company linked to this opportunity. Email threads from individual people on the opportunity are not shown yet.
### Viewing Email Threads
diff --git a/packages/twenty-docs/user-guide/collaboration/notes.mdx b/packages/twenty-docs/user-guide/collaboration/notes.mdx
index 7eb6f6d8a2..5f773e3613 100644
--- a/packages/twenty-docs/user-guide/collaboration/notes.mdx
+++ b/packages/twenty-docs/user-guide/collaboration/notes.mdx
@@ -28,7 +28,7 @@ Manage your record-linked notes efficiently using the powerful **Notes** feature
- **Team Handoffs**: Share context when transferring accounts between team members
### Automated Note Creation
-Use [Workflows](/user-guide/section/workflows/getting-started-workflows) to automatically create notes:
+Use [Workflows](/user-guide/workflows/getting-started-workflows) to automatically create notes:
- **Call Recorder Integration**: Auto-generate meeting summaries from recorded calls
- **Deal Handoff Notes**: Auto-create sales cycle summaries when handing off new customers to implementation teams
@@ -37,7 +37,7 @@ Use [Workflows](/user-guide/section/workflows/getting-started-workflows) to auto
### Relations Field
Notes include a **Relations** field that allows you to attach a single note to multiple records across different objects. For example, you can link one meeting note to:
- The Person you met with
-- The Company they represent
+- The Company they represent
- The Opportunity being discussed
- Any relevant Tasks or other records
@@ -50,7 +50,7 @@ This morph many relationship ensures important information is accessible from al
Creating notes in the system is intuitive and dynamic. You can either:
-- Navigate to the notes view and create a new record.
+- Navigate to the notes view and create a new record.
- Go to a `Record page` and select the Notes tab and press the `New note` button.
@@ -64,22 +64,22 @@ Start typing directly or press `/` to add elements like headings, files, or imag
You can format your notes right from the editor. Use Markdown syntax, press the `/` key or click on the `+` icon on the editor to see the different block options, such as headings, tables, and lists. You can also attach images to your note.
-Highlight the text to see more formatting options like bold, italics, and alignment options.
+Highlight the text to see more formatting options like bold, italics, and alignment options.
You can also change the background color and text color of each block to highlight important things in your note. To do so, hover over the block you want to format and click on the `⋮` icon besides the `+` icon. Click on `Colors` to open up all color options for both the text and the background.