Skip to content

Add Repo object layer, fastgit.skill pyskill, and non-interactive git - #10

Draft
ncoop57 wants to merge 2 commits into
mainfrom
repo-objects
Draft

Add Repo object layer, fastgit.skill pyskill, and non-interactive git#10
ncoop57 wants to merge 2 commits into
mainfrom
repo-objects

Conversation

@ncoop57

@ncoop57 ncoop57 commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds an object-oriented layer over the raw Git verbs, plus a pyskill documenting it for LLM agents.

  • Repo: commits, refs, status, diffs, merges, rebases, stashes, blame, and remotes as live Python objects with terminal-style reprs (--oneline log, branch -vv, status -sb, --stat)
  • Conflict is a status, not an error: every write op returns the resulting Status; conflicted entries expose .stages and :1:/:2:/:3: content for resolution
  • b - a spells git diff a b; blame/trace share func=/lines=/regex= range keywords
  • fastgit.skill registered as a pyskills entry point, including guidance that agents must never push (let alone force-push) without the user explicitly requesting that specific push
  • callgit now runs git non-interactively (GIT_EDITOR/GIT_SEQUENCE_EDITOR suppressed): with captured output an editor can never function, so commands that would open one (e.g. rebase --continue after conflict resolution) previously hung forever; tested via git var GIT_EDITOR

Notes

  • Docs in README/index regenerated from the notebooks.

@ncoop57
ncoop57 marked this pull request as draft July 26, 2026 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant