feat(tui): add Alt+N keybinding to create a new repository #374

Merged
fuzzy merged 8 commits from feat/353-create-repo into main 2026-07-08 12:55:15 +00:00
Owner

Closes #353

Closes #353
feat(tui): add Alt+N keybinding to create a new repository
All checks were successful
Test and Release / test (pull_request) Successful in 3m25s
Test and Release / lint (pull_request) Successful in 4m32s
639244e920
Owner
  1. there is nothing in the bar at the bottom about the keybindings.
  2. It also seems that alt+n and alt+shift+n bring up the same dialog.
  3. it's not spelled READMEX
1) there is nothing in the bar at the bottom about the keybindings. 2) It also seems that alt+n and alt+shift+n bring up the same dialog. 3) it's not spelled READMEX
fix(repo-form): add keybindings, prevent Alt+Shift+N, center vertically
Some checks failed
Test and Release / lint (pull_request) Successful in 2m15s
Test and Release / test (pull_request) Has been cancelled
be4f9361b3
- Show keybar bindings (Enter: Submit, Esc: Cancel) in form
- Only trigger on Alt+N, not Alt+Shift+N
- Flexible top/bottom spacers center the form vertically
fix(repo-form): add Alt+N to defaultBindings, Alt+M handler, horizontal centering
All checks were successful
Test and Release / lint (pull_request) Successful in 2m40s
Test and Release / test (pull_request) Successful in 4m12s
7ba82b53a8
- Alt+N now shows in keybar on every screen via defaultBindings()
- Alt+M opens the same new repo form
- Each field wrapped in horizontal flex with proportional spacers
  for centered left-aligned content
fix(repo-form): remove Alt+M, don't block Alt+Shift+N
All checks were successful
Test and Release / lint (pull_request) Successful in 2m44s
Test and Release / test (pull_request) Successful in 8m21s
0a6af5c51f
Alt+M was prematurely wired — intended for new org (not built yet).
Alt+N remains the only keybinding for new repo form.
feat(tui): add Alt+Shift+N keybinding to create a new organization
Some checks failed
Test and Release / lint (pull_request) Has been cancelled
Test and Release / test (pull_request) Has been cancelled
5cb1bb8da2
- Add CreateOrg to forge Client interface + Forgejo/Gitea/cached/mock
- Add CreateOrgOpts model type
- OrgForm dialog with name, full name, description, location, website
- Alt+N = new repo, Alt+Shift+N = new org
fix(repo-form): use Alt+M for new org instead of Alt+Shift+N
Some checks failed
Test and Release / test (pull_request) Successful in 2m35s
Test and Release / lint (pull_request) Has been cancelled
f97544f372
fix(repo-form): pass Backspace through to form input fields
Some checks failed
Test and Release / lint (pull_request) Successful in 2m46s
Test and Release / test (pull_request) Has been cancelled
f05534c23d
fix(repo-form): add owner field for org repo creation
All checks were successful
Test and Release / test (pull_request) Successful in 2m49s
Test and Release / lint (pull_request) Successful in 2m55s
17057e3a35
- CreateRepo now accepts org parameter (empty = user repo, non-empty = org repo)
- Uses POST /api/v1/orgs/{org}/repos when org is specified
- RepoForm gains Owner input field, defaults to current user
fuzzy scheduled this pull request to auto merge when all checks succeed 2026-07-08 12:54:25 +00:00
the.auditor left a comment

Review

Result: Approved — no blocking issues. Closes #353.

Summary: Implements Alt+N (new repo) and Alt+M (new org) with full form overlays. Adds CreateRepo/CreateOrg to forge client interface with implementations for Forgejo and Gitea. Form fields: owner, name, description, private, auto-init for repos; name, full name, description, location, website for orgs. Async submission with loading state and error display.

Non-blocking:

  • #376 — Missing godocs on exported types/methods + fields not reset on Show()
  • Note: Issue #353 comment suggested Alt+Shift+N for orgs, implementation uses Alt+M

Checklist:

  • Correctness: API endpoints correct for both user and org repos, error handling reads response body, mutations not cached
  • Completeness: Both forms functional, repo form navigates to created repo on success
  • Error handling: Name validation (required), API errors shown in-form, async submission
  • Build: Passes clean
## Review **Result: Approved** — no blocking issues. Closes #353. **Summary:** Implements `Alt+N` (new repo) and `Alt+M` (new org) with full form overlays. Adds `CreateRepo`/`CreateOrg` to forge client interface with implementations for Forgejo and Gitea. Form fields: owner, name, description, private, auto-init for repos; name, full name, description, location, website for orgs. Async submission with loading state and error display. **Non-blocking:** - #376 — Missing godocs on exported types/methods + fields not reset on Show() - Note: Issue #353 comment suggested `Alt+Shift+N` for orgs, implementation uses `Alt+M` **Checklist:** - Correctness: ✅ API endpoints correct for both user and org repos, error handling reads response body, mutations not cached - Completeness: ✅ Both forms functional, repo form navigates to created repo on success - Error handling: ✅ Name validation (required), API errors shown in-form, async submission - Build: ✅ Passes clean
fuzzy merged commit 17057e3a35 into main 2026-07-08 12:55:15 +00:00
fuzzy deleted branch feat/353-create-repo 2026-07-08 12:55:16 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
thwap/steeper!374
No description provided.