Skip to content

Commit d270b67

Browse files
caio-pizzolsuperdoc-oss-port[bot]
authored andcommitted
feat: add package-scoped AI release notes to all six public packages (#508)
Upgrades semantic-release-ai-notes to 0.4.0 in superdoc/public and configures scope on each package's stable-branch notes plugin, reusing the same path arrays already passed to patch-commit-filter.cjs for commit/version selection. This narrows the AI's diff exploration and gives it the package name, audience, and direct-vs-inherited guidance so release notes for e.g. the CLI stop reading like the VS Code extension's. Ported-From-Source-Repo: superdoc/orbit Ported-From-Source-Commit: a72258382a73c6a107f078343cd2b78af21af3dd Ported-Public-Prefix: superdoc/public
1 parent 721f1cd commit d270b67

9 files changed

Lines changed: 164 additions & 90 deletions

File tree

apps/cli/.releaserc.cjs

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const {
1212
*
1313
* Keep in sync with .github/workflows/release-cli.yml paths: trigger.
1414
*/
15-
require('../../scripts/semantic-release/patch-commit-filter.cjs')([
15+
const RELEASE_PATHS = [
1616
'apps/cli',
1717
'packages/document-api',
1818
'packages/superdoc',
@@ -22,7 +22,9 @@ require('../../scripts/semantic-release/patch-commit-filter.cjs')([
2222
'packages/preset-geometry',
2323
'shared',
2424
'pnpm-workspace.yaml',
25-
]);
25+
];
26+
27+
require('../../scripts/semantic-release/patch-commit-filter.cjs')(RELEASE_PATHS);
2628

2729
const branch = process.env.GITHUB_REF_NAME || process.env.CI_COMMIT_BRANCH;
2830

@@ -40,7 +42,21 @@ const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
4042
const shouldCommentOnLinearRelease = true;
4143

4244
// Use AI-powered notes for stable releases, conventional generator for prereleases
43-
const notesPlugin = isPrerelease ? createReleaseNotesGenerator() : ['semantic-release-ai-notes', { style: 'concise' }];
45+
const notesPlugin = isPrerelease
46+
? createReleaseNotesGenerator()
47+
: [
48+
'semantic-release-ai-notes',
49+
{
50+
style: 'concise',
51+
scope: {
52+
name: 'SuperDoc CLI',
53+
paths: RELEASE_PATHS,
54+
audience: 'Developers using the SuperDoc CLI to convert and process documents from the command line',
55+
instructions:
56+
'This CLI wraps the document engine. Only mention engine changes when they change CLI commands, output, or supported document operations.',
57+
},
58+
},
59+
];
4460

4561
const config = {
4662
branches,

apps/mcp/.releaserc.cjs

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const {
1414
* Keep in sync with .github/workflows/release-mcp.yml paths and
1515
* .github/package-impact-map.md.
1616
*/
17-
require('../../scripts/semantic-release/patch-commit-filter.cjs')([
17+
const RELEASE_PATHS = [
1818
'apps/mcp',
1919
'packages/sdk',
2020
'apps/cli',
@@ -26,7 +26,9 @@ require('../../scripts/semantic-release/patch-commit-filter.cjs')([
2626
'packages/preset-geometry',
2727
'shared',
2828
'pnpm-workspace.yaml',
29-
]);
29+
];
30+
31+
require('../../scripts/semantic-release/patch-commit-filter.cjs')(RELEASE_PATHS);
3032

3133
const branch = process.env.GITHUB_REF_NAME || process.env.CI_COMMIT_BRANCH;
3234

@@ -44,7 +46,21 @@ const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
4446
const shouldCommentOnLinearRelease = true;
4547

4648
// Use AI-powered notes for stable releases, conventional generator for prereleases
47-
const notesPlugin = isPrerelease ? createReleaseNotesGenerator() : ['semantic-release-ai-notes', { style: 'concise' }];
49+
const notesPlugin = isPrerelease
50+
? createReleaseNotesGenerator()
51+
: [
52+
'semantic-release-ai-notes',
53+
{
54+
style: 'concise',
55+
scope: {
56+
name: 'SuperDoc MCP',
57+
paths: RELEASE_PATHS,
58+
audience: 'Developers and AI agents using the SuperDoc MCP server tools',
59+
instructions:
60+
'This server wraps the SDK and document engine as MCP tools. Only mention SDK or engine changes when they change tool behavior, schemas, or supported operations.',
61+
},
62+
},
63+
];
4864

4965
const config = {
5066
branches,

apps/vscode-ext/.releaserc.cjs

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const {
1313
*
1414
* Keep in sync with .github/workflows/release-vscode-ext.yml paths: trigger.
1515
*/
16-
require('../../scripts/semantic-release/patch-commit-filter.cjs')([
16+
const RELEASE_PATHS = [
1717
'apps/vscode-ext',
1818
'packages/superdoc',
1919
'packages/super-editor',
@@ -22,7 +22,9 @@ require('../../scripts/semantic-release/patch-commit-filter.cjs')([
2222
'packages/preset-geometry',
2323
'shared',
2424
'pnpm-workspace.yaml',
25-
]);
25+
];
26+
27+
require('../../scripts/semantic-release/patch-commit-filter.cjs')(RELEASE_PATHS);
2628

2729
const branch = process.env.GITHUB_REF_NAME || process.env.CI_COMMIT_BRANCH;
2830

@@ -40,7 +42,21 @@ const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
4042
const shouldCommentOnLinearRelease = true;
4143

4244
// Use AI-powered notes for stable releases, conventional generator for prereleases
43-
const notesPlugin = isPrerelease ? createReleaseNotesGenerator() : ['semantic-release-ai-notes', { style: 'concise' }];
45+
const notesPlugin = isPrerelease
46+
? createReleaseNotesGenerator()
47+
: [
48+
'semantic-release-ai-notes',
49+
{
50+
style: 'concise',
51+
scope: {
52+
name: 'SuperDoc for VS Code',
53+
paths: RELEASE_PATHS,
54+
audience: 'VS Code users editing documents with the SuperDoc extension',
55+
instructions:
56+
'This extension bundles the SuperDoc editor. Only mention editor/engine changes when they change what a VS Code user sees or can do inside the editor.',
57+
},
58+
},
59+
];
4460

4561
const config = {
4662
branches,

packages/react/.releaserc.cjs

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const {
1313
* When react migrates `superdoc` to peerDependencies, narrow this to
1414
* packages/react only. See .github/package-impact-map.md.
1515
*/
16-
require('../../scripts/semantic-release/patch-commit-filter.cjs')([
16+
const RELEASE_PATHS = [
1717
'packages/react',
1818
'packages/superdoc',
1919
'packages/super-editor',
@@ -22,7 +22,9 @@ require('../../scripts/semantic-release/patch-commit-filter.cjs')([
2222
'packages/preset-geometry',
2323
'shared',
2424
'pnpm-workspace.yaml',
25-
]);
25+
];
26+
27+
require('../../scripts/semantic-release/patch-commit-filter.cjs')(RELEASE_PATHS);
2628

2729
const branch = process.env.GITHUB_REF_NAME || process.env.CI_COMMIT_BRANCH;
2830

@@ -40,7 +42,21 @@ const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
4042
const shouldCommentOnLinearRelease = true;
4143

4244
// Use AI-powered notes for stable releases, conventional generator for prereleases
43-
const notesPlugin = isPrerelease ? createReleaseNotesGenerator() : ['semantic-release-ai-notes', { style: 'concise' }];
45+
const notesPlugin = isPrerelease
46+
? createReleaseNotesGenerator()
47+
: [
48+
'semantic-release-ai-notes',
49+
{
50+
style: 'concise',
51+
scope: {
52+
name: 'SuperDoc React',
53+
paths: RELEASE_PATHS,
54+
audience: 'React developers embedding the @superdoc-dev/react component',
55+
instructions:
56+
"This package wraps the SuperDoc editor for React. Only mention editor changes when they affect the embedded editor's behavior or the component's props and API.",
57+
},
58+
},
59+
];
4460

4561
const config = {
4662
branches,

packages/sdk/.releaserc.cjs

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const {
1010
* This shared helper patches git-log-parser to expand commit analysis to
1111
* dependency paths. It REPLACES semantic-release-commit-filter.
1212
*/
13-
require('../../scripts/semantic-release/patch-commit-filter.cjs')([
13+
const RELEASE_PATHS = [
1414
'packages/sdk',
1515
'apps/cli',
1616
'packages/document-api',
@@ -21,7 +21,9 @@ require('../../scripts/semantic-release/patch-commit-filter.cjs')([
2121
'packages/preset-geometry',
2222
'shared',
2323
'pnpm-workspace.yaml',
24-
]);
24+
];
25+
26+
require('../../scripts/semantic-release/patch-commit-filter.cjs')(RELEASE_PATHS);
2527

2628
const branch = process.env.GITHUB_REF_NAME || process.env.CI_COMMIT_BRANCH;
2729
const isCiRelease = Boolean(process.env.CI);
@@ -40,7 +42,22 @@ const shouldPublishGitHubRelease = Boolean(branch) && !isPrerelease;
4042
const shouldCommentOnLinearRelease = true;
4143

4244
// Use AI-powered notes for stable releases, conventional generator for prereleases
43-
const notesPlugin = isPrerelease ? createReleaseNotesGenerator() : ['semantic-release-ai-notes', { style: 'concise' }];
45+
const notesPlugin = isPrerelease
46+
? createReleaseNotesGenerator()
47+
: [
48+
'semantic-release-ai-notes',
49+
{
50+
style: 'concise',
51+
scope: {
52+
name: 'SuperDoc SDK',
53+
paths: RELEASE_PATHS,
54+
audience:
55+
'Developers integrating the SuperDoc SDK (Node and Python bindings) into their own backend or CLI tooling',
56+
instructions:
57+
"The SDK wraps the CLI and document engine. Only mention CLI or engine changes when they change the SDK's API, output, or supported operations.",
58+
},
59+
},
60+
];
4461

4562
const config = {
4663
branches,

packages/superdoc/.releaserc.cjs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,21 @@ const shouldCommentOnLinearRelease = true;
6969

7070
// Use AI-powered notes for stable releases, conventional generator for prereleases
7171
const notesPlugin =
72-
isLocalPreview || isPrerelease ? createReleaseNotesGenerator() : ['semantic-release-ai-notes', { style: 'concise' }];
72+
isLocalPreview || isPrerelease
73+
? createReleaseNotesGenerator()
74+
: [
75+
'semantic-release-ai-notes',
76+
{
77+
style: 'concise',
78+
scope: {
79+
name: 'SuperDoc',
80+
paths: SUPERDOC_PACKAGES,
81+
audience: 'Developers embedding the SuperDoc editor in their own applications',
82+
instructions:
83+
'packages/super-editor, packages/layout-engine, packages/word-layout, and packages/preset-geometry are internal engine packages bundled directly into SuperDoc. Treat their changes as part of the editor itself, not as an external dependency.',
84+
},
85+
},
86+
];
7387

7488
const config = {
7589
branches,

pnpm-lock.yaml

Lines changed: 10 additions & 50 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ catalog:
107107
rollup-plugin-copy: ^3.5.0
108108
rollup-plugin-visualizer: ^5.12.0
109109
semantic-release: ^24.2.7
110-
semantic-release-ai-notes: ^0.2.3
110+
semantic-release-ai-notes: ^0.4.0
111111
semantic-release-commit-filter: ^1.0.2
112112
sirv: ^3.0.2
113113
tippy.js: ^6.3.7

0 commit comments

Comments
 (0)