Skip to content

Arena

Code Hosting arenaCode Hosting

Git hosting and collaboration platforms, judged on repo management, CI/CD, project planning, self-hosting options, and how well they support agentic and automated contribution workflows.

72 user stories · 288 judged cells · updated 2026-09-16 · Evidence as of 2026-09-16

Buyer checklist →Procurement report →

Leaderboard — every product ranked by evidenceLeaderboard

Rank by
1GitLab logoGitLab
free-tier
vs GitHub
54/100
2GitHub logoGitHub
free-tier
vs GitLab
71/100
3Gitea logoGitea
hosted-paid
vs GitLab
34/100
4Bitbucket logoBitbucket
free-tier
vs GitLab
19/100

Best by user type — persona-weighted winnersBest by user type

Per persona, the product with the highest persona-weighted coverage over just that persona's stories — not the same ranking as the overall PA Score leaderboard above.

Best for developer

GitHub logo

GitHub

44/100

Runner-up: GitLab logo GitLab (36/100)

21 developer stories scored

Best for devops-lead

Bitbucket logo

Bitbucket

44/100

Runner-up: GitLab logo GitLab (35/100)

18 devops-lead stories scored

Best for open-source-maintainer

Gitea logo

Gitea

80/100

Runner-up: GitHub logo GitHub (0/100)

1 open-source-maintainer story scored

Best for ai-native

GitLab logo

GitLab

48/100

Runner-up: GitHub logo GitHub (46/100)

32 ai-native stories scored

Story matrix — every product × every judged storyStory matrix

72/72 stories shown · legend

Agenticness — how well agents can access and operate the productAgenticness

Agent access

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Agenticness — how well agents can access and operate the productPoint an agent at llms.txt or agent-oriented docsai-native
fullT
8/10
fullT
9/10
none
0/10
none
0/10
Agenticness — how well agents can access and operate the productRun the product headlessly / in CI for automationai-native
fullT
8/10
fullC
8/10
fullC
7/10
fullT
8/10
Agenticness — how well agents can access and operate the productPlug MCP servers into this product so it can use their toolsai-native
fullC
8/10
none
0/10
none
0/10
none
0/10
Agenticness — how well agents can access and operate the productConnect an agent via an official MCP serverai-native
fullT
9/10
fullT
8/10
fullT
7/10
fullT
7/10
Agenticness — how well agents can access and operate the productUse an official CLIai-native
fullT
9/10
fullT
8/10
partialC
4/10
partialT
5/10
Agenticness — how well agents can access and operate the productDrive the product through a documented public APIai-native
fullT
9/10
fullC
9/10
none
0/10
partialT
6/10
Agenticness — how well agents can access and operate the productIssue scoped/least-privilege API credentials for an agentai-native
fullC
7/10
partialC
6/10
none
0/10
partialC
3/10
Agenticness — how well agents can access and operate the productBuild against official SDKsai-native
partialT
5/10
partialC
4/10
none
0/10
none
0/10
Agenticness — how well agents can access and operate the productSubscribe to events via webhooksai-native
none
0/10
none
0/10
none
0/10
fullC
7/10

Agentic features

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Agenticness — how well agents can access and operate the productGet AI-generated insights and suggestions from my data inside the productai-native
fullX
8/10
fullC
8/10
partialC
6/10
none
0/10
Agenticness — how well agents can access and operate the productSet up automations that run autonomously in the backgroundai-native
fullC
8/10
fullC
8/10
partialC
5/10
fullC
7/10
Agenticness — how well agents can access and operate the productDelegate tasks to a built-in AI assistant inside the productai-native
fullC
8/10
fullC
9/10
partialC
6/10
none
0/10
Agenticness — how well agents can access and operate the productOperate the product with natural-language commandsai-native
fullC
8/10
fullC
7/10
none
0/10
none
0/10

Api quality

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Agenticness — how well agents can access and operate the productExplore an interactive API reference with runnable examplesai-native
none
0/10
fullC
8/10
none
0/10
none
0/10
Agenticness — how well agents can access and operate the productDownload a machine-readable API spec (OpenAPI or equivalent)ai-native
none
0/10
fullC
9/10
none
0/10
none
0/10
Agenticness — how well agents can access and operate the productTest against a sandbox environment without touching production dataai-native
partialC
3/10
none
0/10
none
0/10
n/a
Agenticness — how well agents can access and operate the productRely on versioned APIs with a documented deprecation policyai-native
none
0/10
fullC
8/10
none
0/10
none
0/10

