feat(tui): add Alt+N keybinding to create a new repo #353

Closed
opened 2026-07-08 08:24:59 +00:00 by fuzzy · 3 comments
Owner

What

Add an Alt+N keybinding that opens a "New Repository" form within the TUI.

Why

Users currently must leave steeper and use the web UI or the Forgejo CLI to create a new repository. An in-TUI flow keeps the user in context.

Scope

GlobalAlt+N must work from any view (dashboard, explore tab, repo detail, etc.), not scoped to a specific tab.

UX flow

  1. Press Alt+N from any view
  2. A modal/form opens with fields:
    • Owner — auto-filled to current user, dropdown for orgs the user belongs to
    • Name — repo name (required)
    • Description — optional
    • Visibility — public/private toggle
    • Auto-init — checkbox to create with README
    • Gitignores — optional template selector
    • License — optional template selector
  3. Tab/Shift+Tab navigates between fields
  4. Enter submits
  5. Escape cancels and closes the form

API

POST /api/v1/user/repos or POST /api/v1/orgs/{org}/repos

Payload:

{
  "name": "repo-name",
  "description": "...",
  "private": false,
  "auto_init": true,
  "gitignores": "Go",
  "license": "MIT"
}

States

  • Form open — editable fields
  • Submitting — spinner overlay, fields locked
  • Success — close form, navigate to new repo, flash "Repository created"
  • Error — inline error message per field (e.g. "Name already exists") or general API error

Future

  • Template repos support
  • Default branch name config
## What Add an `Alt+N` keybinding that opens a "New Repository" form within the TUI. ## Why Users currently must leave steeper and use the web UI or the Forgejo CLI to create a new repository. An in-TUI flow keeps the user in context. ## Scope **Global** — `Alt+N` must work from any view (dashboard, explore tab, repo detail, etc.), not scoped to a specific tab. ## UX flow 1. Press `Alt+N` from any view 2. A modal/form opens with fields: - **Owner** — auto-filled to current user, dropdown for orgs the user belongs to - **Name** — repo name (required) - **Description** — optional - **Visibility** — public/private toggle - **Auto-init** — checkbox to create with README - **Gitignores** — optional template selector - **License** — optional template selector 3. `Tab`/`Shift+Tab` navigates between fields 4. `Enter` submits 5. `Escape` cancels and closes the form ## API `POST /api/v1/user/repos` or `POST /api/v1/orgs/{org}/repos` Payload: ```json { "name": "repo-name", "description": "...", "private": false, "auto_init": true, "gitignores": "Go", "license": "MIT" } ``` ## States - **Form open** — editable fields - **Submitting** — spinner overlay, fields locked - **Success** — close form, navigate to new repo, flash "Repository created" - **Error** — inline error message per field (e.g. "Name already exists") or general API error ## Future - Template repos support - Default branch name config
fuzzy self-assigned this 2026-07-08 08:24:59 +00:00
fuzzy added this to the (deleted) project 2026-07-08 08:24:59 +00:00
fuzzy changed title from Alt+N for new repo write action to feat(tui): add Alt+N keybinding to create a new repo 2026-07-08 08:25:17 +00:00
Owner

Update: Alt+Shift+N should follow the same form flow but create an organization instead of a repo.

  • Alt+N → New repo dialog → POST /api/v1/user/repos
  • Alt+Shift+N → New org dialog → POST /api/v1/orgs

Fields for org creation would be simpler: name (required), full name, description, location, website. Same modal pattern, different API endpoint.

**Update:** `Alt+Shift+N` should follow the same form flow but create an **organization** instead of a repo. - `Alt+N` → New repo dialog → `POST /api/v1/user/repos` - `Alt+Shift+N` → New org dialog → `POST /api/v1/orgs` Fields for org creation would be simpler: name (required), full name, description, location, website. Same modal pattern, different API endpoint.
Author
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
Author
Owner

let's also center the "form" vertically as well as horizontally

let's also center the "form" vertically as well as horizontally
fuzzy closed this issue 2026-07-08 12:55:15 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 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#353
No description provided.