{"id":17696499,"url":"https://github.com/kazupon/gh-changelogen","last_synced_at":"2025-04-12T19:41:34.249Z","repository":{"id":57768644,"uuid":"527561435","full_name":"kazupon/gh-changelogen","owner":"kazupon","description":"Changelog generator for GitHub Releases","archived":false,"fork":false,"pushed_at":"2025-03-11T19:32:11.000Z","size":197,"stargazers_count":18,"open_issues_count":15,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-26T13:54:03.870Z","etag":null,"topics":["changelog","github","release"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/kazupon.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":"kazupon"}},"created_at":"2022-08-22T12:47:07.000Z","updated_at":"2025-03-25T06:15:39.000Z","dependencies_parsed_at":"2023-10-16T09:03:51.527Z","dependency_job_id":"15cad8a7-306e-4c9b-a151-ae350b63fc55","html_url":"https://github.com/kazupon/gh-changelogen","commit_stats":{"total_commits":127,"total_committers":3,"mean_commits":"42.333333333333336","dds":0.4881889763779528,"last_synced_commit":"d7ed64b256afd490cbe092ee4fdd5a1be68c152b"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazupon%2Fgh-changelogen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazupon%2Fgh-changelogen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazupon%2Fgh-changelogen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazupon%2Fgh-changelogen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kazupon","download_url":"https://codeload.github.com/kazupon/gh-changelogen/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625001,"owners_count":21135509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","github","release"],"created_at":"2024-10-24T14:44:33.609Z","updated_at":"2025-04-12T19:41:34.216Z","avatar_url":"https://github.com/kazupon.png","language":"TypeScript","funding_links":["https://github.com/sponsors/kazupon"],"categories":["TypeScript"],"sub_categories":[],"readme":"# gh-changelogen\n\n[![NPM downloads](https://img.shields.io/npm/dm/gh-changelogen.svg)](https://npmjs.com/package/gh-changelogen)\n[![version](https://img.shields.io/npm/v/gh-changelogen/latest.svg)](https://npmjs.com/package/gh-changelogen)\n[![CI](https://github.com/kazupon/gh-changelogen/actions/workflows/ci.yaml/badge.svg)](https://github.com/kazupon/gh-changelogen/actions/workflows/ci.yaml)\n\n📜 Changelog generator for GitHub Releases\n\n## 🌟 Features\n\n- Generate changelog with tag from GitHub Releases\n\n## 🚀 Usage\n\n```sh\nnpx gh-changelogen --repo kazupon/gh-changelogen --tag v0.0.1 --token \u003cyour github token\u003e\n```\n\nthe below changelog is generated.\n\n```sh\n# v0.0.1 (2022-08-22T17:22:41Z)\n\nThis changelog is generated by [GitHub Releases](https://github.com/kazupon/gh-changelogen/releases/tag/v0.0.1)\n\n\u003c!-- Release notes generated using configuration in .github/release.yml at v0.0.1 --\u003e\n\n## What's Changed\n### 🌟 Features\n* feat: first placeholder release by @kazupon in https://github.com/kazupon/gh-changelogen/pull/3\n\n## New Contributors\n* @renovate made their first contribution in https://github.com/kazupon/gh-changelogen/pull/1\n* @kazupon made their first contribution in https://github.com/kazupon/gh-changelogen/pull/3\n\n**Full Changelog**: https://github.com/kazupon/gh-changelogen/commits/v0.0.1\n```\n\n### Options\n\n- `--repo`: GitHub repository name, format `owner/repo` (e.g. `kazupon/gh-changelogen`)\n- `--tag`: GitHub release tag (e.g. `v0.0.1`)\n- `--token`: GitHub token, if you won’t specify, respect `GITHUB_TOKEN` env\n- `--output`: Changelog file name to create or update. defaults to `CHANGELOG.md` and resolved relative\n\n### In Github Actions\n\nThe following is release workflow triggered by git tag push:\n\n```yml\n# .github/workflows/release.yml\n\nname: Release\n\non:\n  push:\n    branches-ignore:\n      - '**'\n    tags:\n      - 'v*'\n\njobs:\n  release:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout codes\n        uses: actions/checkout@v3\n        with:\n          ref: ${{ github.head_ref }}\n\n      - name: Setup Node\n        uses: actions/setup-node@v3\n        with:\n          node-version: 16.x\n\n      - name: Extract version tag\n        if: startsWith( github.ref, 'refs/tags/v' )\n        uses: jungwinter/split@v2\n        id: split\n        with:\n          msg: ${{ github.ref }}\n          separator: '/'\n\n      - name: Create Github Release\n        run: gh release create ${{ steps.split.outputs._2 }} --generate-notes\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n      - name: Generate changelog\n        run: npx gh-changelogen --repo=kazupon/gh-changelogen --tag=${{ steps.split.outputs._2 }}\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n      - name: Commit changelog\n        uses: stefanzweifel/git-auto-commit-action@v4\n        with:\n          branch: main\n          file_pattern: '*.md'\n          commit_message: 'chore: sync changelog'\n\n      - name: Publish package\n        run: npm publish\n        env:\n          NPM_TOKEN: ${{secrets.NPM_TOKEN}}\n```\n\n## 💪 Motivation\n\n- GitHub Rleases is awesome, it automatically generates the changelog.\n- However, not all people will see the changelog in the Github Releases UI.\n- Some people prefer the text base of changelog.\n- Github Releases cannot sync changelog of repo.\n- So I need tool to generate Github Releases as the **single-of-truth** for changelog.\n\n## 🙌 Contributing guidelines\n\nIf you are interested in contributing to `gh-changelogen`, I highly recommend checking out [the contributing guidelines](/CONTRIBUTING.md) here. You'll find all the relevant information such as [how to make a PR](/CONTRIBUTING.md#pull-request-guidelines), [how to setup development](/CONTRIBUTING.md#development-setup)) etc., there.\n\n## ©️ License\n\n[MIT](https://opensource.org/licenses/MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazupon%2Fgh-changelogen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkazupon%2Fgh-changelogen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazupon%2Fgh-changelogen/lists"}