@entro314labs/ai-changelog-generator 3.6.0 → 3.6.1
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/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "ai-changelog-generator",
|
|
4
4
|
"display_name": "AI Changelog Generator",
|
|
5
|
-
"version": "3.6.
|
|
5
|
+
"version": "3.6.1",
|
|
6
6
|
"description": "AI-powered changelog generator with MCP server support - works with most providers, online and local models",
|
|
7
7
|
"long_description": "Generate intelligent changelogs from git commits using AI. Supports multiple providers including OpenAI, Claude, Gemini, Ollama, and LM Studio. Perfect for automating release documentation with smart commit analysis and categorization.\n\nFeatures:\n- Automatic changelog generation from git commits\n- Working directory change analysis\n- Multiple AI provider support (OpenAI, Azure, Claude, Gemini, Ollama, LM Studio)\n- Interactive and batch modes\n- Repository health analysis\n- Branch analysis and recommendations\n- Commit categorization and impact assessment",
|
|
8
8
|
"author": {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entro314labs/ai-changelog-generator",
|
|
3
3
|
"displayName": "AI Changelog Generator",
|
|
4
|
-
"version": "3.6.
|
|
4
|
+
"version": "3.6.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "AI-powered changelog generator with MCP server support - works with most providers, online and local models",
|
|
7
7
|
"main": "src/ai-changelog-generator.js",
|
|
@@ -144,7 +144,6 @@
|
|
|
144
144
|
"test:mcp": "vitest run test/mcp.test.js",
|
|
145
145
|
"test:styling": "vitest run test/cli-ui.test.js test/colors.test.js test/styling-integration.test.js",
|
|
146
146
|
"test:styling-e2e": "vitest run test/cli-styling-e2e.test.js --testTimeout=60000",
|
|
147
|
-
"test:legacy": "node test/test-runner.js comprehensive",
|
|
148
147
|
"test:git": "node src/domains/git/git.service.js info",
|
|
149
148
|
"setup": "node scripts/setup-azure-openai.js",
|
|
150
149
|
"providers:test": "node test/test-providers.js",
|
|
@@ -212,7 +212,7 @@ export class ChangelogOrchestrator {
|
|
|
212
212
|
await this.ensureInitialized()
|
|
213
213
|
|
|
214
214
|
// Check for interactive environment
|
|
215
|
-
if (!process.stdin.isTTY
|
|
215
|
+
if (!(process.stdin.isTTY || process.env.CI)) {
|
|
216
216
|
console.log(colors.warningMessage('Interactive mode requires a TTY terminal.'))
|
|
217
217
|
return { interactive: false, status: 'skipped' }
|
|
218
218
|
}
|
|
@@ -36,10 +36,10 @@ export class WorkspaceChangelogService extends ChangelogService {
|
|
|
36
36
|
const status = {
|
|
37
37
|
staged: [],
|
|
38
38
|
unstaged: [],
|
|
39
|
-
untracked: []
|
|
39
|
+
untracked: [],
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
changes.forEach(change => {
|
|
42
|
+
changes.forEach((change) => {
|
|
43
43
|
const statusCode = change.status || '??'
|
|
44
44
|
if (statusCode.startsWith('??')) {
|
|
45
45
|
status.untracked.push(change.filePath)
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* Provides Model Context Protocol interface for changelog generation
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
import { execSync } from 'node:child_process'
|
|
8
9
|
import fs from 'node:fs'
|
|
9
10
|
import path, { dirname } from 'node:path'
|
|
10
11
|
import process from 'node:process'
|
|
11
12
|
import { fileURLToPath } from 'node:url'
|
|
12
|
-
import { execSync } from 'node:child_process'
|
|
13
13
|
|
|
14
14
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js'
|
|
15
15
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
@@ -332,7 +332,7 @@ class AIChangelogMCPServer {
|
|
|
332
332
|
source: 'working-directory',
|
|
333
333
|
filesProcessed: result.filesProcessed,
|
|
334
334
|
filesSkipped: result.filesSkipped,
|
|
335
|
-
}
|
|
335
|
+
},
|
|
336
336
|
}
|
|
337
337
|
}
|
|
338
338
|
} else {
|
|
@@ -346,8 +346,8 @@ class AIChangelogMCPServer {
|
|
|
346
346
|
metadata: {
|
|
347
347
|
version,
|
|
348
348
|
since,
|
|
349
|
-
source: 'commits'
|
|
350
|
-
}
|
|
349
|
+
source: 'commits',
|
|
350
|
+
},
|
|
351
351
|
}
|
|
352
352
|
}
|
|
353
353
|
}
|
|
@@ -391,7 +391,10 @@ class AIChangelogMCPServer {
|
|
|
391
391
|
|
|
392
392
|
switch (analysisType) {
|
|
393
393
|
case 'health':
|
|
394
|
-
result =
|
|
394
|
+
result =
|
|
395
|
+
await this.changelogOrchestrator.gitService.assessRepositoryHealth(
|
|
396
|
+
includeRecommendations
|
|
397
|
+
)
|
|
395
398
|
break
|
|
396
399
|
case 'commits':
|
|
397
400
|
result = await this.changelogOrchestrator.analysisEngine.analyzeRecentCommits(commitLimit)
|
|
@@ -1854,7 +1854,9 @@ export function handleUnifiedOutput(data, config) {
|
|
|
1854
1854
|
}
|
|
1855
1855
|
} else if (!silent) {
|
|
1856
1856
|
if (dryRun && outputFile) {
|
|
1857
|
-
console.log(
|
|
1857
|
+
console.log(
|
|
1858
|
+
colors.infoMessage(`[DRY RUN] Would save changelog to: ${colors.file(outputFile)}`)
|
|
1859
|
+
)
|
|
1858
1860
|
}
|
|
1859
1861
|
console.log(jsonOutput)
|
|
1860
1862
|
}
|
|
@@ -1876,7 +1878,9 @@ export function handleUnifiedOutput(data, config) {
|
|
|
1876
1878
|
}
|
|
1877
1879
|
} else if (!silent) {
|
|
1878
1880
|
if (dryRun && outputFile) {
|
|
1879
|
-
console.log(
|
|
1881
|
+
console.log(
|
|
1882
|
+
colors.infoMessage(`[DRY RUN] Would save changelog to: ${colors.file(outputFile)}`)
|
|
1883
|
+
)
|
|
1880
1884
|
}
|
|
1881
1885
|
console.log(markdownOutput)
|
|
1882
1886
|
}
|