Skip to content

Commit 035b0d3

Browse files
committed
Initial commit
0 parents  commit 035b0d3

10 files changed

+1202
-0
lines changed

.github/dependabot.yml

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version: 2
2+
3+
updates:
4+
- package-ecosystem: "npm"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
open-pull-requests-limit: 20
9+
10+
- package-ecosystem: "github-actions"
11+
directory: "/"
12+
schedule:
13+
interval: "weekly"

.gitignore

+130
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
lerna-debug.log*
8+
.pnpm-debug.log*
9+
10+
# Diagnostic reports (https://nodejs.org/api/report.html)
11+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
12+
13+
# Runtime data
14+
pids
15+
*.pid
16+
*.seed
17+
*.pid.lock
18+
19+
# Directory for instrumented libs generated by jscoverage/JSCover
20+
lib-cov
21+
22+
# Coverage directory used by tools like istanbul
23+
coverage
24+
*.lcov
25+
26+
# nyc test coverage
27+
.nyc_output
28+
29+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
30+
.grunt
31+
32+
# Bower dependency directory (https://bower.io/)
33+
bower_components
34+
35+
# node-waf configuration
36+
.lock-wscript
37+
38+
# Compiled binary addons (https://nodejs.org/api/addons.html)
39+
build/Release
40+
41+
# Dependency directories
42+
node_modules/
43+
jspm_packages/
44+
45+
# Snowpack dependency directory (https://snowpack.dev/)
46+
web_modules/
47+
48+
# TypeScript cache
49+
*.tsbuildinfo
50+
51+
# Optional npm cache directory
52+
.npm
53+
54+
# Optional eslint cache
55+
.eslintcache
56+
57+
# Optional stylelint cache
58+
.stylelintcache
59+
60+
# Microbundle cache
61+
.rpt2_cache/
62+
.rts2_cache_cjs/
63+
.rts2_cache_es/
64+
.rts2_cache_umd/
65+
66+
# Optional REPL history
67+
.node_repl_history
68+
69+
# Output of 'npm pack'
70+
*.tgz
71+
72+
# Yarn Integrity file
73+
.yarn-integrity
74+
75+
# dotenv environment variable files
76+
.env
77+
.env.development.local
78+
.env.test.local
79+
.env.production.local
80+
.env.local
81+
82+
# parcel-bundler cache (https://parceljs.org/)
83+
.cache
84+
.parcel-cache
85+
86+
# Next.js build output
87+
.next
88+
out
89+
90+
# Nuxt.js build / generate output
91+
.nuxt
92+
dist
93+
94+
# Gatsby files
95+
.cache/
96+
# Comment in the public line in if your project uses Gatsby and not Next.js
97+
# https://nextjs.org/blog/next-9-1#public-directory-support
98+
# public
99+
100+
# vuepress build output
101+
.vuepress/dist
102+
103+
# vuepress v2.x temp and cache directory
104+
.temp
105+
.cache
106+
107+
# Docusaurus cache and generated files
108+
.docusaurus
109+
110+
# Serverless directories
111+
.serverless/
112+
113+
# FuseBox cache
114+
.fusebox/
115+
116+
# DynamoDB Local files
117+
.dynamodb/
118+
119+
# TernJS port file
120+
.tern-port
121+
122+
# Stores VSCode versions used for testing VSCode extensions
123+
.vscode-test
124+
125+
# yarn v2
126+
.yarn/cache
127+
.yarn/unplugged
128+
.yarn/build-state.yml
129+
.yarn/install-state.gz
130+
.pnp.*

.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v20

.vscode/extensions.json

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"recommendations": [
3+
"bradlc.vscode-tailwindcss",
4+
"editorconfig.editorconfig",
5+
"davidanson.vscode-markdownlint",
6+
"streetsidesoftware.code-spell-checker",
7+
"esbenp.prettier-vscode",
8+
"yoavbls.pretty-ts-errors",
9+
"dbaeumer.vscode-eslint"
10+
]
11+
}

.vscode/settings.json

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"typescript.tsdk": "./node_modules/typescript/lib",
3+
"editor.formatOnSave": true,
4+
"editor.codeActionsOnSave": {
5+
"source.fixAll.eslint": "explicit"
6+
},
7+
"editor.defaultFormatter": "esbenp.prettier-vscode",
8+
"[typescriptreact]": {
9+
"editor.defaultFormatter": "esbenp.prettier-vscode"
10+
},
11+
"[typescript]": {
12+
"editor.defaultFormatter": "esbenp.prettier-vscode"
13+
},
14+
"cSpell.words": ["openai", "Piotr", "Rogowski"]
15+
}

README.md

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# GitSummit
2+
3+
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
4+
5+
## Overview
6+
7+
**GitSummit** is an AI-assisted command-line tool that automates the generation of changelogs and release notes. It leverages the power of OpenAI to summarize git commit messages into concise and readable release notes, adhering to the [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) format.
8+
9+
## Features
10+
11+
- **AI-Powered Summaries**: Generate clear and concise release notes using OpenAI's language model.
12+
- **Automatic Version Bumping**: Increment your project's version based on the type of changes (major, minor, patch).
13+
- **Customizable Output**: Add fun elements, emojis, or additional context to your release notes.
14+
- **Changelog Management**: Automatically updates your `CHANGELOG.md` with the latest release information.
15+
- **Current Release Notes**: Writes the current release notes to a separate `RELEASE.md` file.
16+
17+
## Installation
18+
19+
Add this repository as a submodule to your project:
20+
21+
```bash
22+
cd /path/to/your/project
23+
git submodule add https://github.com/karniv00l/git-summit.git
24+
```
25+
26+
Install required Node.js version:
27+
28+
```bash
29+
cd git-summit
30+
nvm install
31+
# or using volta
32+
volta install node
33+
```
34+
35+
Install the required dependencies and go back to the project root:
36+
37+
```bash
38+
npm i && cd ../
39+
```
40+
41+
Set the OpenAI API key as an environment variable:
42+
43+
```bash
44+
export OPENAI_API_KEY="your-api-key"
45+
```
46+
47+
## Usage
48+
49+
- Tools will look at the latest git tag and generate release notes for the changes since then.
50+
- The release notes will be written to given `RELEASE.md` and the changelog will be updated in given `CHANGELOG.md` file.
51+
52+
```bash
53+
npx ts-node ./git-summit/git-summit.ts --changelog CHANGELOG.md --output RELEASE.md --bump minor --fun --emoji --dry-run
54+
```

0 commit comments

Comments
 (0)