{"id":46418955,"url":"https://github.com/alienzhou/agent-better-checkpoint","last_synced_at":"2026-03-05T15:01:35.773Z","repository":{"id":339763579,"uuid":"1163059037","full_name":"alienzhou/agent-better-checkpoint","owner":"alienzhou","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-21T12:41:05.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-21T17:54:29.194Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alienzhou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-21T03:13:10.000Z","updated_at":"2026-02-21T12:41:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alienzhou/agent-better-checkpoint","commit_stats":null,"previous_names":["alienzhou/agent-better-checkpoint"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/alienzhou/agent-better-checkpoint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fagent-better-checkpoint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fagent-better-checkpoint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fagent-better-checkpoint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fagent-better-checkpoint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alienzhou","download_url":"https://codeload.github.com/alienzhou/agent-better-checkpoint/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fagent-better-checkpoint/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30132585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T14:41:47.141Z","status":"ssl_error","status_checked_at":"2026-03-05T14:41:21.567Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-05T15:01:35.317Z","updated_at":"2026-03-05T15:01:35.766Z","avatar_url":"https://github.com/alienzhou.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agent Better Checkpoint (ABC)\n\n**One-line install, zero config.** Turns AI agent edits into transparent, queryable Git commits.\n\n```bash\nnpx @vibe-x/agent-better-checkpoint\n```\n\n![Agent Better Checkpoint](./assets/agent-better-checkpoint.png)\n\nThat's it. Your AI coding assistant (Cursor, Claude Code) will now auto-commit every meaningful edit with semantic messages and structured metadata — no more opaque checkpoints.\n\n---\n\n## The Problem\n\nAI coding assistants create \"checkpoints\" as you work, but these are black-box snapshots:\n- **Unreadable** — no meaningful commit messages\n- **Unnavigable** — can't browse or diff individual changes\n- **Unqueryable** — no way to filter, search, or trace back\n\n## The Solution\n\nAgent Better Checkpoint replaces them with real Git commits:\n\n```\ncheckpoint(api): add user registration endpoint\n\nImplement POST /api/users with email/password validation.\nIncludes bcrypt hashing and duplicate email check.\n\nAgent: cursor\nCheckpoint-Type: auto\nUser-Prompt: 帮我实现用户注册接口，需要邮...要密码加密\n```\n\nEach commit follows [Conventional Commits](https://www.conventionalcommits.org/) and carries structured metadata via [Git Trailers](https://git-scm.com/docs/git-interpret-trailers) — queryable with standard Git tools:\n\n```bash\ngit log --grep=\"^checkpoint(\"                          # all checkpoints\ngit log --format=\"%(trailers:key=Agent,valueonly)\"     # by agent\ngit log --grep=\"User-Prompt:.*registration\"            # by prompt keyword\n```\n\n### Works with Your Favorite Git Tools\n\nSince every checkpoint is a standard Git commit, the entire Git ecosystem is at your disposal — what was once a hidden, platform-specific checkpoint becomes a first-class citizen you can browse, search, diff, and rebase.\n\n| Tool | Type | What You Get |\n|------|------|-------------|\n| [GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) | VS Code / Cursor Extension | Inline blame, file history, visual commit graph, interactive rebase — see *who* (you or the AI) changed *what* and *when*, right in the editor |\n| [lazygit](https://github.com/jesseduffield/lazygit) | Terminal UI | Fast keyboard-driven staging, diff browsing, cherry-pick, and rebase across checkpoint commits |\n| [tig](https://github.com/jonas/tig) | Terminal UI | Lightweight ncurses Git log viewer, great for quickly scanning checkpoint history |\n| [GitHub / GitLab Web UI](https://github.com) | Web | Browse, compare, and share checkpoint history online after pushing |\n\nFor example, with **GitLens in Cursor** you can hover any line to see which checkpoint introduced it and the original user prompt, view all checkpoints for a file in a timeline, or search commits by `checkpoint(` prefix and `User-Prompt` trailer content.\n\n---\n\n## How It Works\n\nThree components, fully automatic after install:\n\n| Component | What it does |\n|-----------|-------------|\n| **SKILL.md** | Instructs the AI to commit after each meaningful edit, with proper format |\n| **Commit Script** | Appends Git Trailers (agent, type, user prompt) and runs `git commit` |\n| **Stop Hook** | Safety net — reminds the AI to commit if anything is left uncommitted |\n\n```\nUser gives task → AI edits code → AI calls checkpoint script → Git commit with trailers\n                                                              ↗\n                              Conversation ends → Stop hook checks for uncommitted changes\n```\n\n---\n\n## Installation\n\n### Prerequisites\n\n- Git ≥ 2.0\n- Node.js ≥ 18 (only needed for installation)\n- [Cursor](https://cursor.com) or [Claude Code](https://docs.anthropic.com/en/docs/claude-code)\n\n### Quick Install\n\n```bash\nnpx @vibe-x/agent-better-checkpoint\n```\n\nAuto-detects your OS and AI platform. Or specify explicitly:\n\n```bash\nnpx @vibe-x/agent-better-checkpoint --platform cursor\nnpx @vibe-x/agent-better-checkpoint --platform claude\n```\n\n### Project-only Install\n\nInstall only into your project (no global changes). Uses Cursor's project-level [skills](https://cursor.com/docs/context/skills) and [hooks](https://cursor.com/docs/agent/hooks):\n\n```bash\ncd /path/to/your/project\nnpx @vibe-x/agent-better-checkpoint --platform cursor --target .\n```\n\nCreates: `.cursor/skills/`, `.cursor/hooks.json`, `.vibe-x/agent-better-checkpoint/`. Commit these with your repo.\n\nUninstall project-only:\n\n```bash\nnpx @vibe-x/agent-better-checkpoint --uninstall --target .\n```\n\n### Via [skills.sh](https://skills.sh)\n\n```bash\nnpx skills add alienzhou/agent-better-checkpoint\n```\n\nThe AI agent will auto-bootstrap the runtime scripts on first use.\n\n### What Gets Installed\n\n**Global** (no `--target`):\n\n| Location | Content |\n|----------|---------|\n| `~/.vibe-x/agent-better-checkpoint/scripts/` | Commit script (`checkpoint.sh` / `.ps1`) |\n| `~/.vibe-x/agent-better-checkpoint/hooks/stop/` | Stop hook (`check_uncommitted.sh` / `.ps1`) |\n| `~/.cursor/skills/` or `~/.claude/skills/` | `SKILL.md` — AI agent instructions |\n| `~/.cursor/hooks.json` or `~/.claude/settings.json` | Stop hook registration |\n\n**Project-only** (`--target .`):\n\n| Location | Content |\n|----------|---------|\n| `\u003cproject\u003e/.cursor/skills/agent-better-checkpoint/` | `SKILL.md` |\n| `\u003cproject\u003e/.cursor/hooks.json` | Stop hook (Cursor only) |\n| `\u003cproject\u003e/.cursor/hooks/` | `check_uncommitted.sh` |\n| `\u003cproject\u003e/.vibe-x/agent-better-checkpoint/` | `checkpoint.sh`, `config.yml` |\n\n### Uninstall\n\n```bash\nnpx @vibe-x/agent-better-checkpoint --uninstall\n```\n\n---\n\n## Platform Support\n\n| Platform | OS | Status |\n|----------|----|--------|\n| Cursor | macOS, Linux, Windows | ✅ |\n| Claude Code | macOS, Linux, Windows | ✅ |\n\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, testing, and publishing instructions.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falienzhou%2Fagent-better-checkpoint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falienzhou%2Fagent-better-checkpoint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falienzhou%2Fagent-better-checkpoint/lists"}