feat: add Origin (Cursor) as a git provider across the console - #3174
Draft
Meldiron wants to merge 7 commits into
Draft
feat: add Origin (Cursor) as a git provider across the console#3174Meldiron wants to merge 7 commits into
Meldiron wants to merge 7 commits into
Conversation
Brings in the console variables that report per-provider VCS capabilities (_APP_VCS_PROVIDERS_WITH_REPOSITORY_CREATION and _APP_VCS_PROVIDERS_WITH_PUBLIC_REPOSITORIES). No breaking changes against the previous ed09983 pin. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds Origin, Cursor's git hosting, alongside GitHub and Gitea: - IconOrigin.svelte with the Cursor cube mark, currentcolor like the other provider icons - connectOrigin() plus provider URL helpers in the git store, and a Connect to Origin button (second, after GitHub) in the shared connect empty state, gated on _APP_VCS_PROVIDERS containing 'origin' - Provider-aware settings page: Origin icon and cursor.com/codebase links for installations, per-row Configure follows the row's provider instead of always GitHub, unknown providers fall back to a git icon - Repository cards, git-deployment modals and the deployment source popover no longer assume GitHub for icons and repository links Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Builds on the Origin groundwork with a central provider registry in the git store (icons, labels, provider URLs, installation-settings URLs and enablement gates), the same shape the new console uses. Everything that assumed GitHub now reads from it: - Connect empty states (shared connectGit, settings, both template wizards) render one button per enabled provider - Settings' Add installation becomes a provider chooser when more than one provider is enabled, and each row's Configure follows the row's provider - The repository picker labels installations with their provider icon and offers per-provider 'Add installation' entries - 'Missing a repository?' permission links follow the installation's provider (GitHub installation settings vs Cursor's app settings) - Wizard asides and repository cards show the connected provider's icon - The create-repository modal explains that Origin apps cannot create repositories and points at cursor.com instead Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The button row in the git empty states spans the full footer width, so it needs its own centering like the MCP card below it. Also drops the now redundant _APP_VCS_PROVIDERS casts in the touched files. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…bility Console variables now report which VCS providers support repository creation (_APP_VCS_PROVIDERS_WITH_REPOSITORY_CREATION) and which can host public repositories (_APP_VCS_PROVIDERS_WITH_PUBLIC_REPOSITORIES). - The new-repository form only offers organizations whose provider can create repositories, and hides the public/private toggle (forcing private) when the provider cannot host public repositories. - The connect-repository modal and the function/site template wizards hide the "Create new repository" choice entirely when no installation supports creation, replacing the hardcoded Origin special case. - Servers that predate the new variables keep the historical behavior. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Console (appwrite/console)Project ID: Tip Function scopes give you fine-grained control over API permissions |
Contributor
Greptile SummaryThe PR adds Origin as a Git provider and centralizes provider metadata, authorization links, capability gating, and provider-aware presentation.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains. Important Files Changed
Reviews (3): Last reviewed commit: "fix(git): don't render provider links wh..." | Re-trigger Greptile |
…gistry The Git deployment modals picked their icon with a hardcoded `provider === 'origin' ? IconOrigin : IconGithub` ternary, which showed the GitHub icon for Gitea installations and coupled the routes to the icon component filenames. Use getVcsProvider().icon, the same registry the adjacent getProviderRepositoryUrl() call already goes through. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Gitea's host is per-deployment server configuration that the API does not expose, so its organizationUrl is ''. Building a repository URL on top of that produced the relative path "/repository-name", and the installation and organization links rendered href="" -- all of which resolve against the console's own origin and navigate away from the intended repository. getProviderRepositoryUrl now returns '' instead of a relative path, and the four consumers render the organization/repository as plain text when no browsable URL exists. The functions create page also gains the same installationSettingsUrl guard the sites page already had, since Gitea has no settings page and the link had no href. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Meldiron
marked this pull request as draft
August 20, 2026 08:05
Contributor
Author
|
Draft on purpose; Should not be merged until our Origin apps are public |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What does this PR do?
Adds Origin (Cursor) as a connectable git provider and makes the console honor the server's per-provider VCS capabilities.
@appwrite.io/consoleto56957ff, which adds the two newModels.ConsoleVariablesfields this feature reads:_APP_VCS_PROVIDERS_WITH_REPOSITORY_CREATIONand_APP_VCS_PROVIDERS_WITH_PUBLIC_REPOSITORIES. No breaking changes against the previoused09983pin, so it's a lockfile-only commit._APP_VCS_PROVIDERS(GitHub always, Gitea self-hosted only) instead of being hardcoded to GitHub._APP_VCS_PROVIDERS_WITH_REPOSITORY_CREATION, and hides the public/private toggle (forcing private) when the provider is not in_APP_VCS_PROVIDERS_WITH_PUBLIC_REPOSITORIES. The connect-repository modal and the function/site template wizards hide the "Create new repository" choice entirely when no installation supports creation, replacing the previous hardcoded Origin special case. Servers that predate the new variables keep the historical behavior.Reviewing commit-by-commit is easiest: the first commit is the SDK pin, the rest are the feature.
Test plan
bun run check— 0 errorsbun run lint— 0 errorsbun run test:unit— all passingbun run build— passesRelated PRs and issues
main🤖 Generated with Claude Code