@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 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