痛点分析发布于 2026/05/28
痛点为 AI 基于上游原始证据的初步提炼;未包含额外中国市场检索。
痛点
用户在使用传统CRM(如Salesforce)时,面临高昂的许可费用、复杂的定制流程和封闭的生态,导致中小企业难以负担或灵活适配自身业务。同时,现有CRM系统对AI集成支持不足,用户需要手动处理大量客户数据,无法高效利用智能分析来提升销售和营销效率。这种摩擦造成企业要么被迫接受功能冗余且成本高昂的解决方案,要么在数据管理和客户洞察上投入过多人力,影响决策速度和业务增长。
README
README summary
<p align="center" <a href="https://www.twenty.com" <img src="./packages/twenty website/public/images/core/logo.svg" width="100px" alt="Twenty logo" /
Repository
Repository metadata
- Owner
- twentyhq
- License
- NOASSERTION
- Default branch
- main
- Days since created
- 1,274
- Days since last push
- 0
Signals
Repository signals
- Homepage
- https://twenty.com
- Watchers
- 47,792
- Open issues
- 136
Topics
crmcrm-systemcustomergood-first-issuegraphqlhacktoberfestjavascriptmarketingmonoreponestjsopen-sourcepostgresqlreactreactjssalestypescriptweb
Contributors
Contributor snapshot
- Contributor count
- 10
- Top contributor share
- 0.199
- Top contributors
- charlesBochet, github-actions[bot], FelixMalfait, bosiraphael, Weiko
源数据· Raw Archive
- source
- GitHub Trending
- upstream_source
- github_trending
- upstream_item_id
- twentyhq--twenty
- daily_ranking_item_id
- a015b2e0-093a-44ee-bf36-027c175d3302
- rank_date
- 2026-05-29
- rank
- 5
- name
- twenty
- tagline
- The open alternative to Salesforce, designed for AI.
- description
- The open alternative to Salesforce, designed for AI.
- votes_count
- 47,792
- source_url
- https://github.com/twentyhq/twenty
- website_url
- https://twenty.com
- thumbnail_url
- https://github.com/twentyhq.png
- og_image_url
- https://github.com/twentyhq.png
topics
crmcrm-systemcustomergood-first-issuegraphqlhacktoberfestjavascriptmarketingmonoreponestjsopen-sourcepostgresqlreactreactjssalestypescriptweb
media / source-specific data
{
"topics": [
"crm",
"crm-system",
"customer",
"good-first-issue",
"graphql",
"hacktoberfest",
"javascript",
"marketing",
"monorepo",
"nestjs",
"open-source",
"postgresql",
"react",
"reactjs",
"sales",
"typescript",
"web"
],
"is_fork": false,
"license": "NOASSERTION",
"language": "TypeScript",
"owner_type": "Organization",
"forks_total": 6786,
"has_funding": false,
"is_archived": false,
"owner_login": "twentyhq",
"stars_today": 495,
"stars_total": 47792,
"homepage_url": "https://twenty.com",
"default_branch": "main",
"last_pushed_at": "2026-05-28T21:36:10Z",
"readme_summary": "<p align=\"center\" <a href=\"https://www.twenty.com\" <img src=\"./packages/twenty website/public/images/core/logo.svg\" width=\"100px\" alt=\"Twenty logo\" /",
"repo_full_name": "twentyhq/twenty",
"watchers_count": 47792,
"last_updated_at": "2026-05-28T21:55:42Z",
"top_contributors": [
{
"login": "charlesBochet",
"contributions": 1490
},
{
"login": "github-actions[bot]",
"contributions": 1339
},
{
"login": "FelixMalfait",
"contributions": 738
},
{
"login": "bosiraphael",
"contributions": 688
},
{
"login": "Weiko",
"contributions": 684
}
],
"contributor_count": 10,
"funding_platforms": [],
"open_issues_count": 136,
"days_since_created": 1274,
"created_at_on_source": "2022-12-01T13:04:40Z",
"days_since_last_push": 0,
"top_contributor_share": 0.199
}raw_payload
{
"fetched_at": "2026-05-28T22:00:37.578Z",
"trending_repo": {
"url": "https://github.com/twentyhq/twenty",
"name": "twenty",
"rank": 5,
"forks": 6786,
"owner": "twentyhq",
"stars": 47792,
"fullName": "twentyhq/twenty",
"language": "TypeScript",
"avatarUrl": "https://github.com/twentyhq.png",
"rawSummary": "<div class=\"float-right d-flex\">\n\n <div data-view-component=\"true\" class=\"BtnGroup d-flex\">\n <a href=\"/login?return_to=%2Ftwentyhq%2Ftwenty\" rel=\"nofollow\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":572984571,"auth_type":"LOG_IN","originating_url":"https://github.com/trending?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3e6ac7feb77fd2f635176f6d8db90afb2fb5ab848e45ed057e2d9d70f8997396\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-sw btn-sm btn\"> <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star v-align-text-bottom d-none d-md-inline-block mr-2 tmp-mr-2\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star mr-0 tmp-mr-0 v-align-text-bottom d-inline-block d-md-none\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n <span data-view-component=\"true\" class=\"d-none d-md-inline\">\n Star\n</span>\n</a></div>\n </div>\n\n <h2 class=\"h3 lh-condensed\">\n <a data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"REPOSITORY","click_visual_representation":"REPOSITORY_NAME_HEADING","actor_id":null,"record_id":572984571,"originating_url":"https://github.com/trending?since=daily","user_id":null}}\" data-hydro-click-hmac=\"c6f621fc9f329effb9fd9df09db2c59c2fa9ab23a276ebefb7eb61cda752c8f4\" href=\"/twentyhq/twenty\" data-view-component=\"true\" class=\"Link\"><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo mr-1 tmp-mr-1 color-fg-muted\">\n <path d=\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\"></path>\n</svg>\n\n <span data-view-component=\"true\" class=\"text-normal\">\n twentyhq /\n</span>\n twenty</a> </h2>\n\n <p class=\"col-9 color-fg-muted my-1 tmp-pr-4\">\n The open alternative to Salesforce, designed for AI.\n </p>\n\n <div class=\"f6 color-fg-muted mt-2\">\n <span class=\"tmp-mr-3 d-inline-block ml-0 tmp-ml-0\">\n <span class=\"repo-language-color\" style=\"background-color: #3178c6\"></span>\n <span itemprop=\"programmingLanguage\">TypeScript</span>\n</span>\n\n\n <a href=\"/twentyhq/twenty/stargazers\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"star\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 47,792</a>\n <a href=\"/twentyhq/twenty/forks\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"fork\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n 6,786</a>\n <span data-view-component=\"true\" class=\"tmp-mr-3 d-inline-block\">\n Built by\n\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending","user_id":241900277}}\" data-hydro-click-hmac=\"85796cab5f643e9060255b3ce54d61521046ef6f6b55a4fd39a7b8778ce05a9d\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/charlesBochet/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/charlesBochet\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/12035771?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@charlesBochet\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending","user_id":241900277}}\" data-hydro-click-hmac=\"85796cab5f643e9060255b3ce54d61521046ef6f6b55a4fd39a7b8778ce05a9d\" href=\"/apps/github-actions\"><img class=\"avatar mb-1\" src=\"https://avatars.githubusercontent.com/in/15368?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@github-actions\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending","user_id":241900277}}\" data-hydro-click-hmac=\"85796cab5f643e9060255b3ce54d61521046ef6f6b55a4fd39a7b8778ce05a9d\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/FelixMalfait/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/FelixMalfait\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/6399865?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@FelixMalfait\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending","user_id":241900277}}\" data-hydro-click-hmac=\"85796cab5f643e9060255b3ce54d61521046ef6f6b55a4fd39a7b8778ce05a9d\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/Weiko/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/Weiko\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/1834158?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@Weiko\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending","user_id":241900277}}\" data-hydro-click-hmac=\"85796cab5f643e9060255b3ce54d61521046ef6f6b55a4fd39a7b8778ce05a9d\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/lucasbordeau/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/lucasbordeau\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/26528466?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@lucasbordeau\" /></a>\n</span>\n <span data-view-component=\"true\" class=\"d-inline-block float-sm-right\">\n <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 495 stars today\n</span> </div>",
"starsToday": 495,
"description": "The open alternative to Salesforce, designed for AI."
},
"snapshot_version": "github_trending_v2"
}source_raw_snapshot
{
"id": "7e978560-c74e-409a-aef8-e1973674534b",
"daily_ranking_item_id": "a015b2e0-093a-44ee-bf36-027c175d3302",
"source": "github_trending",
"external_id": "twentyhq--twenty",
"fetched_at": "2026-05-28T22:00:37.578Z",
"trending_page_raw": {
"url": "https://github.com/twentyhq/twenty",
"name": "twenty",
"rank": 5,
"forks": 6786,
"owner": "twentyhq",
"stars": 47792,
"language": "TypeScript",
"full_name": "twentyhq/twenty",
"avatar_url": "https://github.com/twentyhq.png",
"description": "The open alternative to Salesforce, designed for AI.",
"raw_summary": "<div class=\"float-right d-flex\">\n\n <div data-view-component=\"true\" class=\"BtnGroup d-flex\">\n <a href=\"/login?return_to=%2Ftwentyhq%2Ftwenty\" rel=\"nofollow\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":572984571,"auth_type":"LOG_IN","originating_url":"https://github.com/trending?since=daily","user_id":null}}\" data-hydro-click-hmac=\"3e6ac7feb77fd2f635176f6d8db90afb2fb5ab848e45ed057e2d9d70f8997396\" aria-label=\"You must be signed in to star a repository\" data-view-component=\"true\" class=\"tooltipped tooltipped-sw btn-sm btn\"> <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star v-align-text-bottom d-none d-md-inline-block mr-2 tmp-mr-2\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star mr-0 tmp-mr-0 v-align-text-bottom d-inline-block d-md-none\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n <span data-view-component=\"true\" class=\"d-none d-md-inline\">\n Star\n</span>\n</a></div>\n </div>\n\n <h2 class=\"h3 lh-condensed\">\n <a data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"REPOSITORY","click_visual_representation":"REPOSITORY_NAME_HEADING","actor_id":null,"record_id":572984571,"originating_url":"https://github.com/trending?since=daily","user_id":null}}\" data-hydro-click-hmac=\"c6f621fc9f329effb9fd9df09db2c59c2fa9ab23a276ebefb7eb61cda752c8f4\" href=\"/twentyhq/twenty\" data-view-component=\"true\" class=\"Link\"><svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo mr-1 tmp-mr-1 color-fg-muted\">\n <path d=\"M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z\"></path>\n</svg>\n\n <span data-view-component=\"true\" class=\"text-normal\">\n twentyhq /\n</span>\n twenty</a> </h2>\n\n <p class=\"col-9 color-fg-muted my-1 tmp-pr-4\">\n The open alternative to Salesforce, designed for AI.\n </p>\n\n <div class=\"f6 color-fg-muted mt-2\">\n <span class=\"tmp-mr-3 d-inline-block ml-0 tmp-ml-0\">\n <span class=\"repo-language-color\" style=\"background-color: #3178c6\"></span>\n <span itemprop=\"programmingLanguage\">TypeScript</span>\n</span>\n\n\n <a href=\"/twentyhq/twenty/stargazers\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"star\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 47,792</a>\n <a href=\"/twentyhq/twenty/forks\" data-view-component=\"true\" class=\"tmp-mr-3 Link Link--muted d-inline-block\"><svg aria-label=\"fork\" role=\"img\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-repo-forked\">\n <path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path>\n</svg>\n 6,786</a>\n <span data-view-component=\"true\" class=\"tmp-mr-3 d-inline-block\">\n Built by\n\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending","user_id":241900277}}\" data-hydro-click-hmac=\"85796cab5f643e9060255b3ce54d61521046ef6f6b55a4fd39a7b8778ce05a9d\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/charlesBochet/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/charlesBochet\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/12035771?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@charlesBochet\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending","user_id":241900277}}\" data-hydro-click-hmac=\"85796cab5f643e9060255b3ce54d61521046ef6f6b55a4fd39a7b8778ce05a9d\" href=\"/apps/github-actions\"><img class=\"avatar mb-1\" src=\"https://avatars.githubusercontent.com/in/15368?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@github-actions\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending","user_id":241900277}}\" data-hydro-click-hmac=\"85796cab5f643e9060255b3ce54d61521046ef6f6b55a4fd39a7b8778ce05a9d\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/FelixMalfait/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/FelixMalfait\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/6399865?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@FelixMalfait\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending","user_id":241900277}}\" data-hydro-click-hmac=\"85796cab5f643e9060255b3ce54d61521046ef6f6b55a4fd39a7b8778ce05a9d\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/Weiko/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/Weiko\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/1834158?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@Weiko\" /></a>\n <a class=\"d-inline-block\" data-hydro-click=\"{"event_type":"explore.click","payload":{"click_context":"TRENDING_REPOSITORIES_PAGE","click_target":"CONTRIBUTING_DEVELOPER","click_visual_representation":"DEVELOPER_AVATAR","actor_id":null,"record_id":null,"originating_url":"https://github.com/trending","user_id":241900277}}\" data-hydro-click-hmac=\"85796cab5f643e9060255b3ce54d61521046ef6f6b55a4fd39a7b8778ce05a9d\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/lucasbordeau/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"/lucasbordeau\"><img class=\"avatar mb-1 avatar-user\" src=\"https://avatars.githubusercontent.com/u/26528466?s=40&v=4\" width=\"20\" height=\"20\" alt=\"@lucasbordeau\" /></a>\n</span>\n <span data-view-component=\"true\" class=\"d-inline-block float-sm-right\">\n <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-star\">\n <path d=\"M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z\"></path>\n</svg>\n 495 stars today\n</span> </div>",
"stars_today": 495
},
"repo_detail_raw": {
"id": 572984571,
"url": "https://api.github.com/repos/twentyhq/twenty",
"fork": false,
"name": "twenty",
"size": 1269343,
"forks": 6786,
"owner": {
"id": 119600397,
"url": "https://api.github.com/users/twentyhq",
"type": "Organization",
"login": "twentyhq",
"node_id": "O_kgDOByD1DQ",
"html_url": "https://github.com/twentyhq",
"gists_url": "https://api.github.com/users/twentyhq/gists{/gist_id}",
"repos_url": "https://api.github.com/users/twentyhq/repos",
"avatar_url": "https://avatars.githubusercontent.com/u/119600397?v=4",
"events_url": "https://api.github.com/users/twentyhq/events{/privacy}",
"site_admin": false,
"gravatar_id": "",
"starred_url": "https://api.github.com/users/twentyhq/starred{/owner}{/repo}",
"followers_url": "https://api.github.com/users/twentyhq/followers",
"following_url": "https://api.github.com/users/twentyhq/following{/other_user}",
"user_view_type": "public",
"organizations_url": "https://api.github.com/users/twentyhq/orgs",
"subscriptions_url": "https://api.github.com/users/twentyhq/subscriptions",
"received_events_url": "https://api.github.com/users/twentyhq/received_events"
},
"topics": [
"crm",
"crm-system",
"customer",
"good-first-issue",
"graphql",
"hacktoberfest",
"javascript",
"marketing",
"monorepo",
"nestjs",
"open-source",
"postgresql",
"react",
"reactjs",
"sales",
"typescript",
"web"
],
"git_url": "git://github.com/twentyhq/twenty.git",
"license": {
"key": "other",
"url": null,
"name": "Other",
"node_id": "MDc6TGljZW5zZTA=",
"spdx_id": "NOASSERTION"
},
"node_id": "R_kgDOIicM-w",
"private": false,
"ssh_url": "git@github.com:twentyhq/twenty.git",
"svn_url": "https://github.com/twentyhq/twenty",
"archived": false,
"disabled": false,
"has_wiki": false,
"homepage": "https://twenty.com",
"html_url": "https://github.com/twentyhq/twenty",
"keys_url": "https://api.github.com/repos/twentyhq/twenty/keys{/key_id}",
"language": "TypeScript",
"tags_url": "https://api.github.com/repos/twentyhq/twenty/tags",
"watchers": 47792,
"blobs_url": "https://api.github.com/repos/twentyhq/twenty/git/blobs{/sha}",
"clone_url": "https://github.com/twentyhq/twenty.git",
"forks_url": "https://api.github.com/repos/twentyhq/twenty/forks",
"full_name": "twentyhq/twenty",
"has_pages": false,
"hooks_url": "https://api.github.com/repos/twentyhq/twenty/hooks",
"pulls_url": "https://api.github.com/repos/twentyhq/twenty/pulls{/number}",
"pushed_at": "2026-05-28T21:36:10Z",
"teams_url": "https://api.github.com/repos/twentyhq/twenty/teams",
"trees_url": "https://api.github.com/repos/twentyhq/twenty/git/trees{/sha}",
"created_at": "2022-12-01T13:04:40Z",
"events_url": "https://api.github.com/repos/twentyhq/twenty/events",
"has_issues": true,
"issues_url": "https://api.github.com/repos/twentyhq/twenty/issues{/number}",
"labels_url": "https://api.github.com/repos/twentyhq/twenty/labels{/name}",
"merges_url": "https://api.github.com/repos/twentyhq/twenty/merges",
"mirror_url": null,
"updated_at": "2026-05-28T21:55:42Z",
"visibility": "public",
"archive_url": "https://api.github.com/repos/twentyhq/twenty/{archive_format}{/ref}",
"commits_url": "https://api.github.com/repos/twentyhq/twenty/commits{/sha}",
"compare_url": "https://api.github.com/repos/twentyhq/twenty/compare/{base}...{head}",
"description": "The open alternative to Salesforce, designed for AI.",
"forks_count": 6786,
"is_template": false,
"open_issues": 136,
"branches_url": "https://api.github.com/repos/twentyhq/twenty/branches{/branch}",
"comments_url": "https://api.github.com/repos/twentyhq/twenty/comments{/number}",
"contents_url": "https://api.github.com/repos/twentyhq/twenty/contents/{+path}",
"git_refs_url": "https://api.github.com/repos/twentyhq/twenty/git/refs{/sha}",
"git_tags_url": "https://api.github.com/repos/twentyhq/twenty/git/tags{/sha}",
"has_projects": true,
"organization": {
"id": 119600397,
"url": "https://api.github.com/users/twentyhq",
"type": "Organization",
"login": "twentyhq",
"node_id": "O_kgDOByD1DQ",
"html_url": "https://github.com/twentyhq",
"gists_url": "https://api.github.com/users/twentyhq/gists{/gist_id}",
"repos_url": "https://api.github.com/users/twentyhq/repos",
"avatar_url": "https://avatars.githubusercontent.com/u/119600397?v=4",
"events_url": "https://api.github.com/users/twentyhq/events{/privacy}",
"site_admin": false,
"gravatar_id": "",
"starred_url": "https://api.github.com/users/twentyhq/starred{/owner}{/repo}",
"followers_url": "https://api.github.com/users/twentyhq/followers",
"following_url": "https://api.github.com/users/twentyhq/following{/other_user}",
"user_view_type": "public",
"organizations_url": "https://api.github.com/users/twentyhq/orgs",
"subscriptions_url": "https://api.github.com/users/twentyhq/subscriptions",
"received_events_url": "https://api.github.com/users/twentyhq/received_events"
},
"releases_url": "https://api.github.com/repos/twentyhq/twenty/releases{/id}",
"statuses_url": "https://api.github.com/repos/twentyhq/twenty/statuses/{sha}",
"allow_forking": true,
"assignees_url": "https://api.github.com/repos/twentyhq/twenty/assignees{/user}",
"downloads_url": "https://api.github.com/repos/twentyhq/twenty/downloads",
"has_downloads": true,
"languages_url": "https://api.github.com/repos/twentyhq/twenty/languages",
"network_count": 6786,
"default_branch": "main",
"milestones_url": "https://api.github.com/repos/twentyhq/twenty/milestones{/number}",
"stargazers_url": "https://api.github.com/repos/twentyhq/twenty/stargazers",
"watchers_count": 47792,
"deployments_url": "https://api.github.com/repos/twentyhq/twenty/deployments",
"git_commits_url": "https://api.github.com/repos/twentyhq/twenty/git/commits{/sha}",
"has_discussions": true,
"subscribers_url": "https://api.github.com/repos/twentyhq/twenty/subscribers",
"contributors_url": "https://api.github.com/repos/twentyhq/twenty/contributors",
"issue_events_url": "https://api.github.com/repos/twentyhq/twenty/issues/events{/number}",
"stargazers_count": 47792,
"subscription_url": "https://api.github.com/repos/twentyhq/twenty/subscription",
"temp_clone_token": null,
"collaborators_url": "https://api.github.com/repos/twentyhq/twenty/collaborators{/collaborator}",
"custom_properties": {},
"has_pull_requests": true,
"issue_comment_url": "https://api.github.com/repos/twentyhq/twenty/issues/comments{/number}",
"notifications_url": "https://api.github.com/repos/twentyhq/twenty/notifications{?since,all,participating}",
"open_issues_count": 136,
"subscribers_count": 199,
"web_commit_signoff_required": false,
"pull_request_creation_policy": "all"
},
"readme_raw": {
"summary": "<p align=\"center\" <a href=\"https://www.twenty.com\" <img src=\"./packages/twenty website/public/images/core/logo.svg\" width=\"100px\" alt=\"Twenty logo\" /",
"raw_text": "<p align=\"center\">\n <a href=\"https://www.twenty.com\">\n <img src=\"./packages/twenty-website/public/images/core/logo.svg\" width=\"100px\" alt=\"Twenty logo\" />\n </a>\n</p>\n\n<h2 align=\"center\" >The #1 Open-Source CRM</h2>\n\n<p align=\"center\"><a href=\"https://twenty.com\"><img src=\"./packages/twenty-website/public/images/readme/globe-icon.svg\" width=\"12\" height=\"12\"/> Website</a> · <a href=\"https://docs.twenty.com\"><img src=\"./packages/twenty-website/public/images/readme/book-icon.svg\" width=\"12\" height=\"12\"/> Documentation</a> · <a href=\"https://github.com/orgs/twentyhq/projects/1\"><img src=\"./packages/twenty-website/public/images/readme/map-icon.svg\" width=\"12\" height=\"12\"/> Roadmap </a> · <a href=\"https://discord.gg/cx5n4Jzs57\"><img src=\"./packages/twenty-website/public/images/readme/discord-icon.svg\" width=\"12\" height=\"12\"/> Discord</a> · <a href=\"https://www.figma.com/file/xt8O9mFeLl46C5InWwoMrN/Twenty\"><img src=\"./packages/twenty-website/public/images/readme/figma-icon.webp\" width=\"12\" height=\"12\"/> Figma</a></p>\n\n<p align=\"center\">\n <a href=\"https://www.twenty.com\">\n <picture>\n <source media=\"(prefers-color-scheme: dark)\" srcset=\"./packages/twenty-website/public/images/readme/github-cover-dark.webp\" />\n <source media=\"(prefers-color-scheme: light)\" srcset=\"./packages/twenty-website/public/images/readme/github-cover-light.webp\" />\n <img src=\"./packages/twenty-website/public/images/readme/github-cover-light.webp\" alt=\"Twenty banner\" />\n </picture>\n </a>\n</p>\n\n<br />\n\n# Why Twenty\n\nTwenty gives technical teams the building blocks for a custom CRM that meets complex business needs and quickly adapts as the business evolves. Twenty is the CRM you build, ship, and version like the rest of your stack.\n\n<a href=\"https://twenty.com/resources/why-twenty\"><img src=\"./packages/twenty-website/public/images/readme/star-icon.svg\" width=\"14\" height=\"14\"/> Learn more about why we built Twenty</a>\n\n<br />\n\n# Installation\n\n### <img src=\"./packages/twenty-web",
"raw_text_truncated": true
},
"contributors_raw": {
"truncated": true,
"contributors": [
{
"type": "User",
"login": "charlesBochet",
"html_url": "https://github.com/charlesBochet",
"contributions": 1490
},
{
"type": "Bot",
"login": "github-actions[bot]",
"html_url": "https://github.com/apps/github-actions",
"contributions": 1339
},
{
"type": "User",
"login": "FelixMalfait",
"html_url": "https://github.com/FelixMalfait",
"contributions": 738
},
{
"type": "User",
"login": "bosiraphael",
"html_url": "https://github.com/bosiraphael",
"contributions": 688
},
{
"type": "User",
"login": "Weiko",
"html_url": "https://github.com/Weiko",
"contributions": 684
},
{
"type": "User",
"login": "martmull",
"html_url": "https://github.com/martmull",
"contributions": 599
},
{
"type": "User",
"login": "thomtrp",
"html_url": "https://github.com/thomtrp",
"contributions": 581
},
{
"type": "User",
"login": "prastoin",
"html_url": "https://github.com/prastoin",
"contributions": 495
},
{
"type": "User",
"login": "lucasbordeau",
"html_url": "https://github.com/lucasbordeau",
"contributions": 484
},
{
"type": "User",
"login": "ijreilly",
"html_url": "https://github.com/ijreilly",
"contributions": 393
}
]
},
"funding_raw": {
"path": null,
"exists": false,
"content": null
},
"stats_raw": {
"forks_total": 6786,
"stars_today": 495,
"stars_total": 47792,
"watchers_count": 47792,
"open_issues_count": 136
},
"aux_raw": {
"selected_fields": {
"topics": [
"crm",
"crm-system",
"customer",
"good-first-issue",
"graphql",
"hacktoberfest",
"javascript",
"marketing",
"monorepo",
"nestjs",
"open-source",
"postgresql",
"react",
"reactjs",
"sales",
"typescript",
"web"
],
"is_fork": false,
"license": "NOASSERTION",
"language": "TypeScript",
"owner_type": "Organization",
"forks_total": 6786,
"has_funding": false,
"is_archived": false,
"owner_login": "twentyhq",
"stars_today": 495,
"stars_total": 47792,
"homepage_url": "https://twenty.com",
"default_branch": "main",
"last_pushed_at": "2026-05-28T21:36:10Z",
"readme_summary": "<p align=\"center\" <a href=\"https://www.twenty.com\" <img src=\"./packages/twenty website/public/images/core/logo.svg\" width=\"100px\" alt=\"Twenty logo\" /",
"repo_full_name": "twentyhq/twenty",
"watchers_count": 47792,
"last_updated_at": "2026-05-28T21:55:42Z",
"top_contributors": [
{
"login": "charlesBochet",
"contributions": 1490
},
{
"login": "github-actions[bot]",
"contributions": 1339
},
{
"login": "FelixMalfait",
"contributions": 738
},
{
"login": "bosiraphael",
"contributions": 688
},
{
"login": "Weiko",
"contributions": 684
}
],
"contributor_count": 10,
"funding_platforms": [],
"open_issues_count": 136,
"days_since_created": 1274,
"created_at_on_source": "2022-12-01T13:04:40Z",
"days_since_last_push": 0,
"top_contributor_share": 0.199
}
},
"selection_meta": {
"readme_status": "ok",
"funding_status": "ok",
"missing_enrichment": [],
"repo_detail_status": "ok",
"contributors_status": "ok"
},
"created_at": "2026-05-28T22:00:39.908Z",
"updated_at": "2026-05-28T22:00:39.908Z"
}