{"id":13484925,"url":"https://github.com/twentyhq/twenty","last_synced_at":"2026-05-04T10:02:06.449Z","repository":{"id":153604055,"uuid":"572984571","full_name":"twentyhq/twenty","owner":"twentyhq","description":"Building a modern alternative to Salesforce, powered by the community.","archived":false,"fork":false,"pushed_at":"2025-05-08T13:16:23.000Z","size":276396,"stargazers_count":27807,"open_issues_count":183,"forks_count":3116,"subscribers_count":131,"default_branch":"main","last_synced_at":"2025-05-08T14:28:39.230Z","etag":null,"topics":["crm","crm-system","customer","good-first-issue","graphql","hacktoberfest","javascript","marketing","monorepo","nestjs","open-source","postgresql","react","reactjs","sales","typescript","web"],"latest_commit_sha":null,"homepage":"https://twenty.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/twentyhq.png","metadata":{"files":{"readme":"README.md","changelog":"changelog/0.51.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-01T13:04:40.000Z","updated_at":"2025-05-08T13:27:07.000Z","dependencies_parsed_at":"2025-04-30T16:45:09.607Z","dependency_job_id":null,"html_url":"https://github.com/twentyhq/twenty","commit_stats":{"total_commits":3784,"total_committers":293,"mean_commits":"12.914675767918089","dds":0.8715644820295982,"last_synced_commit":"7c90e717d6cbc2b94c79966782f7be648515d682"},"previous_names":[],"tags_count":169,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twentyhq%2Ftwenty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twentyhq%2Ftwenty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twentyhq%2Ftwenty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twentyhq%2Ftwenty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twentyhq","download_url":"https://codeload.github.com/twentyhq/twenty/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253561070,"owners_count":21927760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crm","crm-system","customer","good-first-issue","graphql","hacktoberfest","javascript","marketing","monorepo","nestjs","open-source","postgresql","react","reactjs","sales","typescript","web"],"created_at":"2024-07-31T17:01:38.990Z","updated_at":"2026-02-18T18:05:45.608Z","avatar_url":"https://github.com/twentyhq.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Enterprise Products","Enterprise CRM","置顶","Customer Relationship Management (CRM)","web","Projects using NestJS","good-first-issue","Repos","Web Frontend","CRM","🛠 Part I: The Open SaaS Stack","⚙️ Backend \u0026 APIs","E-Commerce \u0026 Business","Open source projects using Tiptap"],"sub_categories":["06、企业协作平台","Follow me","React \u0026 UI Libraries","Marketing \u0026 Sales"],"readme":"\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.twenty.com\"\u003e\n    \u003cimg src=\"./packages/twenty-website/public/images/core/logo.svg\" width=\"100px\" alt=\"Twenty logo\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\" \u003eThe #1 Open-Source CRM \u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://twenty.com\"\u003e🌐 Website\u003c/a\u003e · \u003ca href=\"https://twenty.com/developers\"\u003e📚 Documentation\u003c/a\u003e · \u003ca href=\"https://github.com/orgs/twentyhq/projects/1\"\u003e\u003cimg src=\"./packages/twenty-website/public/images/readme/planner-icon.svg\" width=\"12\" height=\"12\"/\u003e Roadmap \u003c/a\u003e · \u003ca href=\"https://discord.gg/cx5n4Jzs57\"\u003e\u003cimg src=\"./packages/twenty-website/public/images/readme/discord-icon.svg\" width=\"12\" height=\"12\"/\u003e Discord\u003c/a\u003e · \u003ca href=\"https://www.figma.com/file/xt8O9mFeLl46C5InWwoMrN/Twenty\"\u003e\u003cimg src=\"./packages/twenty-website/public/images/readme/figma-icon.png\"  width=\"12\" height=\"12\"/\u003e  Figma\u003c/a\u003e\u003c/p\u003e \n\u003cbr /\u003e\n\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.twenty.com\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/github-cover-dark.png\" /\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/github-cover-light.png\" /\u003e\n      \u003cimg src=\"./packages/twenty-website/public/images/readme/github-cover-light.png\" alt=\"Cover\" /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n# Installation \n\nSee:  \n🚀 [Self-hosting](https://twenty.com/developers/section/self-hosting)  \n🖥️ [Local Setup](https://twenty.com/developers/local-setup)  \n\n# Does the world need another CRM?\n\nWe built Twenty for three reasons:\n\n**CRMs are too expensive, and users are trapped.** Companies use locked-in customer data to hike prices. It shouldn't be that way.\n\n**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.\n\n**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.\n\n\u003cbr /\u003e\n\n# What You Can Do With Twenty\n\nPlease feel free to flag any specific needs you have by creating an issue.   \n\nBelow are a few features we have implemented to date:\n\n+ [Personalize layouts with filters, sort, group by, kanban and table views](#personalize-layouts-with-filters-sort-group-by-kanban-and-table-views)\n+ [Customize your objects and fields](#customize-your-objects-and-fields)\n+ [Create and manage permissions with custom roles](#create-and-manage-permissions-with-custom-roles)\n+ [Automate workflow with triggers and actions](#automate-workflow-with-triggers-and-actions)\n+ [Emails, calendar events, files, and more](#emails-calendar-events-files-and-more)\n\n\n## Personalize layouts with filters, sort, group by, kanban and table views\n\n\u003cp align=\"center\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/views-dark.png\" /\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/views-light.png\" /\u003e\n      \u003cimg src=\"./packages/twenty-website/public/images/readme/views-light.png\" alt=\"Companies Kanban Views\" /\u003e\n    \u003c/picture\u003e\n\u003c/p\u003e\n\n## Customize your objects and fields\n\n\u003cp align=\"center\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/data-model-dark.png\" /\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/data-model-light.png\" /\u003e\n      \u003cimg src=\"./packages/twenty-website/public/images/readme/data-model-light.png\" alt=\"Setting Custom Objects\" /\u003e\n    \u003c/picture\u003e\n\u003c/p\u003e\n\n## Create and manage permissions with custom roles\n\n\u003cp align=\"center\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/permissions-dark.png\" /\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/permissions-light.png\" /\u003e\n      \u003cimg src=\"./packages/twenty-website/public/images/readme/permissions-light.png\" alt=\"Permissions\" /\u003e\n    \u003c/picture\u003e\n\u003c/p\u003e\n\n## Automate workflow with triggers and actions\n\n\u003cp align=\"center\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/workflows-dark.png\" /\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/workflows-light.png\" /\u003e\n      \u003cimg src=\"./packages/twenty-website/public/images/readme/workflows-light.png\" alt=\"Workflows\" /\u003e\n    \u003c/picture\u003e\n\u003c/p\u003e\n\n## Emails, calendar events, files, and more\n\n\u003cp align=\"center\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/plus-other-features-dark.png\" /\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-website/public/images/readme/plus-other-features-light.png\" /\u003e\n      \u003cimg src=\"./packages/twenty-website/public/images/readme/plus-other-features-light.png\" alt=\"Other Features\" /\u003e\n    \u003c/picture\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n# Stack\n- [TypeScript](https://www.typescriptlang.org/)\n- [Nx](https://nx.dev/)\n- [NestJS](https://nestjs.com/), with [BullMQ](https://bullmq.io/), [PostgreSQL](https://www.postgresql.org/), [Redis](https://redis.io/)\n- [React](https://reactjs.org/), with [Recoil](https://recoiljs.org/), [Emotion](https://emotion.sh/) and [Lingui](https://lingui.dev/)\n\n\n\n# Thanks\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.chromatic.com/\"\u003e\u003cimg src=\"./packages/twenty-website/public/images/readme/chromatic.png\" height=\"30\" alt=\"Chromatic\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://greptile.com\"\u003e\u003cimg src=\"./packages/twenty-website/public/images/readme/greptile.png\" height=\"30\" alt=\"Greptile\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://sentry.io/\"\u003e\u003cimg src=\"./packages/twenty-website/public/images/readme/sentry.png\" height=\"30\" alt=\"Sentry\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://crowdin.com/\"\u003e\u003cimg src=\"./packages/twenty-website/public/images/readme/crowdin.png\" height=\"30\" alt=\"Crowdin\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n  Thanks to these amazing services that we use and recommend for UI testing (Chromatic), code review (Greptile), catching bugs (Sentry) and translating (Crowdin).\n\n\n# Join the Community\n\n- Star the repo\n- Subscribe to releases (watch -\u003e custom -\u003e releases)\n- Follow us on [Twitter](https://twitter.com/twentycrm) or [LinkedIn](https://www.linkedin.com/company/twenty/) \n- Join our [Discord](https://discord.gg/cx5n4Jzs57)\n- Improve translations on [Crowdin](https://twenty.crowdin.com/twenty) \n- [Contributions](https://github.com/twentyhq/twenty/contribute) are, of course, most welcome! \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwentyhq%2Ftwenty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwentyhq%2Ftwenty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwentyhq%2Ftwenty/lists"}