Automation depth — how much of the product can run unattendedAutomation depth

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Automation depth — how much of the product can run unattendedPerform bulk operations across many items at onceai-native
partialT
5/10
partialC
5/10
none
0/10
partialT
4/10
Automation depth — how much of the product can run unattendedDefine rules that trigger actions automatically on eventsai-native
fullC
7/10
partialC
7/10
partialC
6/10
fullC
7/10
Automation depth — how much of the product can run unattendedSchedule recurring jobs or workflowsai-native
none
0/10
none
0/10
none
0/10
partialC
4/10
Automation depth — how much of the product can run unattendedVersion, review, and roll back my automationsai-native
partialC
5/10
partialC
5/10
partialC
4/10
fullC
7/10

Ci cd — continuous integration and delivery — pipelines, runners, cachingCi cd

Deployment

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Ci cd — continuous integration and delivery — pipelines, runners, cachingAutomate application deployments as part of my CI/CD pipelinedeveloper
fullC
7/10
fullC
9/10
fullC
7/10
partialX
7/10
Ci cd — continuous integration and delivery — pipelines, runners, cachingMap incidents to deployments and require change approval before releasesdevops-lead
none
0/10
none
0/10
fullC
8/10
none
0/10

Dev environments

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Ci cd — continuous integration and delivery — pipelines, runners, cachingLaunch a ready-to-code cloud-based development environment in secondsdeveloper
partialC
5/10
none
0/10
none
0/10
n/a

Pipeline authoring

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Ci cd — continuous integration and delivery — pipelines, runners, cachingReuse community-built CI/CD actions or plugins in my pipelinesdeveloper
fullC
8/10
partialC
5/10
none
0/10
fullC
8/10
Ci cd — continuous integration and delivery — pipelines, runners, cachingDefine CI/CD pipelines as code using a YAML syntaxdeveloper
fullX
8/10
partialC
3/10
partialC
6/10
fullX
8/10

Runners

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Ci cd — continuous integration and delivery — pipelines, runners, cachingRun CI/CD jobs on runners hosted by the platform without managing infrastructuredevops-lead
partialX
6/10
partialX
3/10
fullC
8/10
none
0/10
Ci cd — continuous integration and delivery — pipelines, runners, cachingGet centralized visibility into CI/CD workflow runs across the organizationdevops-lead
partialC
3/10
partialC
5/10
partialC
6/10
partialX
4/10
Ci cd — continuous integration and delivery — pipelines, runners, cachingRun CI/CD jobs on my own self-hosted or private runnersdevops-lead
none
0/10
none
0/10
fullC
7/10
partialX
6/10

Ecosystem integrations — the surrounding ecosystem — integrations, marketplaces, community packagesEcosystem integrations

Chat notifications

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Ecosystem integrations — the surrounding ecosystem — integrations, marketplaces, community packagesSync repository notifications and activity with chat toolsdeveloper
partialC
5/10
none
0/10
none
0/10
partialC
6/10

External ci cd integration

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Ecosystem integrations — the surrounding ecosystem — integrations, marketplaces, community packagesConnect the platform to external CI/CD tools instead of using its native pipelinesdevops-lead
fullC
7/10
none
0/10
fullC
8/10
fullX
7/10

Marketplace extensions

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Ecosystem integrations — the surrounding ecosystem — integrations, marketplaces, community packagesExtend my stack with third-party apps, actions, and AI models from a marketplacedeveloper
fullC
9/10
fullC
8/10
partialC
5/10
partialT
4/10

Security tool integrations

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Ecosystem integrations — the surrounding ecosystem — integrations, marketplaces, community packagesInstall third-party security scanning integrations directly from a security tabdevops-lead
partialC
3/10
none
0/10
fullC
8/10
none
0/10

Governance — stories about governance in this arenaGovernance

Licensing cost management

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Governance — stories about governance in this arenaMake a single annual commitment and flexibly allocate spend across seat-based and usage-based licensingdevops-lead
none
0/10
partialC
6/10
none
0/10
n/a

