You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: changelog_cli/README.md
+144Lines changed: 144 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,15 @@ CLI to generate an opinionated changelog.
6
6
7
7
By default it just generates the changelog based on the whole git history. You can pass custom `--start` and `--end` parameters which are git refs to get a subset of changes between two commits or tags. That was my main goal with this CLI as it doesn't necessarily require semantic versioning.
8
8
9
+
**Features:**
10
+
11
+
- Generate changelogs from conventional commits
12
+
- Support for multiple output formats (simple, markdown, slack-markdown)
13
+
- Configuration files support (YAML/JSON) with command-line override
version: ""# Version to display in changelog header
145
+
limit: 0# Max length of changelog (0 = no limit)
146
+
147
+
# Grouping and formatting
148
+
group_by: ""# Group entries: date-asc, date-desc, scope-asc, scope-desc
149
+
date_format: ""# Date format (e.g. yyyy-MM-dd)
150
+
date_format_locale: en_US
151
+
152
+
# Auto-detection settings
153
+
auto: false # Automatically detect previous tag
154
+
auto_tag_glob_pattern: ""# Pattern for auto tag detection
155
+
156
+
# Integration settings
157
+
jira_url: ""# JIRA URL for issue linking
158
+
```
159
+
160
+
#### JSON Configuration (`.changelogrc`)
161
+
162
+
```json
163
+
{
164
+
"changelog": {
165
+
"start": "",
166
+
"end": "",
167
+
"path": ".",
168
+
"include": ["feat", "fix", "refactor", "perf"],
169
+
"printer": "simple",
170
+
"version": "",
171
+
"limit": 0,
172
+
"group_by": "",
173
+
"date_format": "",
174
+
"date_format_locale": "en_US",
175
+
"auto": false,
176
+
"auto_tag_glob_pattern": "",
177
+
"jira_url": ""
178
+
}
179
+
}
180
+
```
181
+
182
+
### Precedence
183
+
184
+
Command-line arguments take precedence over configuration file settings. This allows you to:
185
+
186
+
1. Set common defaults in a configuration file
187
+
2. Override specific settings using command-line arguments when needed
188
+
189
+
For example, with this configuration file:
190
+
191
+
```yaml
192
+
changelog:
193
+
printer: markdown
194
+
include:
195
+
- feat
196
+
- fix
197
+
```
198
+
199
+
Running `changelog_cli generate --printer simple` will use the simple printer (overriding the config file) but still include only feat and fix commits from the configuration.
200
+
201
+
### Detection of Previous Tags
202
+
59
203
You can get the previous tag using git command and then pass it to `changelog_cli`:
0 commit comments