Skip to content

vdutts7/gitty

Repository files navigation

gitty icon

gitty

git add, commit, force push- one command

any dir, any repo

GitHub npm


ToC

    About
    Install
    Commands
    Usage
    Partial commit
    Behavior
    Docs
    Demo
    Contact

About

Problem

  1. Agents touch many repos per session- mini tasks, README chores, tangents, ideas
  2. Need fast checkpoints before/after agent runs- rollback when something gets nuked
  3. cd + git add + commit + push per repo = friction
  4. One bad file (too large, submodule) blocks the whole checkpoint

Solution

  1. gitty: stage → commit → always git push -f
  2. Partial mode: hold back offenders; push everything else
  3. Any cwd- pass repo root or get prompted
  4. Logmoji: 🟡 in progress, 🟢 success, 🔴 failure
  5. Hook pass/fail dashboard when repo has .hooks/

Summary

One chain: git add -A → hold back blockers → git commitgit push -f. Agent-heavy multi-repo checkpointing. npm tarball = bin/ + README only.


Install

npm i -g @vd7/gitty

Commands

Bin Purpose
gitty add, partial holdback, commit, force push
gittylfs same + LFS track/install
gittyembedded recurse submodules, then parent
gittyhealth repo health report only

Details: docs/commands.md


Usage

gitty [commit_mssg] [root_dir]
Arg Description
commit_mssg Commit message- prompted if omitted; default ..
root_dir Absolute repo root- prompted if omitted; default $PWD
gitty "fix bug" /path/to/repo
gitty "checkpoint" $HOME/projects/other-repo
gitty "wip"          # root = $PWD
gitty                # prompts for both

Partial commit

When some paths cannot be pushed (oversized file, submodule pointer, remote rejection), gitty holds them back locally and commits/pushes the rest.

🟡 - Held back: assets/huge.bin (exceeds push size limit)
🟡 - 1 path(s) held back locally; proceeding with the rest
...
🟢 - Committed and force pushed (1 path(s) held back)
  • Default on (GITTY_PARTIAL=1)
  • Submodules → use gittyembedded
  • Large binaries → use gittylfs or fix paths manually

Full reference: docs/partial-commit.md


Behavior

Force push

Always git push -f. Checkpoint workflow- overwrites remote branch. Use when you own the remote.

Clean tree

Nothing to commit → still force-pushes pending commits. Remote up to date → says so explicitly.

Env

Variable Default Effect
GITTY_PARTIAL 1 0 disables holdback
GITTY_MAX_FILE_BYTES 100 MiB Pre-commit size gate
README_CACHE_BUST - 1 bumps README img ?v=

More: docs/environment.md · Hooks: docs/hooks.md


Docs

Doc Topic
docs/README.md Index
docs/partial-commit.md Holdback logic
docs/commands.md All bins
docs/environment.md Env vars
docs/hooks.md Repo hooks

Demo

touch "$HOME/projects/example-repo/test.txt"
gitty "added test" "$HOME/projects/example-repo"
🟡 - Staging changes in /Users/you/projects/example-repo...
🟡 - Committing changes...
[main abc1234] added test
🟡 - Force pushing to remote...
🟢 - Successfully committed and force pushed from /Users/you/projects/example-repo

Contact

vd7.io   /vdutts7

About

git add, commit, and push in one command from any dir, for any repo

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors