MCPcopy Index your code
hub / github.com/antfu/changelogithub

github.com/antfu/changelogithub @v14.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v14.0.0 ↗ · + Follow
41 symbols 115 edges 15 files 0 documented · 0% 10 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

changelogithub

NPM version

Generate changelog for GitHub releases from Conventional Commits, powered by changelogen.

👉 Changelog example

Features

  • Support exclamation mark as breaking change, e.g. chore!: drop node v10
  • Grouped scope in changelog
  • Create the release note, or update the existing one
  • List contributors

Usage

In GitHub Actions:

# .github/workflows/release.yml

name: Release

permissions:
  contents: write

on:
  push:
    tags:
      - 'v*'

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Set node
        uses: actions/setup-node@v4
        with:
          registry-url: https://registry.npmjs.org/
          node-version: lts/*

      - run: npx changelogithub # or changelogithub@0.12 to ensure a stable result
        env:
          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

It will be trigged whenever you push a tag to GitHub that starts with v.

Configuration

You can put a configuration file in the project root, named as changelogithub.config.{json,ts,js,mjs,cjs}, .changelogithubrc or use the changelogithub field in package.json.

Preview Locally

npx changelogithub --dry

Why?

I used to use conventional-github-releaser for almost all my projects. Until I found that it does NOT support using exclamation marks for breaking changes - hiding those important breaking changes in the changelog without the awareness from maintainers.

License

MIT License © 2022 Anthony Fu

Extension points exported contracts — how you extend this code

GitHubRepo (Interface)
(no doc)
src/types.ts
GitHubAuth (Interface)
(no doc)
src/types.ts
Commit (Interface)
(no doc)
src/types.ts
ChangelogOptions (Interface)
(no doc)
src/types.ts
AuthorInfo (Interface)
(no doc)
src/types.ts

Core symbols most depended-on inside this repo

execCommand
called by 6
src/git.ts
getHeaders
called by 5
src/github.ts
groupBy
called by 4
src/utils.ts
join
called by 4
src/utils.ts
printWebUrl
called by 4
src/cli.ts
getGitHubRepo
called by 3
src/git.ts
generate
called by 3
src/generate.ts
getVersionString
called by 2
src/git.ts

Shape

Function 36
Interface 5

Languages

TypeScript100%

Modules by API surface

src/git.ts11 symbols
src/github.ts6 symbols
src/types.ts5 symbols
src/style/plain.ts5 symbols
src/style/markdown.ts5 symbols
src/utils.ts3 symbols
src/config.ts2 symbols
src/cli.ts2 symbols
src/parse.ts1 symbols
src/generate.ts1 symbols

For agents

$ claude mcp add changelogithub \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page