Onboarding

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Governance — stories about governance in this arenaAccess built-in resources to learn the Git version control systemdeveloper
none
0/10
fullC
8/10
none
0/10
none
0/10

Policy enforcement

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Governance — stories about governance in this arenaRequire automated change approval workflows before code reaches productiondevops-lead
none
0/10
partialC
4/10
fullC
7/10
partialC
5/10
Governance — stories about governance in this arenaEnforce coding standards and CI/CD policies across all teams and repositoriesdevops-lead
partialC
6/10
fullC
8/10
partialX
6/10
partialX
6/10

Openness — open source, data portability, and self-hosting storiesOpenness

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Openness — open source, data portability, and self-hosting storiesDo everything through the API that I can do in the UIai-native
partialT
7/10
partialT
7/10
none
0/10
partialT
4/10
Openness — open source, data portability, and self-hosting storiesExport all of my data in open formats and leaveai-native
partialX
5/10
partialX
5/10
none
0/10
partialX
4/10
Openness — open source, data portability, and self-hosting storiesRead the product's source under an open licenseai-native
partialC
3/10
none
0/10
n/a
partialX
4/10
Openness — open source, data portability, and self-hosting storiesSelf-host the core productai-native
none
0/10
fullX
9/10
partialC
4/10
fullX
9/10

Privacy posture — data-handling and privacy storiesPrivacy posture

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Privacy posture — data-handling and privacy storiesChoose where my data is stored (region/residency)ai-native
none
0/10
partialC
3/10
none
0/10
fullX
7/10
Privacy posture — data-handling and privacy storiesPrevent my data from being used to train AI modelsai-native
none
0/10
none
0/10
none
0/10
partialC
4/10
Privacy posture — data-handling and privacy storiesControl data retention and deletionai-native
none
0/10
none
0/10
none
0/10
partialC
3/10
Privacy posture — data-handling and privacy storiesOpt out of telemetry and usage trackingai-native
none
0/10
none
0/10
none
0/10
none
0/10

Project planning — stories about project planning in this arenaProject planning

External pm sync

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Project planning — stories about project planning in this arenaManage external issue tracker items directly within the code hosting UIdeveloper
partialC
5/10
none
0/10
fullC
8/10
none
0/10
Project planning — stories about project planning in this arenaAutomatically update linked issue tracker statuses by referencing issue keys in my commitsdeveloper
partialC
3/10
none
0/10
fullC
7/10
none
0/10

Issue tracking

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Project planning — stories about project planning in this arenaTrack requirements, features, and bugs using issues with milestones, time tracking, and dependenciesdeveloper
partialC
3/10
none
0/10
partialC
4/10
fullC
8/10
Project planning — stories about project planning in this arenaManage projects and assign tasks from my mobile devicedeveloper
fullC
8/10
none
0/10
none
0/10
none
0/10
Project planning — stories about project planning in this arenaOrganize work from high-level roadmaps to everyday tasks using project boardsdeveloper
fullC
7/10
none
0/10
none
0/10
partialC
5/10

Repos collaboration — working on repos together — pull requests, reviews, permissionsRepos collaboration

Code review

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Repos collaboration — working on repos together — pull requests, reviews, permissionsHave an AI reviewer analyze code changes and suggest fixes during reviewai-native
fullC
9/10
fullC
8/10
partialC
6/10
none
0/10
Repos collaboration — working on repos together — pull requests, reviews, permissionsAssign the initial code review of a pull request to an AI reviewer for faster turnaroundai-native
fullC
9/10
partialC
6/10
partialC
5/10
none
0/10
Repos collaboration — working on repos together — pull requests, reviews, permissionsReview code changes online and respond to inline review commentsdeveloper
none
0/10
partialC
5/10
partialC
6/10
partialC
6/10
Repos collaboration — working on repos together — pull requests, reviews, permissionsReview large diffs and view third-party code quality reports directly in the review screendeveloper
none
0/10
partialC
5/10
fullC
8/10
partialC
3/10
Repos collaboration — working on repos together — pull requests, reviews, permissionsEnforce standardized, customizable merge checks before code can be mergeddevops-lead
none
0/10
partialC
5/10
fullC
8/10
partialC
4/10

