Skip to content

Allow git actions #57

@theepicsaxguy

Description

@theepicsaxguy

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions