Building a modern alternative to Salesforce, powered by the community.
Find a file
Félix Malfait 44aee860d9
Consolidate Prettier config and improve consistency (#15191)
## Summary

Clean up and consolidate formatting configuration across the monorepo.

## Changes

### 1. Remove Redundant Configs
-  Delete `packages/twenty-server/.prettierrc` (had invalid
`brakeBeforeElse` typo)
-  Delete `packages/twenty-zapier/.prettierrc`
-  Use root `.prettierrc` only (Prettier searches up directory tree
automatically)

### 2. Improve Root Prettier Config
- Change `endOfLine: 'auto'` → `'lf'` for consistent Unix line endings
across all OSes

### 3. Enhance VSCode Settings
- `files.eol: 'auto'` → `'\\n'` (consistent with Prettier)
- Add `files.insertFinalNewline: true` (explicit editor behavior)
- Add `files.trimTrailingWhitespace: true` (cleaner files)

### 4. Add `.gitattributes`
- Enforce LF line endings at Git level
- Prevents `core.autocrlf` from converting based on contributor's OS
- Mark patch files as binary (they have mixed line endings by design)
- Explicitly define binary file types

### 5. Fix Line Endings
- Convert 3 selectable-list state files from CRLF → LF
- These were the only source files with Windows line endings

## Why These Changes Matter

**Before:**
- 3 different Prettier configs (inconsistent, one had typo)
- Mixed CRLF/LF depending on contributor's OS
- No Git-level enforcement

**After:**
- Single source of truth for formatting
- All files use LF (Unix standard)
- Git enforces line endings regardless of OS
- Prettier warning about invalid option removed

## Result

-  Single `.prettierrc` config
-  Consistent LF line endings enforced by Git
-  Better VSCode defaults
-  No more CRLF files sneaking in from Windows contributors
2025-10-18 12:24:35 +02:00
.cursor feat(billing): refacto billing (#14243) 2025-09-19 11:25:53 +02:00
.github Fix CI concurrency: prevent test cancellation on main branch (#15188) 2025-10-18 10:50:54 +02:00
.nx Add nxw.js file (#8362) 2024-11-06 14:24:07 +01:00
.vscode Consolidate Prettier config and improve consistency (#15191) 2025-10-18 12:24:35 +02:00
.yarn Update yarn and remove explicit hardened mode (#13092) 2025-07-08 14:57:08 +02:00
packages Consolidate Prettier config and improve consistency (#15191) 2025-10-18 12:24:35 +02:00
tools/eslint-rules Consolidate Prettier config and improve consistency (#15191) 2025-10-18 12:24:35 +02:00
.dockerignore register all cron jobs in entrypoint (#12791) 2025-06-23 21:05:01 +02:00
.gitattributes Consolidate Prettier config and improve consistency (#15191) 2025-10-18 12:24:35 +02:00
.gitignore fix(ai): improve mcp metadata logic (#13991) 2025-08-20 12:06:13 +02:00
.mcp.json Ability to navigate/scroll the workflow canvas with sliding two fingers (#14804) 2025-10-06 13:44:23 +02:00
.nvmrc Upgrade to Node 24 (#13730) 2025-08-07 17:02:12 +02:00
.prettierignore POC: chore: use Nx workspace lint rules (#3163) 2024-01-03 23:07:25 +01:00
.prettierrc Consolidate Prettier config and improve consistency (#15191) 2025-10-18 12:24:35 +02:00
.vale.ini Fix vale ci (#3353) 2024-01-10 17:05:23 +01:00
.yarnrc.yml i18n - translations (#13102) 2025-07-08 15:13:02 +02:00
CLAUDE.md Ability to navigate/scroll the workflow canvas with sliding two fingers (#14804) 2025-10-06 13:44:23 +02:00
crowdin.yml Translations - Crowdin, Set workspace member locale on signup, and optimizations (#10091) 2025-02-09 22:10:41 +01:00
eslint.config.mjs fix: Enable Lingui recommended rules and fix all translation violations (#14133) 2025-08-28 15:12:38 +02:00
eslint.config.react.mjs fix: Enable Lingui recommended rules and fix all translation violations (#14133) 2025-08-28 15:12:38 +02:00
jest.config.mjs Refactor read only object and fields (#13936) 2025-08-19 18:10:35 +02:00
jest.preset.js POC: chore: use Nx workspace lint rules (#3163) 2024-01-03 23:07:25 +01:00
LICENSE feat(sso): allow to use OIDC and SAML (#7246) 2024-10-21 20:07:08 +02:00
Makefile Refactor Makefile for streamlined service definitions (#14757) 2025-10-02 11:55:05 +02:00
nx Fix execution permissions (#11604) 2025-04-16 11:46:37 +02:00
nx.json Refactor read only object and fields (#13936) 2025-08-19 18:10:35 +02:00
package.json chore(workflows): update permissions across GitHub Actions workflows … (#14919) 2025-10-06 17:36:41 +02:00
README.md Hacktoberfest 2025 Banner (#14843) 2025-10-02 16:17:55 +02:00
render.yaml Begin moving to postgres spilo + adding pgvector (#8309) 2024-11-15 09:38:30 +01:00
tsconfig.base.json Run yarn dedupe and upgrade TS (#13853) 2025-08-12 15:18:59 +02:00
yarn.config.cjs [ENHC] Create Yarn constraints to validate node version (#10542) 2025-02-27 15:18:07 +01:00
yarn.lock Release - revert/downgrade twenty website next version (#15181) 2025-10-17 19:24:27 +02:00

Hacktoberfest 2025

Twenty logo

The #1 Open-Source CRM

🌐 Website · 📚 Documentation · Roadmap · Discord · Figma


Cover


Installation

See:
🚀 Self-hosting
🖥️ Local Setup

Does the world need another CRM?

We built Twenty for three reasons:

CRMs are too expensive, and users are trapped. Companies use locked-in customer data to hike prices. It shouldn't be that way.

A fresh start is required to build a better experience. We can learn from past mistakes and craft a cohesive experience inspired by new UX patterns from tools like Notion, Airtable or Linear.

We believe in Open-source and community. Hundreds of developers are already building Twenty together. Once we have plugin capabilities, a whole ecosystem will grow around it.


What You Can Do With Twenty

Please feel free to flag any specific needs you have by creating an issue.

Below are a few features we have implemented to date:

Personalize layouts with filters, sort, group by, kanban and table views

Companies Kanban Views

Customize your objects and fields

Setting Custom Objects

Create and manage permissions with custom roles

Permissions

Automate workflow with triggers and actions

Workflows

Emails, calendar events, files, and more

Other Features


Stack

Thanks

Chromatic Greptile Sentry Crowdin

Thanks to these amazing services that we use and recommend for UI testing (Chromatic), code review (Greptile), catching bugs (Sentry) and translating (Crowdin).

Join the Community