cullit 0.5.0 → 1.4.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/dist/index.js +31 -3
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -47,11 +47,12 @@ var HELP = `
|
|
|
47
47
|
--from, -f Start ref, JQL query, or Linear filter
|
|
48
48
|
--to, -t End ref (defaults to HEAD)
|
|
49
49
|
--config, -c Path to config file (default: .cullit.yml)
|
|
50
|
-
--format Output format: markdown, html,
|
|
50
|
+
--format Output format: markdown, html, html-dark, html-minimal, html-edgy, json
|
|
51
51
|
--dry-run Generate but don't publish
|
|
52
52
|
--provider Override AI provider (anthropic, openai, gemini, ollama, openclaw, none)
|
|
53
|
-
--source Override source type (local, jira, linear)
|
|
53
|
+
--source Override source type (local, jira, linear, gitlab, bitbucket)
|
|
54
54
|
--audience Override audience (developer, end-user, executive)
|
|
55
|
+
--tone Override tone (professional, casual, terse, edgy, hype, snarky)
|
|
55
56
|
--verbose Show detailed output
|
|
56
57
|
--quiet Suppress all output except errors
|
|
57
58
|
|
|
@@ -62,6 +63,8 @@ var HELP = `
|
|
|
62
63
|
$ cullit generate --from HEAD~5 --provider none # no AI key needed
|
|
63
64
|
$ cullit generate --source jira --from "project = PROJ" --provider anthropic
|
|
64
65
|
$ cullit generate --source linear --from "team:ENG" --provider openai
|
|
66
|
+
$ cullit generate --source gitlab --from v1.0.0 --to v1.1.0
|
|
67
|
+
$ cullit generate --from HEAD~5 --tone edgy --format html-edgy
|
|
65
68
|
$ cullit init
|
|
66
69
|
`;
|
|
67
70
|
async function main() {
|
|
@@ -134,6 +137,7 @@ async function runGenerate(from, to, opts) {
|
|
|
134
137
|
const VALID_PROVIDERS = AI_PROVIDERS;
|
|
135
138
|
const VALID_AUDIENCES = AUDIENCES;
|
|
136
139
|
const VALID_SOURCES = SOURCE_TYPES;
|
|
140
|
+
const VALID_TONES = TONES;
|
|
137
141
|
if (opts.provider) {
|
|
138
142
|
if (!VALID_PROVIDERS.includes(opts.provider)) {
|
|
139
143
|
console.error(`
|
|
@@ -154,6 +158,16 @@ async function runGenerate(from, to, opts) {
|
|
|
154
158
|
}
|
|
155
159
|
config.ai.audience = opts.audience;
|
|
156
160
|
}
|
|
161
|
+
if (opts.tone) {
|
|
162
|
+
if (!VALID_TONES.includes(opts.tone)) {
|
|
163
|
+
console.error(`
|
|
164
|
+
\u2717 Invalid tone: ${opts.tone}`);
|
|
165
|
+
console.error(` Valid tones: ${VALID_TONES.join(", ")}`);
|
|
166
|
+
process.exitCode = 1;
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
config.ai.tone = opts.tone;
|
|
170
|
+
}
|
|
157
171
|
if (opts.model) config.ai.model = opts.model;
|
|
158
172
|
if (opts.source) {
|
|
159
173
|
if (!VALID_SOURCES.includes(opts.source)) {
|
|
@@ -269,7 +283,7 @@ async function interactiveInit() {
|
|
|
269
283
|
rl.close();
|
|
270
284
|
process.exit(1);
|
|
271
285
|
}
|
|
272
|
-
const source = await ask(rl, " Source type (local/jira/linear) [local]: ") || "local";
|
|
286
|
+
const source = await ask(rl, " Source type (local/jira/linear/gitlab/bitbucket) [local]: ") || "local";
|
|
273
287
|
if (!VALID_SOURCES.includes(source)) {
|
|
274
288
|
console.error(`
|
|
275
289
|
\u2717 Invalid source: ${source}. Must be one of: ${VALID_SOURCES.join(", ")}`);
|
|
@@ -315,6 +329,20 @@ jira:
|
|
|
315
329
|
linear:
|
|
316
330
|
# Set LINEAR_API_KEY in your environment`);
|
|
317
331
|
}
|
|
332
|
+
if (source === "gitlab") {
|
|
333
|
+
sections.push(`
|
|
334
|
+
gitlab:
|
|
335
|
+
projectId: "12345" # GitLab project ID
|
|
336
|
+
# domain: gitlab.com # optional: self-hosted domain
|
|
337
|
+
# Set GITLAB_TOKEN in your environment`);
|
|
338
|
+
}
|
|
339
|
+
if (source === "bitbucket") {
|
|
340
|
+
sections.push(`
|
|
341
|
+
bitbucket:
|
|
342
|
+
workspace: your-workspace
|
|
343
|
+
repoSlug: your-repo
|
|
344
|
+
# Set BITBUCKET_USERNAME and BITBUCKET_APP_PASSWORD in your environment`);
|
|
345
|
+
}
|
|
318
346
|
const yml = `# Cullit Configuration
|
|
319
347
|
# https://cullit.io
|
|
320
348
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cullit",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Cull the noise from your releases. AI-powered release notes from the CLI.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"node": ">=18"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cullit/core": "
|
|
33
|
-
"@cullit/config": "
|
|
32
|
+
"@cullit/core": "1.4.0",
|
|
33
|
+
"@cullit/config": "1.4.0"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
36
|
"build": "tsup src/index.ts --format esm --clean",
|