Building a modern alternative to Salesforce, powered by the community.
Find a file
Félix Malfait 245bd510ae
chore: cleanup repository root structure (#17147)
## Summary

This PR reduces clutter at the repository root to improve navigation on
GitHub. The README is now visible much sooner when browsing the repo.

## Changes

### Deleted from root
- `nx` wrapper script → use `npx nx` instead
- `render.yaml` → no longer used
- `jest.preset.js` → inlined `@nx/jest/preset` directly in each
package's jest.config
- `.prettierrc` → moved config to `package.json`
- `.prettierignore` → patterns already covered by `.gitignore`

### Moved/Consolidated
| From | To |
|------|-----|
| `Makefile` | `packages/twenty-docker/Makefile` (merged) |
| `crowdin-app.yml` | `.github/crowdin-app.yml` |
| `crowdin-docs.yml` | `.github/crowdin-docs.yml` |
| `.vale.ini` | `.github/vale.ini` |
| `tools/eslint-rules/` | `packages/twenty-eslint-rules/` |
| `eslint.config.react.mjs` |
`packages/twenty-front/eslint.config.react.mjs` |

## Result

Root items reduced from ~32 to ~22 (folders + files).

## Files updated

- GitHub workflow files updated to reference new crowdin config paths
- Jest configs updated to use `@nx/jest/preset` directly
- ESLint configs updated with new import paths
- `nx.json` updated with new paths
- `package.json` now includes prettier config and updated workspace
paths
- Dockerfile updated with new eslint-rules path
2026-01-14 12:56:30 +00:00
.cursor fix: centralize lint:changed configuration in nx.json (#16877) 2025-12-31 13:47:20 +01:00
.github chore: cleanup repository root structure (#17147) 2026-01-14 12:56:30 +00:00
.nx Add nxw.js file (#8362) 2024-11-06 14:24:07 +01:00
.vscode feat: enforce @/ alias for imports and fix all relative parent imports (#16787) 2025-12-23 22:57:51 +01:00
.yarn Update yarn and remove explicit hardened mode (#13092) 2025-07-08 14:57:08 +02:00
packages chore: cleanup repository root structure (#17147) 2026-01-14 12:56:30 +00:00
tools/eslint-rules chore: cleanup repository root structure (#17147) 2026-01-14 12:56:30 +00: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 feat(i18n): fix translation QA issues and add automation (#16756) 2025-12-22 17:30:46 +01: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
.yarnrc.yml i18n - translations (#13102) 2025-07-08 15:13:02 +02:00
CLAUDE.md fix: centralize lint:changed configuration in nx.json (#16877) 2025-12-31 13:47:20 +01:00
eslint.config.mjs feat: enforce @/ alias for imports and fix all relative parent imports (#16787) 2025-12-23 22:57:51 +01:00
jest.preset.js chore: cleanup repository root structure (#17147) 2026-01-14 12:56:30 +00:00
LICENSE feat(sso): allow to use OIDC and SAML (#7246) 2024-10-21 20:07:08 +02:00
nx.json fix: add NODE_OPTIONS to storybook build to prevent OOM errors (#16889) 2026-01-01 09:34:12 +01:00
package.json chore: cleanup repository root structure (#17147) 2026-01-14 12:56:30 +00:00
README.md Remove Hacktoberfest from README (#15530) 2025-11-03 10:03:03 +01:00
tsconfig.base.json Revert "[hacktoberfest] feat: add fireflies" (#15589) 2025-11-04 12:25:23 +01:00
yarn.config.cjs [ENHC] Create Yarn constraints to validate node version (#10542) 2025-02-27 15:18:07 +01:00
yarn.lock fix: AWS SDK for JavaScript v3 adopted defense in depth enhancement for region parameter value (#17148) 2026-01-14 12:35:50 +00:00

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