summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-07-19feat: add aichat support for showcase project descriptionsv0.8.1Paul Buetow
- Add --ai-tool flag to showcase command (default: claude) - Support aichat as alternative to claude for generating project summaries - When using aichat, read README.md and pipe it as input - Update documentation and examples - Bump version to 0.8.1 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
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-13cleanup todo:xPaul Buetow
2025-07-13chore: bump version to 0.7.2v0.7.2Paul Buetow
Minor improvements: - Fix backup locations not being skipped during fetch when --backup flag is not used - Change default config path to include .json extension (~/.config/gitsyncer/config.json) - Better handling of backup remotes to prevent unnecessary warnings 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
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-13fix: skip fetching from backup locations when --backup flag is not usedPaul Buetow
- Check all organizations (not just active ones) to identify backup locations - Skip fetching from backup remotes when backup is not enabled - Remove duplicate "Fetching" message from fetchRemote function - Prevents "Warning: Remote repository does not exist yet" for backup locations This ensures backup locations are truly opt-in and don't interfere with normal sync operations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13chore: bump version to 0.7.1v0.7.1Paul Buetow
Bug fixes and improvements: - Fix AI release notes now enabled by default - Add better error handling for Codeberg release creation - Add debugging for token loading in release management - Handle Gitea API "Release is has no Tag" error gracefully 🤖 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-13chore: bump version to 0.7.0v0.7.0Paul Buetow
Major release with new command-based CLI structure: - Replaced flat flags with organized cobra commands - Added comprehensive help system with examples - Improved release management with AI notes support - Updated default config path to XDG standard - Better error handling and user experience 🤖 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-13fix: improve claude CLI error handling workflowv0.6.2Paul Buetow
- Remove debug script generation for cleaner error handling - Continue processing next releases when claude CLI fails - Simplify error detection for "Execution error" responses - Cache is automatically cleared on failures - Bump version to 0.6.2 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-13fix: improve claude CLI error handling and diagnosticsv0.6.1Paul Buetow
- Add detection for "Execution error" responses from claude CLI - Provide detailed error diagnostics when claude CLI fails - Show possible causes and remediation steps - Add test command to verify claude CLI functionality - Fix model names in error messages (opus, sonnet, haiku) - Remove hanging auth status check - Bump version to 0.6.1 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12feat: add vibe-coded project detection to showcasev0.6.0Paul Buetow
- Add detection for "vibe code" mentions in README files - Display vibe-coded indicator in project summaries - Include vibe-coded count in overall statistics - Clarify that AI-assisted count includes vibe-coded projects - Bump version to 0.6.0 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12add a todoPaul Buetow
2025-07-12add vibe codingPaul Buetow
2025-07-12fix: remove Full Changelog links from release notesPaul Buetow
- Remove platform-specific changelog links (prevTag...currentTag format) - These links only work on GitHub/GitLab, not universally - Keeps release notes cleaner and more portable 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12fix: remove commit messages from AI generation outputPaul Buetow
- Replace verbose prompt preview with summary statistics - Show number of commits and size of code changes instead - Avoid cluttering output with raw commit messages - Keep focus on the AI-generated release notes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12feat: clear cache and track failed AI release note generationsPaul Buetow
- Clear cache entry when AI generation fails to allow retry - Track all failed generations for summary at end - Save cache immediately after clearing failed entry - Show helpful summary of failed releases at the end - Suggest running again to retry failed generations - Handle both GitHub and Codeberg org names in failure tracking 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12feat: save AI release notes cache after each successful generationPaul Buetow
- Save cache immediately after each Claude CLI success - Prevents losing work if process is interrupted - Remove verbose save messages since saving more frequently - Show cache summary only at the end if new entries were added - More resilient to crashes or user interruptions 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12feat: add persistent caching for AI release notesPaul Buetow
- Cache AI-generated release notes to .gitsyncer-ai-release-notes-cache.json - Persist cache between gitsyncer runs to avoid regenerating notes - Only cache when Claude CLI succeeds (not on failures) - Honor --force flag to regenerate notes ignoring cache - Display when using cached vs generating new notes - Save cache file in work directory for easy management 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12fix: abort on Claude CLI failure and show error messagePaul Buetow
- Use CombinedOutput to capture both stdout and stderr - Display exit code and error message when Claude fails - Abort immediately instead of trying fallback models - Makes debugging easier when Claude CLI has issues 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12feat: show Claude prompt preview when generating release notesPaul Buetow
- Display first 500 characters of the prompt sent to Claude - Helps users understand what information is being provided - Makes the AI generation process more transparent 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12fix: use correct Claude CLI model aliasesPaul Buetow
- Changed from sonnet-4/sonnet-3.5 to sonnet/opus - Claude CLI uses simple aliases, not version numbers - Falls back to opus (most capable) then default model 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12feat: use sonnet-4 as primary model for AI release notesPaul Buetow
- Changed from sonnet-3.5 to sonnet-4 as the primary model - Falls back to sonnet-3.5, then default model if needed - Sonnet-4 is newer and more capable 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12feat: improve AI release notes generationPaul Buetow
- Display Claude CLI command being executed with prompt length - Cache AI-generated release notes to avoid regenerating for same tag - Use cached notes when creating/updating releases on different platforms - Show when falling back to different Claude models 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12fix: make --check-releases scan all repositories in work directoryPaul Buetow
- Previously only checked repositories listed in config (which was empty) - Now scans all git repositories found in work directory - Removed duplicate code for checking public repositories 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12fix: remove verbose token loading messagesPaul Buetow
- Only show warnings when no token is found at all - Silent token loading from files when successful 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12feat: add AI-powered release notes generationPaul Buetow
- Add --ai-release-notes flag to generate prose release notes using Claude CLI - Add --update-releases flag to update existing releases with AI notes - Implement GetDiffBetweenTags to extract code changes between versions - Integrate Claude CLI for intelligent release note generation - Support fallback to multiple Claude models (sonnet-3.5, sonnet-4, default) - Always print release notes to stdout for visibility - Fix token loading messages to only show when falling back from config 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12feat: add automatic release checking and creationPaul Buetow
- Add --check-releases flag for manual release checking - Enable automatic release checking after sync operations by default - Add --no-check-releases flag to disable automatic checking - Add --auto-create-releases flag for unattended release creation - Generate release notes from commit history - Support version tag formats: vX.Y.Z, vX.Y, vX, X.Y.Z, X.Y, X - Use tokens from gitsyncer config (with fallback to env vars and files) - Show release notes preview before creating releases - Group commits by type (features, fixes, other) in release notes
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: add --batch-run flag for weekly automated syncPaul Buetow
- Add --batch-run flag that enables --full and --showcase - Implement state management to track last batch run timestamp - Enforce one-week minimum interval between batch runs - Save state to .gitsyncer-state.json in work directory - Show state file location in output messages - Bump version to 0.5.0 This feature enables automated weekly full synchronization from cron or shell scripts while preventing excessive API usage. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09feat: improve code snippet line length handling in showcasePaul Buetow
- Prefer code snippets with lines <= 80 characters - Try multiple files to find snippets with good line lengths - Intelligently break long lines at appropriate points (commas, operators, etc.) - Maintain proper indentation for continuation lines This prevents long code lines from breaking the showcase layout. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09fix: change 'open source projects' to 'side projects' in showcase introPaul Buetow
🤖 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-09feat: add latest release version and date to project summariesPaul Buetow
- Display latest release tag and date for each project - Filter tags to only show version-like tags (e.g., v1.0, 2.3, 1.0.0) - Projects with releases show "🏷️ Latest Release: v1.0.0 (2024-01-15)" - Projects without releases show "🧪 Status: Experimental (no releases yet)" - Added LatestTagDate field to metadata structure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09feat: add AUTO label to code blocks in showcasePaul Buetow
- Code blocks now use ```AUTO instead of plain ``` - Enables automatic syntax highlighting detection 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09feat: add release status statistics to overall project summaryPaul Buetow
- Count projects with version tags vs experimental projects - Display release statistics in overall stats section - Shows percentage breakdown of released vs experimental projects 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09feat: add SVG image support and experimental project detectionPaul Buetow
- Fix image extraction regex to handle unquoted HTML img src attributes - Add detection of version tags and experimental status for projects - Display "Experimental (no releases yet)" for projects without tags - Successfully extracts SVG images from projects like ior 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08feat: remove unnecessary indentation from code snippetsPaul Buetow
- Add removeCommonIndentation function to strip common leading whitespace - Code snippets now start at column 0 when possible - Preserves relative indentation within the code - Works with both spaces and tabs 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08feat: improve language detection with shebang parsingPaul Buetow
- Always check shebang lines for executable files without extensions - Detect AWK scripts with .cgi extension (like awksite) - Support detecting Python, Ruby, Perl, Raku, JavaScript, PHP, Lua via shebang - Add comprehensive shebang parsing for awk/gawk/mawk variants - awksite now correctly shows as 72.1% AWK 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08chore: bump version to v0.4.0Paul Buetow
Major features in this release: - Add showcase generation feature with Claude AI integration - Generate project summaries in Gemini Gemtext format - Extract and include repository metadata (languages, commits, LOC) - Support image extraction from README files - Add code snippet extraction for projects - Implement AI-assistance detection (CLAUDE.md, GEMINI.md, 'agentic coding') - Add language support for AWK and Raku - Strip comments from code snippets - Add Unicode icons to statistics - Show AI-assisted project ratio - Order projects by recent activity
2025-07-08fix: remove syntax highlighting labels from code blocksPaul Buetow
- Remove language identifiers from code blocks (e.g., ```go becomes ```) - Remove extractLanguageForHighlighting function as it's no longer needed - Keep the language info in the description line above the code block 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08feat: add Raku language support and move generation date to topPaul Buetow
- Add Raku (Perl 6) language detection for .raku, .rakumod, .p6, .pm6 files - Add Raku to code extractor and syntax highlighting (uses perl highlighting) - Move 'Generated on' date to the top of the page below main header - guprecords now correctly shows as 100% Raku - ior now shows Raku at 5.4% of the codebase 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08docs: add explanation of project ordering in showcase introductionPaul Buetow
- Update introduction paragraph to explain project ordering - Clarify that projects are sorted by recent activity - Most actively maintained projects appear first 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08feat: add AWK language support for syntax highlightingPaul Buetow
- Add AWK to language detection (.awk files) - Add AWK to code extractor language extensions - Add AWK to syntax highlighting mapping - Note: cpuinfo project is detected as Make-only because the main script has no file extension (it's a shell script with embedded AWK) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08feat: add syntax highlighting labels and strip comments from code snippetsPaul Buetow
- Add language labels to code blocks for syntax highlighting (e.g., ```go, ```sh) - Map languages to source-highlight compatible identifiers - Strip comments from code snippets to show more actual code - Comments no longer count towards the ~10 line target - Support for multi-line and single-line comment removal - Remove inline comments where appropriate 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08fix: change AI-assisted wording from 'generated' to 'created'Paul Buetow
- Update AI-Assisted bullet point text - Change from 'partially generated with the help of generative AI' - To 'partially created with the help of generative AI' 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08feat: add code samples to all projects and AI-assist ratioPaul Buetow
- Show code snippets for all projects, not just those without images - Add AI-Assisted Projects ratio to overall statistics - Display count and percentages of AI-assisted vs human-only projects - All projects now have complete function code samples at the end 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>