SkillAgentSearch skills...

Commitdog

zero-bs git helper: smart conventional commit suggestions from staged changes, quick revert of recent commits, GitHub repo init + first push. No AI, no tracking, pure Go single binary.Pick the first one if you want it ultra-short and matching the existing vibe.

Install / Use

/learn @aysdog/Commitdog
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center">

commitdog

license go platform telemetry part of

git workflow CLI. zero dependencies. single binary.

commit messages, branch management, sync, log, PR, release — all from one tool. pure Go stdlib. no AI. no telemetry.


star history

Star History Chart

</div>

install

Linux / macOS

curl -fsSL https://aysdog.com/install-commitdog.sh | sh

macOS (Homebrew)

brew tap aysdog/commitdog && brew install commitdog

Arch Linux (AUR)

yay -S commitdog-bin

Windows (PowerShell)

irm https://aysdog.com/install-commitdog.ps1 | iex

Windows (winget)

winget install aysdog.commitdog

setup

run once to save your GitHub email and a classic PAT:

commitdog setup

stored at ~/.config/commitdog/config.toml with 0600 permissions. never leaves your machine except when calling the GitHub API.

you need a classic Personal Access Token with repo, write:org, and read:user scopes. get one at github.com/settings/tokens.


commands

| command | what it does | |---------|-------------| | commitdog | stage all, suggest 4 commit messages, pick, commit, push | | commitdog <file> | stage a specific file only | | commitdog log | interactive git log with colored branch graph | | commitdog pr | create PR on feature branch · list/review/merge PRs on main | | commitdog release | bump version, build 5 binaries, changelog, tag, push, GitHub release + checksums | | commitdog release --changelog-only | preview grouped changelog since last tag | | commitdog release --init-ci | generate .github/workflows/release.yml | | commitdog status | project dashboard — commits, PRs, branches, version, issues | | commitdog branch | interactive branch menu | | commitdog switch | jump to branch switcher | | commitdog branch create | create new branch with optional base | | commitdog branch delete | delete branch locally + optionally remote | | commitdog merge | merge a branch into current with diff preview | | commitdog sync | fetch + pull rebase + push — auto-recovers on errors | | commitdog stash | save, pop, or drop stashes interactively | | commitdog revert | pick from last 5 commits and revert | | commitdog init | create GitHub repo, git init, first commit, first push | | commitdog setup | save GitHub email and PAT | | commitdog --update | update to latest release | | commitdog --version | print version |


commit

commitdog
  nothing staged. staging all changes...

  suggestions:
  1  feat(auth): add refreshToken and verifyToken
  2  feat: implement refreshToken in auth
  3  feat: update auth module
  4  feat(auth): add refreshToken, add verifyToken — update middleware

  [1/2/3/4] pick, [e] edit, [q] quit › 1

  ✓ committed: feat(auth): add refreshToken and verifyToken
  ✓ pushed to origin/main

suggestions come from your actual diff — function names, file types, scope inference. no AI, no network call. pick e to open $EDITOR with the suggestion pre-filled.


secret detection

before showing suggestions, commitdog silently scans your staged diff. if it finds a secret, it blocks and shows exactly where:

  ✗ possible secret detected in staged changes:

  · AWS access key  in config.go
    var awsKey = "AKIAIOSFODNN7EXAMPLE"

  commit anyway? this will push secrets to your remote. [y/N] ›

catches AWS keys, GitHub tokens, private keys, Stripe keys, Slack tokens, generic passwords and API keys. skips _test files automatically.


sync with auto-recovery

commitdog sync

if push fails with HTTPS auth:

  push failed: GitHub no longer supports HTTPS password auth.
  switch remote to SSH? (git@github.com:you/repo.git) [Y/n] › Y
  ✓ remote switched to SSH
  retrying push...
  ✓ pushed to origin/main

other auto-recoveries: non-fast-forward, stale remote tag, missing upstream, protected branch.


release with atomic rollback

commitdog release
  detected: Go  ·  current version: v0.2.4

  1  patch  →  v0.2.5
  2  minor  →  v0.3.0
  3  major  →  v1.0.0
  4  custom

  [1/2/3/4/q] pick › 1

  changelog preview:
  ### Bug Fixes
  - fix(changelog): native SHA256, clean release body

  release v0.2.4 → v0.2.5? [y/n] › y

  bumping version in main.go...              ✓
  building linux/amd64...                    ✓
  building linux/arm64...                    ✓
  building darwin/amd64...                   ✓
  building darwin/arm64...                   ✓
  building windows/amd64...                  ✓
  committing...                              ✓
  tagging v0.2.5...                          ✓
  pushing...                                 ✓
  creating GitHub release...                 ✓
  uploading commitdog-linux-amd64...         ✓
  uploading commitdog-linux-arm64...         ✓
  uploading commitdog-darwin-amd64...        ✓
  uploading commitdog-darwin-arm64...        ✓
  uploading commitdog-windows-amd64.exe...   ✓
  uploading checksums.txt...                 ✓

  ✓ v0.2.5 released
  https://github.com/aysdog/commitdog/releases/tag/v0.2.5

every step registers an undo. if anything fails — network cut, GitHub API down, build error — commitdog rolls back every completed step in reverse. your repo is always left clean.

version drift detection — if your version file says v0.2.3 but the latest git tag is v0.2.5, commitdog warns before touching anything.


pull requests

commitdog pr

on a feature branch — interactive diff viewer → create PR. on main — list all open PRs, pick one to review, merge (merge / squash / rebase), or close. deletes the remote branch after merge.


git log

commitdog log

commitdog log

each branch gets its own RGB color. j/k to scroll, a to show all commits, q to quit.


new project

commitdog init

creates a GitHub repo via API, runs git init, makes the first commit, sets the remote, and pushes — no browser needed.


version history

| version | what shipped | |---------|-------------| | v0.2.5 | native Go SHA256 · clean release body · packagemanagers.go separated | | v0.2.4 | secret detection · atomic release rollback · detectAndRecover · version drift check · changelog.go | | v0.2.3 | initial rollback chain · sync hardened | | v0.2.2 | commitdog status · log graph · auto-changelog · SHA256 checksums · Homebrew + AUR automation | | v0.2.1 | Homebrew · AUR · winget · smart version init | | v0.2.0 | commitdog pr · commitdog release | | v0.1.9 | HTTPS→SSH auto-fix · merge commit revert | | v0.1.8 | commitdog log with branch graph | | v0.1.4 | branch / switch / merge / sync / stash / revert |


uninstall

# Linux / macOS
rm $(which commitdog) && rm -rf ~/.config/commitdog

# Windows (PowerShell)
Remove-Item "$env:USERPROFILE\AppData\Local\commitdog.exe"
Remove-Item -Recurse "$env:APPDATA\commitdog"

contributing

open an issue first. if it fits — zero telemetry, pure stdlib, no external deps — we'll merge it.

rule #1: don't add telemetry. not "anonymous" telemetry. not a single ping.

MIT license.

Related Skills

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated12d ago
Forks0

Languages

Go

Security Score

90/100

Audited on Mar 20, 2026

No findings