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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
opencommit/roadmap#5
Loading…
Add table
Add a link
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 CLI