A modern, high-performance changelog generator that transforms your git history into a beautiful, interactive, and portable single-file HTML document.
- Native Git Integration: Automatically extracts commits directly from any local
.gitrepository. - Single-File Portability: Bundles HTML, CSS, and JavaScript into a single
.htmlfile that works anywhere without a server. - Premium UI Design: Built with React and Vanilla CSS for a sleek, dark-themed, and responsive experience.
- Intelligent Categorization: Automatically categorizes commits based on prefixes (feat, fix, perf, etc.).
- Detailed Timestamps: Displays relative dates and specific times for every change.
- Flexible CLI: Run it interactively or with command-line arguments for automation.
Tip
🤖 Want AI-Enhanced Descriptions?
Check out the AI-Enhanced Branch which uses Google Gemini to automatically transform developer commit messages into user-friendly descriptions!
View AI-Enhanced Changelog Demo
-
Clone this repository:
git clone <repository-url> cd changelog
-
Install dependencies:
npm install
To generate a changelog for any project on your computer:
npm run standaloneThe script will guide you through:
- Entering the path to the git repository you want to analyze.
- Choosing where to save the final
.htmlfile.
You can also bypass the prompts by providing arguments directly:
npm run standalone -- --repo "C:\path\to\your\project" --output "C:\path\to\changelog.html"If you want to modify the design or logic:
# Start development server with hot-reload
npm run devThe dev server will automatically generate data from the current repository.
- Data Extraction: A Node.js script (
scripts/generate-changelog.js) runsgit logon the target repository. - Data Baking: The extracted history is transformed into a TypeScript data file (
src/generatedChangelog.ts). - Standalone Build: Vite compiles the React application and uses
vite-plugin-singlefileto inline all assets. - Deployment: The script moves the final
index.htmlto your desired output path.
- Styles: Modify
src/Changelog.cssto update colors, typography, and layout. - Categories: Update
scripts/generate-changelog.jsto change how commit messages are categorized. - Components: Edit
src/Changelog.tsxto change the HTML structure or logic.
This project is licensed under the MIT License - see the LICENSE file for details.
