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.
Files changed (2) hide show
  1. package/dist/index.js +31 -3
  2. 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, json (default: markdown)
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": "0.5.0",
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": "0.5.0",
33
- "@cullit/config": "0.5.0"
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",