-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
To extend the current git functionality introducing git commands like git pull, commit etc would be a good idea.
Happy to implement this if needed.
Feature: Native git actions in UI (reuse existing settings + git menu; VS Code–like UX)
Problem
- Users must ask the agent to run git commands (token waste, no native UI).
- Existing git settings (identity/credentials) and git menu aren’t leveraged for pull/commit/push workflows.
- UX is less intuitive than VS Code’s source control panel.
Scope (v1)
- Reuse existing git credentials and identity from Settings (Git tab) for all git operations—no re-entry.
- Extend the existing git menu to a VS Code–style panel:
- Status view: current branch, upstream, dirty files (staged/unstaged/untracked).
- Actions: fetch, pull, checkout/switch branch, create branch, stage/unstage files, commit (with message), push (handle “set upstream”).
- View log (last N commits) and basic diff view per file in “View Changes”.
- Surface outputs/errors inline (auth/remote errors, diverged branches).
- Prevent destructive ops in v1 (no force-push, rebase, reset).
Non-goals (v1)
- Rebase, cherry-pick, merge conflict resolution UI, force-push, stash.
Acceptance criteria
- Uses the configured Git Identity and Git Credentials from Settings automatically.
- From the existing git menu, I can:
- See branch, status, and recent commits.
- Fetch/pull current branch.
- Create/switch branches.
- Stage specific files, commit with a message, and push (with upstream setup when needed).
- Errors are shown clearly in the UI (e.g., auth failure, non-fast-forward).
- No additional token spend via agent for these actions.
Design notes (align with VS Code)
- Single source of truth: credentials/identity from Settings (no duplicate prompts).
- Status-first view with per-file stage/unstage toggles.
- Commit box with ability to generate commit message.
- Push button shows upstream state; offers “Publish branch” when missing.
- Create PR functionality
- “View Changes” links to a lightweight diff panel; “Add Branch” matches the current dropdown flow but with clearer affordances.
chriswritescode-dev
Metadata
Metadata
Assignees
Labels
No labels