{"id":29196036,"url":"https://github.com/moshetanzer/cherry-changelog","last_synced_at":"2026-06-12T18:32:12.638Z","repository":{"id":300952944,"uuid":"1007674127","full_name":"moshetanzer/cherry-changelog","owner":"moshetanzer","description":"Interactive changelog generator - Pick and choose which commits make it into your changelog with JSON, Markdown \u0026 HTML output","archived":false,"fork":false,"pushed_at":"2026-05-29T20:04:30.000Z","size":132,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-29T22:05:56.321Z","etag":null,"topics":["changelog-generator","conventional-commits","git-commits","release-management"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/moshetanzer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-06-24T11:01:40.000Z","updated_at":"2025-11-17T12:36:02.000Z","dependencies_parsed_at":"2025-06-24T12:39:11.115Z","dependency_job_id":"72d949a5-a3b0-4ddf-a367-7115998ac04b","html_url":"https://github.com/moshetanzer/cherry-changelog","commit_stats":null,"previous_names":["moshetanzer/cherry-changelog"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/moshetanzer/cherry-changelog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moshetanzer%2Fcherry-changelog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moshetanzer%2Fcherry-changelog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moshetanzer%2Fcherry-changelog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moshetanzer%2Fcherry-changelog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moshetanzer","download_url":"https://codeload.github.com/moshetanzer/cherry-changelog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moshetanzer%2Fcherry-changelog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34258366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["changelog-generator","conventional-commits","git-commits","release-management"],"created_at":"2025-07-02T05:31:13.938Z","updated_at":"2026-06-12T18:32:12.633Z","avatar_url":"https://github.com/moshetanzer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🍒 Cherry Changelog\n\nInteractive terminal changelog generator with commit picker. Choose which commits to include in your changelog with multiple output formats (JSON, Markdown, HTML). Perfect for teams who want full control over their release notes.\n\n## Features\n\n- 🎯 Interactive commit selection with checkboxes\n- 📝 Supports conventional commits (feat, fix, perf)\n- 📊 Multiple output formats: JSON, Markdown, HTML\n- 🏷️ Automatic version detection from git tags\n- 🔄 Updates existing versions or creates new ones\n\n## Quick Start\n\nRun the following in any project to test:\n\n```bash\nnpx cherry-changelog\n```\nOr add it to your release command in your `package.json` (this is how i use it :)):\n\n```bash\n\"release\": \"npx cherry-changelog --input-file 'public/changelog.json' --output 'public/' --format json \u0026\u0026 npx bumpp \u0026\u0026 git add -u public/changelog.json \u0026\u0026 (git diff --cached --quiet || (git commit -m 'chore: update changelog' \u0026\u0026 git push))\"\n```\n\nThe tool will:\n\n1. Scan your git commits for conventional commits\n2. Show an interactive checkbox list for commit selection\n3. Ask you if you would like to edit any of commit messages (for your changelog - this doesnt edit actual commit messsages)\n4. Let you choose output formats (JSON, MD, HTML)\n5. Generate changelog files with your selections\n\n## Options\n\n| Option | Alias | Type | Default | Description |\n|--------|-------|------|---------|-------------|\n| `--format` | `-f` | string | `markdown` | Export formats (comma-separated: json,markdown,html) |\n| `--output` | `-o` | string | `.` | Output directory |\n| `--version` | `-v` | string | - | Override version (defaults to latest git tag) |\n| `--types` | `-t` | string | `feat,fix,perf` | Commit types to include (comma-separated) |\n| `--auto-select` | `-a` | boolean | `false` | Auto-select all commits without prompting |\n| `--input-file` | `-i` | string | `changelog.json` | Input changelog file |\n\n\u003e [!NOTE]\n\u003e Any type that doesn't match `perf`, `fix`, or `feat` will be categorized under \"Other\" in the changelog (if included). We feel this is neatest way to do this.\n\n### Examples\n\nGenerate multiple formats:\n\n```bash\ncherry-changelog --format json,markdown,html\n```\n\nAuto-select all commits:\n\n```bash\ncherry-changelog --auto-select\n```\n\nSpecify custom version and output directory:\n\n```bash\ncherry-changelog --version v2.1.0 --output ./dist\n```\n\nFilter specific commit types:\n\n```bash\ncherry-changelog --types feat,fix\n```\n\n## Output Formats\n\n### JSON\n\n```json\n[\n  {\n    \"version\": \"v1.2.0\",\n    \"date\": \"2025-06-23\",\n    \"entries\": [\n      {\n        \"type\": \"feature\",\n        \"text\": \"add user authentication\"\n      },\n      {\n        \"type\": \"fix\",\n        \"text\": \"resolve memory leak\"\n      }\n    ]\n  }\n]\n```\n\n### Markdown\n\n```markdown\n# Changelog\n\n## v1.2.0 - 2025-06-23\n\n### ✨ Features\n- add user authentication\n\n### 🐛 Fixes\n- resolve memory leak\n```\n\n### HTML\n\nClean, responsive HTML with built-in styling for easy sharing.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoshetanzer%2Fcherry-changelog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoshetanzer%2Fcherry-changelog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoshetanzer%2Fcherry-changelog/lists"}