summaryrefslogtreecommitdiff
path: root/internal/cmd
AgeCommit message (Collapse)Author
12 daysfeat(showcase): add interactive SVG rank history graphPaul Buetow
Generate rank-history.svg alongside showcase.gmi.tpl on every showcase run (full or single-repo update). The graph shows a Google-Trends-style polyline per project from oldest to newest; hovering highlights the selected project and shows a tooltip with rank and snapshot date for each recorded week. Key implementation details: - new file internal/showcase/rank_history_svg.go with GenerateRankHistorySVG - golden-ratio HSL colour spacing for visually distinct project lines - M/L SVG path commands with gaps for weeks with no snapshot data - PROJECTS JSON array embedded in CDATA script for JS tooltip rendering - rank-history.svg linked from the gemtext showcase header Changes to showcase.go: - updateShowcaseFile returns ([]ProjectSummary, error) so the caller can pass the full merged+sorted list to writeRankHistorySVGFile - extract showcaseOutputDir() helper to deduplicate the hardcoded ~/git/foo.zone-content/gemtext/about path used in four places - log a warning (instead of silently continuing) when getRepositories fails inside updateShowcaseFile so data loss is visible to the operator Bug fixes found during review: - off-by-bounds panic: reversal loop used revIdx=numPoints-1-j as source index but numPoints is a constant (5) not len(s.RankHistory); replaced with j as source and numPoints-1-j as destination so partial slices never panic - redundant getElementById in JS onEnter replaced with allPG[idx] which is already the correct element Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21feat(ai): update AI tool order and switch to glm-5.1:cloud via ollama launchv0.17.1Paul Buetow
- Default AI tool fallback order: opencode -> hexai -> claude -> amp - Switch opencode invocation to: ollama launch opencode --model glm-5.1:cloud -y -- run - Update helptext and comments across all commands
2026-03-19chore(release): bump version to 0.15.8v0.15.8Paul Buetow
Remove aichat support from release notes and showcase AI tool chains. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18feat(ai): add opencode as default AI tool for releases and showcasesv0.15.6Paul Buetow
Replace amp with opencode (local Ollama gpt-oss:120b) as the default AI tool. Opencode is tried first in both release notes generation and showcase summaries, with amp as the first fallback in the chain: opencode → amp → hexai → claude → aichat. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-03-11feat(sync): enforce daily repo sync intervalsPaul 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-31refactor(showcase): remove Codex LLM supportPaul Buetow
docs: update showcase help text and AI tool fallback to exclude Codex.
2025-08-31some fixesPaul Buetow
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 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-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>