OpenCommit CLI #5
Labels
No labels
Goal: Ops
Goal: Platform
Goal: Scale
Goal: User
Size
L
Size
M
Size
S
Type: Action
Type: Auto
Type: Infra
Type: Sec
Type: Tool
Who
Internal
Who
Public
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
opencommit/roadmap#5
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
1. What
The development of OpenCommit CLI, a command-line interface designed to provide a seamless transition for developers migrating from GitHub to our instance. The tool will replicate the core user experience and command structure of the
gh(GitHub CLI), allowing users to perform essential repository operations (e.g., viewing issues, managing PRs, checking status) through a familiar syntax.The technical approach involves utilizing the open source GitHub CLI (
gh) as a functional foundation. Forking or refactoring its core architecture and re-implementing the API communication layer using theforgejo-sdkto interact with our OpenCommit API/Forgejo instance.2. Why
The primary barrier to migrating from GitHub to an independent Forgejo-based instance is often "workflow friction". The loss of familiar tooling and command-line automation. By providing a CLI that mirrors the
ghexperience, we significantly lower the cognitive load and operational cost for developers moving their projects to our platform. This tool hopefully transforms the migration from a disruptive change into a simple reconfiguration of an existing, trusted workflow.3. Boundaries
oc auth login) viaforgejo-sdk.ghcommands (likegh issue list,gh pr create,gh repo view) to their equivalent Forgejo/OpenCommit API endpoints.ghwithoc.4. Definition of Done
forgejo-sdkto ensure native compatibility with our infrastructure.gh issue list, now useoc issue list).CLIto OpenCommit CLICheck out also forgejo-cli, actively developed at https://codeberg.org/forgejo-contrib/forgejo-cli/. Maybe you don't even need to reinvent the wheel, but of course, you can, if you want to!
@mahlzahn wrote in #5 (comment):
Hi @mahlzahn ! Thanks for the feedback. I do believe we looked at this one, together with a couple of other possible alternatives but decided against using these for various reasons. Including wanting room to use the CLI as a dog fooding vehicle for our platform, testing of mvdkleijn/forgejo-sdk and being able to customize the CLI to our platform if needed in some points.