summaryrefslogtreecommitdiff
path: root/README.md
AgeCommit message (Collapse)Author
2026-03-28feat(sync): auto-sync full backups and showcase cgit linksv0.17.0Paul Buetow
2026-03-28feat(showcase): support per-repo stats branchesv0.16.0Paul Buetow
2026-03-11feat(sync): enforce daily repo sync intervalsPaul Buetow
2026-02-22feat(showcase): add weekly rank history and header movementPaul Buetow
2026-02-07feat(sync): add throttled sync modev0.12.0Paul Buetow
Introduce an opt-in throttle that skips inactive repos based on local activity and per-repo cooldowns, and bump the version to 0.12.0. Co-authored-by: Cursor <cursoragent@cursor.com>
2025-10-31feat: implement amp AI tool support and replace Taskfile with Magev0.10.0Paul Buetow
- Add amp as default AI tool for release notes and showcase generation - Fallback chain: amp → hexai → claude → aichat - Replace Taskfile.yaml with magefile.go for build automation - Update all documentation (README.md, AGENTS.md, doc/development.md) - Update version to 0.10.0 Amp-Thread-ID: https://ampcode.com/threads/T-735ba1e2-0255-4b43-8ed1-6c0d2f78301b Co-authored-by: Amp <amp@ampcode.com>
2025-08-17feat(release): hexai-first AI release notes; chore(version): bump to 0.8.8v0.8.8Paul Buetow
- Prefer hexai stdin pipeline for release notes generation - Fallback to Claude then aichat - Update CLI help and README - Adjust integration tests for current CLI
2025-07-19feat: add support for aichat as AI tool for release notesv0.8.0Paul Buetow
- Add --ai-tool flag to release and sync commands - Support both 'claude' and 'aichat' options (default: claude) - Update GenerateAIReleaseNotes to handle both tools - Add tool-specific error messages and hints - Update documentation with usage examples This allows users to choose between Claude CLI and aichat for generating AI-powered release notes. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-15add vibe coding infoPaul Buetow
2025-07-13fix: change default config path to ~/.config/gitsyncer/config.jsonPaul Buetow
- Add .json extension to default config path for clarity - Update all documentation and help text - Update config search paths to include the new default The new default path is ~/.config/gitsyncer/config.json (previously ~/.config/gitsyncer/config) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13feat: make AI release notes the default behaviorPaul Buetow
- AI-generated release notes are now enabled by default - Add --no-ai-release-notes flag to disable AI notes - Update all documentation and examples to reflect new default - Works for both sync commands and release commands Users now get AI-generated release notes automatically: gitsyncer sync repo myproject # AI notes enabled gitsyncer sync repo myproject --no-ai-release-notes # Disable AI gitsyncer release create # AI notes enabled gitsyncer release create --no-ai-notes # Disable AI 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13fix: update default config path to follow XDG Base Directory specPaul Buetow
- Change default config from ~/.gitsyncer.json to ~/.config/gitsyncer/config - Update all documentation and help text to reflect new path - LoadConfig still checks common locations for backward compatibility: - ./gitsyncer.json - ~/.config/gitsyncer/config (new default) - ~/.gitsyncer.json This follows the XDG Base Directory specification for better organization of configuration files. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13refactor: restructure CLI with cobra command frameworkPaul Buetow
- Replace flat flags with organized command structure - Add commands: sync, list, manage, release, showcase, test - Implement subcommands for better organization: - sync: repo, all, codeberg-to-github, github-to-codeberg, bidirectional - list: orgs, repos - manage: delete-repo, clean, batch-run - release: check, create (with --ai-notes support) - showcase: with --force, --output, --format, --exclude - test: github-token, codeberg-token, config - Add comprehensive help with examples for all commands - Fix config loading bug when path is empty - Update README.md with new command structure and examples - Maintain backward compatibility (old flags still work with warnings) The new structure provides better discoverability, consistent naming, and logical grouping of related functionality. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12add vibe codingPaul Buetow
2025-07-09docs: add documentation for --batch-run featurev0.5.0Paul Buetow
- Document the --batch-run flag in usage section - Add to features list - Include detailed example workflow for cron automation - Explain weekly timer and state file behavior 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09feat: document showcase generation featurev0.4.0Paul Buetow
- Add comprehensive documentation for --showcase feature in README - Document showcase capabilities including AI summaries and metrics - Add showcase feature to the features list Major features documented: - AI-powered project showcase generation - Automatic code snippet extraction - SVG image support - Release version tracking - Experimental project detection - Code block AUTO labeling 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-03feat: add SSH backup locations with --backup flagv0.2.0Paul Buetow
- Add support for SSH backup locations (e.g., paul@server:git/) - Backup locations are one-way only (push only, never pull) - Automatic bare repository creation on SSH servers - Add --backup flag to opt-in to backup syncing - Backup locations are disabled by default for offline resilience - Update version to 0.2.0 This allows users to maintain private backups on home servers that may be offline without affecting regular sync operations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27feat: implement --create-codeberg-reposPaul Buetow
2025-06-24refactor: use value semantics for GitHub and Codeberg clientsPaul Buetow
- Changed github.NewClient() to return Client instead of *Client - Changed codeberg.NewClient() to return Client instead of *Client - Updated sync_handlers.go to handle value semantics properly - Both clients only contain immutable string fields, making value semantics more appropriate docs: add comprehensive documentation - Added doc/ directory with full documentation - Created architecture overview explaining system design - Added complete API reference for all packages, types, and functions - Created configuration guide with examples - Added usage examples and common workflows - Created development guide for contributors - Updated README with links to documentation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24feat: add branch exclusion feature with regex patternsPaul Buetow
Users can now exclude branches from synchronization using regex patterns in the configuration file. This is useful for: - Excluding temporary or experimental branches - Skipping vendor or third-party branches - Ignoring deployment-specific branches Configuration example: ```json { "exclude_branches": [ "^codex/", // Exclude branches starting with "codex/" "^temp-", // Exclude branches starting with "temp-" "-wip$" // Exclude branches ending with "-wip" ] } ``` Features: - Regex pattern matching for flexible exclusion rules - Clear reporting of excluded branches during sync - Excluded branches are filtered from sync but still analyzed for abandonment - Invalid regex patterns are reported but don't stop sync The feature helps maintain cleaner synchronization by allowing users to ignore branches that shouldn't be synchronized across all repositories. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23Add --full flag for bidirectional sync and update module namePaul Buetow
- Add --full flag that enables both --sync-codeberg-public and --sync-github-public - Also enables --create-github-repos and --create-codeberg-repos with --full - Update module name from github.com/paul/gitsyncer to codeberg.org/snonux/gitsyncer - Update all import statements to use new module name - Fix sync operations to work together when both are enabled - Add visual separator between sync operations in full mode - Update README with full sync documentation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23Add --sync-github-public flag to sync GitHub repos to CodebergPaul Buetow
- Implement GitHub API client methods to list public repositories - Add --sync-github-public flag to sync all public GitHub repos to Codeberg - Add --create-codeberg-repos flag (placeholder for future implementation) - Support pagination for GitHub API to handle users with many repos - Filter GitHub repos to exclude forks, archived, and private repos - Update README with new sync direction and features - Add dry-run support for GitHub->Codeberg sync 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23Add GitHub repository creation and improve error handlingPaul Buetow
- Add --create-github-repos flag to automatically create missing GitHub repositories - Implement GitHub API client with token support from config/env/file - Add Codeberg API integration to sync all public repositories - Make sync operations stop on first error for better debugging - Support GitHub repo creation for all sync commands (--sync, --sync-all, --sync-codeberg-public) - Add comprehensive error messages and debug logging 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>