Package registry

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Repos collaboration — working on repos together — pull requests, reviews, permissionsPublish and consume software packages in multiple package formats from the same platformopen-source-maintainer
none
0/10
none
0/10
none
0/10
fullC
8/10

Repo management

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Repos collaboration — working on repos together — pull requests, reviews, permissionsControl granular access permissions at the workspace, project, repository, and branch leveldevops-lead
partialC
4/10
partialC
3/10
fullX
8/10
partialC
5/10
Repos collaboration — working on repos together — pull requests, reviews, permissionsSearch across repositories to find code, files, and commitsdeveloper
disputedD
3/10
partialC
4/10
none
0/10
none
0/10
Repos collaboration — working on repos together — pull requests, reviews, permissionsCreate and manage Git repositories and browse their commit historydeveloper
fullC
7/10
fullX
9/10
fullX
6/10
fullX
9/10
Repos collaboration — working on repos together — pull requests, reviews, permissionsPropose, discuss, and merge code changes using a pull or merge request workflowdeveloper
fullC
6/10
fullX
7/10
fullC
7/10
fullC
8/10

Security — security posture and hardening storiesSecurity

Access security

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Security — security posture and hardening storiesRestrict repository access to specific IP address rangesdevops-lead
none
0/10
none
0/10
fullC
7/10
none
0/10
Security — security posture and hardening storiesGenerate and manage personal access tokens for authenticating to the platformdeveloper
fullC
7/10
fullC
8/10
none
0/10
none
0/10
Security — security posture and hardening storiesSet up SSH keys to authenticate and connect securely to the platformdeveloper
fullC
9/10
fullC
7/10
none
0/10
none
0/10
Security — security posture and hardening storiesSecure my account with two-factor authenticationdeveloper
none
0/10
none
0/10
fullC
7/10
none
0/10

Vulnerability scanning

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Security — security posture and hardening storiesHave AI automatically generate and apply fixes for detected security vulnerabilitiesai-native
fullC
8/10
partialC
6/10
partialC
4/10
none
0/10
Security — security posture and hardening storiesAutomatically receive pull requests that update vulnerable dependenciesdeveloper
partialC
5/10
partialC
5/10
none
0/10
none
0/10
Security — security posture and hardening storiesConsolidate static analysis, dependency, secret, and dynamic security scanning into one platformdevops-lead
partialC
6/10
fullC
9/10
partialC
4/10
none
0/10
Security — security posture and hardening storiesDetect and remediate leaked secrets across the organization's repositoriesdevops-lead
fullC
8/10
partialC
5/10
none
0/10
none
0/10

Self hosting — running it yourself — self-hosted servers, open-source clientsSelf hosting

Deployment options

StoryPersona
GitHub logoGitHub
GitLab logoGitLab
Bitbucket logoBitbucket
Gitea logoGitea
Self hosting — running it yourself — self-hosted servers, open-source clientsRun my self-hosted instance on my choice of operating system and architecture, including containersdevops-lead
none
0/10
partialC
7/10
none
0/10
fullX
9/10
Self hosting — running it yourself — self-hosted servers, open-source clientsScale my self-hosted installation using reference architectures supporting tens of thousands of usersdevops-lead
none
0/10
partialX
6/10
none
0/10
none
0/10
Self hosting — running it yourself — self-hosted servers, open-source clientsUse migration tooling to move my code and users from another platform or from self-hosted to clouddevops-lead
none
0/10
partialX
5/10
fullC
7/10
none
0/10
Self hosting — running it yourself — self-hosted servers, open-source clientsInstall a self-managed instance of the platform without laborious configurationdevops-lead
none
0/10
fullC
7/10
none
0/10
fullX
8/10
Verdict✓ fullclear evidence~ partialwith caveats! disputedevidence conflicts— noneno evidence foundn/aquestion doesn't apply to this kind of product
ProofT probedtested by usX communityusers back itC claimedvendor claim onlyD contradictedevidence disagrees⚿ auth-gatedprobe hit a live sign-in wall — verified reachable, untestable keylessly
quality 0–10 · PA Score /100 · A–D = evidence confidence · full guide

Adjacent arenas — categories often shopped togetherAdjacent arenas

Shopping this category often means shopping these too.