@releasekit/notes 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +223 -0
- package/dist/chunk-7Y5Y5LY6.js +1496 -0
- package/dist/chunk-DZVNOAOX.js +1447 -0
- package/dist/chunk-GN5RQW3G.js +1410 -0
- package/dist/chunk-NYHVW46L.js +1516 -0
- package/dist/chunk-R4KN5PKO.js +1509 -0
- package/dist/chunk-RKRG4VKL.js +1281 -0
- package/dist/chunk-RX6K7GTL.js +1363 -0
- package/dist/chunk-TQNHZXY7.js +1279 -0
- package/dist/chunk-WMYZTQDI.js +1496 -0
- package/dist/chunk-XRLAWPB3.js +1410 -0
- package/dist/cli.cjs +1544 -0
- package/dist/cli.d.cts +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +172 -0
- package/dist/index.cjs +1473 -0
- package/dist/index.d.cts +177 -0
- package/dist/index.d.ts +177 -0
- package/dist/index.js +55 -0
- package/package.json +71 -0
- package/templates/angular/document.hbs +7 -0
- package/templates/angular/entry.hbs +2 -0
- package/templates/angular/version.hbs +8 -0
- package/templates/github-release/release.md.ejs +20 -0
- package/templates/keep-a-changelog/document.liquid +10 -0
- package/templates/keep-a-changelog/entry.liquid +2 -0
- package/templates/keep-a-changelog/version.liquid +54 -0
package/README.md
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# changelog-creator
|
|
2
|
+
|
|
3
|
+
A CLI tool for generating changelogs with LLM-powered enhancement and flexible templating.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Multiple input sources**: package-versioner JSON, git log, manual JSON
|
|
8
|
+
- **Flexible templating**: Liquid, Handlebars, EJS - single file or composable
|
|
9
|
+
- **LLM enhancement** (optional): Summarize, categorize, enhance descriptions, generate release notes
|
|
10
|
+
- **Monorepo support**: Root aggregation, per-package changelogs, or both
|
|
11
|
+
- **Multiple outputs**: Markdown, JSON, GitHub Releases API
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g changelog-creator
|
|
17
|
+
# or
|
|
18
|
+
pnpm add -g changelog-creator
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Quick Start
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Pipe from package-versioner
|
|
25
|
+
npx package-versioner --json | changelog-creator
|
|
26
|
+
|
|
27
|
+
# From file
|
|
28
|
+
changelog-creator --input version-data.json
|
|
29
|
+
|
|
30
|
+
# With LLM enhancement
|
|
31
|
+
changelog-creator --input version-data.json --llm-provider openai --llm-model gpt-4o-mini
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## CLI Commands
|
|
35
|
+
|
|
36
|
+
### `changelog-creator generate` (default)
|
|
37
|
+
|
|
38
|
+
Generate changelog from input data.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
changelog-creator [options]
|
|
42
|
+
|
|
43
|
+
Options:
|
|
44
|
+
-i, --input <file> Input file (default: stdin)
|
|
45
|
+
-o, --output <spec> Output spec (format:file)
|
|
46
|
+
-t, --template <path> Template file or directory
|
|
47
|
+
-e, --engine <engine> Template engine (handlebars|liquid|ejs)
|
|
48
|
+
--monorepo <mode> Monorepo mode (root|packages|both)
|
|
49
|
+
--llm-provider <provider> LLM provider
|
|
50
|
+
--llm-model <model> LLM model
|
|
51
|
+
--llm-tasks <tasks> Comma-separated LLM tasks
|
|
52
|
+
--no-llm Disable LLM processing
|
|
53
|
+
--config <path> Config file path
|
|
54
|
+
--dry-run Preview without writing
|
|
55
|
+
--regenerate Regenerate entire changelog
|
|
56
|
+
-v, --verbose Increase verbosity
|
|
57
|
+
-q, --quiet Suppress non-error output
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### `changelog-creator init`
|
|
61
|
+
|
|
62
|
+
Create a default configuration file.
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
changelog-creator init [--force]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### `changelog-creator auth <provider>`
|
|
69
|
+
|
|
70
|
+
Configure API key for an LLM provider.
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
changelog-creator auth openai --key sk-...
|
|
74
|
+
changelog-creator auth anthropic
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### `changelog-creator providers`
|
|
78
|
+
|
|
79
|
+
List available LLM providers.
|
|
80
|
+
|
|
81
|
+
## Configuration
|
|
82
|
+
|
|
83
|
+
Create `changelog.config.json` in your project root:
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"output": [
|
|
88
|
+
{ "format": "markdown", "file": "CHANGELOG.md" }
|
|
89
|
+
],
|
|
90
|
+
"updateStrategy": "prepend",
|
|
91
|
+
"templates": {
|
|
92
|
+
"path": "./templates/",
|
|
93
|
+
"engine": "liquid"
|
|
94
|
+
},
|
|
95
|
+
"llm": {
|
|
96
|
+
"provider": "openai",
|
|
97
|
+
"model": "gpt-4o-mini",
|
|
98
|
+
"tasks": {
|
|
99
|
+
"summarize": true,
|
|
100
|
+
"enhance": true
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Config Locations (precedence)
|
|
107
|
+
|
|
108
|
+
1. `CHANGELOG_CONFIG_CONTENT` env var
|
|
109
|
+
2. `--config` CLI flag
|
|
110
|
+
3. `changelog.config.json` in project
|
|
111
|
+
4. `~/.config/changelog-creator/config.json`
|
|
112
|
+
|
|
113
|
+
## Input Sources
|
|
114
|
+
|
|
115
|
+
### package-versioner JSON
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
npx package-versioner --json | changelog-creator
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Git Log
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
changelog-creator --input-source git-log --from v1.0.0 --to HEAD
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Manual JSON
|
|
128
|
+
|
|
129
|
+
```json
|
|
130
|
+
{
|
|
131
|
+
"packages": [{
|
|
132
|
+
"packageName": "my-app",
|
|
133
|
+
"version": "1.2.0",
|
|
134
|
+
"entries": [
|
|
135
|
+
{ "type": "added", "description": "New feature" }
|
|
136
|
+
]
|
|
137
|
+
}]
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Templates
|
|
142
|
+
|
|
143
|
+
### Single File
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
changelog-creator --template ./my-changelog.liquid
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Composable
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
changelog-creator --template ./templates/
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Directory structure:
|
|
156
|
+
```
|
|
157
|
+
templates/
|
|
158
|
+
├── document.liquid
|
|
159
|
+
├── version.liquid
|
|
160
|
+
└── entry.liquid
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Built-in Templates
|
|
164
|
+
|
|
165
|
+
- `keep-a-changelog` - Default, Keep a Changelog format
|
|
166
|
+
- `angular` - Angular-style changelog
|
|
167
|
+
- `github-release` - GitHub release notes
|
|
168
|
+
|
|
169
|
+
## LLM Providers
|
|
170
|
+
|
|
171
|
+
| Provider | Config | Notes |
|
|
172
|
+
|----------|--------|-------|
|
|
173
|
+
| OpenAI | `openai` | Requires `OPENAI_API_KEY` |
|
|
174
|
+
| Anthropic | `anthropic` | Requires `ANTHROPIC_API_KEY` |
|
|
175
|
+
| Ollama | `ollama` | Local, no API key needed |
|
|
176
|
+
| OpenAI-Compatible | `openai-compatible` | Any OpenAI-compatible endpoint |
|
|
177
|
+
|
|
178
|
+
### LLM Tasks
|
|
179
|
+
|
|
180
|
+
| Task | Description |
|
|
181
|
+
|------|-------------|
|
|
182
|
+
| `enhance` | Improve entry descriptions |
|
|
183
|
+
| `summarize` | Create version summary |
|
|
184
|
+
| `categorize` | Group entries by category |
|
|
185
|
+
| `releaseNotes` | Generate release notes |
|
|
186
|
+
|
|
187
|
+
## Monorepo Support
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# Root changelog only (aggregates all packages)
|
|
191
|
+
changelog-creator --monorepo root
|
|
192
|
+
|
|
193
|
+
# Per-package changelogs
|
|
194
|
+
changelog-creator --monorepo packages
|
|
195
|
+
|
|
196
|
+
# Both
|
|
197
|
+
changelog-creator --monorepo both
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Output Formats
|
|
201
|
+
|
|
202
|
+
### Markdown
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
changelog-creator -o markdown:CHANGELOG.md
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### JSON
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
changelog-creator -o json:changelog.json
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### GitHub Release
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
changelog-creator -o github-release
|
|
218
|
+
# Requires GITHUB_TOKEN env var
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## License
|
|
222
|
+
|
|
223
|
+
MIT
|