From 277abc20b4df5186474d54937b4436c7d9c68e79 Mon Sep 17 00:00:00 2001 From: alexXxSG Date: Thu, 2 Jul 2026 09:43:50 +0200 Subject: [PATCH 1/3] update PR naming convention to remove parentheses around ID --- content/.agents/skills/ob-pullrequest-az/SKILL.md | 4 ++-- content/.agents/skills/ob-pullrequest-gh/SKILL.md | 4 ++-- content/.agents/skills/ob-userstory-az/SKILL.md | 2 +- src/presets/ob-archive-az.md | 4 ++-- src/presets/ob-archive-gh.md | 4 ++-- src/presets/ob-archive-none.md | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/content/.agents/skills/ob-pullrequest-az/SKILL.md b/content/.agents/skills/ob-pullrequest-az/SKILL.md index c46df46..e622a50 100644 --- a/content/.agents/skills/ob-pullrequest-az/SKILL.md +++ b/content/.agents/skills/ob-pullrequest-az/SKILL.md @@ -39,7 +39,7 @@ Save to: `openspec/changes/{change-name}/images/{feature}.png` ```bash git add . -git commit -m "feat({scope}): {description} (#{id})" +git commit -m "feat({scope}): {description} ({id})" git push origin feature/{id}-{slug} ``` @@ -50,7 +50,7 @@ az repos pr create \ --repository {repo} \ --source-branch feature/{id}-{slug} \ --target-branch main \ - --title "feat({scope}): {title} (#{id})" \ + --title "feat({scope}): {title} ({id})" \ --description "{description}" ``` diff --git a/content/.agents/skills/ob-pullrequest-gh/SKILL.md b/content/.agents/skills/ob-pullrequest-gh/SKILL.md index debd772..0c42772 100644 --- a/content/.agents/skills/ob-pullrequest-gh/SKILL.md +++ b/content/.agents/skills/ob-pullrequest-gh/SKILL.md @@ -39,7 +39,7 @@ Save to: `openspec/changes/{change-name}/images/{feature}.png` ```bash git add . -git commit -m "feat({scope}): {description} (#{id})" +git commit -m "feat({scope}): {description} ({id})" git push origin feature/{id}-{slug} ``` @@ -49,7 +49,7 @@ git push origin feature/{id}-{slug} gh pr create \ --base main \ --head feature/{slug} \ - --title "feat({scope}): {title} (#{id})" \ + --title "feat({scope}): {title} ({id})" \ --body "{description}" ``` diff --git a/content/.agents/skills/ob-userstory-az/SKILL.md b/content/.agents/skills/ob-userstory-az/SKILL.md index a9cbe19..dcdab95 100644 --- a/content/.agents/skills/ob-userstory-az/SKILL.md +++ b/content/.agents/skills/ob-userstory-az/SKILL.md @@ -143,7 +143,7 @@ https://dev.azure.com/{org}/{project}/_git/{repo}/pullrequest/{pr-id} ``` ## User Story Parsed -**Work Item:** #{id} +**Work Item:** {id} **Title:** {title} **Type:** User Story **Iteration:** {sprint} diff --git a/src/presets/ob-archive-az.md b/src/presets/ob-archive-az.md index a1c026f..5cff01e 100644 --- a/src/presets/ob-archive-az.md +++ b/src/presets/ob-archive-az.md @@ -53,14 +53,14 @@ ```bash git add -A - git commit -m "archive: {title} ({id})" + git commit -m "archive: {title}" git push origin archive/{id}-{slug} az repos pr create \ --repository {repo} \ --source-branch refs/heads/archive/{id}-{slug} \ --target-branch refs/heads/main \ - --title "archive: {title} ({id})" \ + --title "archive: {title}" \ --description "Archive SDD artifacts for us-{id} after merge of {sourceRefName}." \ --auto-complete ``` diff --git a/src/presets/ob-archive-gh.md b/src/presets/ob-archive-gh.md index ae6e5d0..380fd89 100644 --- a/src/presets/ob-archive-gh.md +++ b/src/presets/ob-archive-gh.md @@ -53,14 +53,14 @@ ```bash git add -A - git commit -m "archive: {title} ({id})" + git commit -m "archive: {title}" git push origin archive/{id}-{slug} gh pr create \ --repo {owner}/{repo} \ --base main \ --head archive/{id}-{slug} \ - --title "archive: {title} ({id})" \ + --title "archive: {title}" \ --body "Archive SDD artifacts for {id} after merge." ``` diff --git a/src/presets/ob-archive-none.md b/src/presets/ob-archive-none.md index 8ca37dd..b855590 100644 --- a/src/presets/ob-archive-none.md +++ b/src/presets/ob-archive-none.md @@ -40,7 +40,7 @@ ```bash git add -A - git commit -m "archive: {title} ({id})" + git commit -m "archive: {title}" ``` No PR is created in this mode. Leave the `archive/{id}-{slug}` branch for the user to merge or push manually if they choose. From 3d930e95c0928fdeedb80045b9c1d14870b24984 Mon Sep 17 00:00:00 2001 From: alexXxSG Date: Thu, 2 Jul 2026 09:44:20 +0200 Subject: [PATCH 2/3] bump version to 1.1.0 in package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f0c146d..a5b05a6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencode-onboard", - "version": "1.0.0", + "version": "1.1.0", "description": "Prepare any codebase for AI. Wires OpenCode, OpenSpec, codegraph, and basic-memory into a multi-agent development workflow powered by native parallel subagents.", "keywords": [ "opencode", @@ -48,4 +48,4 @@ "vitest": { "environment": "node" } -} \ No newline at end of file +} From 59ffc95756ef79eea119945e2780c1e150c7354c Mon Sep 17 00:00:00 2001 From: alexXxSG Date: Thu, 2 Jul 2026 12:40:09 +0200 Subject: [PATCH 3/3] update archive scripts to use {change-dir} for consistency in naming convention --- src/presets/ob-archive-az.md | 17 +++++++++-------- src/presets/ob-archive-gh.md | 17 +++++++++-------- src/presets/ob-archive-none.md | 13 +++++++------ 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/src/presets/ob-archive-az.md b/src/presets/ob-archive-az.md index 5cff01e..b4407ad 100644 --- a/src/presets/ob-archive-az.md +++ b/src/presets/ob-archive-az.md @@ -1,9 +1,10 @@ 2. **Find the oldest change with a completed PR** List unarchived changes (top-level only, excludes `archive/`): + `{change-dir}` is the directory basename (e.g. `us-{id}-{slug}` for changes derived from user stories or `{slug}` for explorations). ```bash - find "$REPO_ROOT/openspec/changes" -mindepth 1 -maxdepth 1 -type d -name 'us-*' | sort + find "$REPO_ROOT/openspec/changes" -mindepth 1 -maxdepth 1 -type d -not -name 'archive' | sort ``` If empty, report a blocker and stop. @@ -14,7 +15,7 @@ az repos pr list --repository {repo} --status completed --query "sort_by(@, &closedDate)[].{name:title,sourceRefName:sourceRefName,closedDate:closedDate,pullRequestId:pullRequestId}" ``` - Match each change to a completed PR using its ID and slug as search hints: + Match each change to a completed PR using its title as search hints: - No match → skip (record as blocked: `no merged PR found`). - One match → eligible. - Multiple matches → ask the user which PR belongs to that change. @@ -27,7 +28,7 @@ ```text Oldest unarchived merged change found: - ID: us-{id}-{slug} + ID: {change-dir} Title: {title from resolved PR} PR ID: {pullRequestId} Merged: {closedDate} @@ -40,7 +41,7 @@ 4. **Archive the change** ```bash - git checkout -b archive/{id}-{slug} + git checkout -b archive/{change-dir} ``` Load `@openspec-archive-change` skill and follow it to archive the change. @@ -54,14 +55,14 @@ ```bash git add -A git commit -m "archive: {title}" - git push origin archive/{id}-{slug} + git push origin archive/{change-dir} az repos pr create \ --repository {repo} \ - --source-branch refs/heads/archive/{id}-{slug} \ + --source-branch refs/heads/archive/{change-dir} \ --target-branch refs/heads/main \ --title "archive: {title}" \ - --description "Archive SDD artifacts for us-{id} after merge of {sourceRefName}." \ + --description "Archive SDD artifacts for {change-dir} after merge of {sourceRefName}." \ --auto-complete ``` @@ -74,7 +75,7 @@ ```text Archive complete - Change ID: us-{id}-{slug} + Change ID: {change-dir} Title: {title} Original PR: {original-pr-link} Archive PR: {archive-pr-link} diff --git a/src/presets/ob-archive-gh.md b/src/presets/ob-archive-gh.md index 380fd89..5e44a08 100644 --- a/src/presets/ob-archive-gh.md +++ b/src/presets/ob-archive-gh.md @@ -1,9 +1,10 @@ 2. **Find the oldest change with a completed PR** List unarchived changes (top-level only, excludes `archive/`): + `{change-dir}` is the directory basename (e.g. `us-{id}-{slug}` for changes derived from user stories or `{slug}` for explorations). ```bash - find "$REPO_ROOT/openspec/changes" -mindepth 1 -maxdepth 1 -type d -name 'us-*' | sort + find "$REPO_ROOT/openspec/changes" -mindepth 1 -maxdepth 1 -type d -not -name 'archive' | sort ``` If empty, report a blocker and stop. @@ -14,7 +15,7 @@ gh pr list --repo {owner}/{repo} --state merged --json title,headRefName,mergedAt,number --jq 'sort_by(.mergedAt) | .[] | {name: .title, sourceRefName: .headRefName, mergedAt: .mergedAt, pullRequestId: .number}' ``` - Match each change to a completed PR using its ID and slug as search hints: + Match each change to a completed PR using its title as search hints: - No match → skip (record as blocked: `no merged PR found`). - One match → eligible. - Multiple matches → ask the user which PR belongs to that change. @@ -27,7 +28,7 @@ ```text Oldest unarchived merged change found: - ID: us-{id}-{slug} + ID: {change-dir} Title: {title from resolved PR} PR ID: {pullRequestId} Merged: {mergedAt} @@ -40,7 +41,7 @@ 4. **Archive the change** ```bash - git checkout -b archive/{id}-{slug} + git checkout -b archive/{change-dir} ``` Load `@openspec-archive-change` skill and follow it to archive the change. @@ -54,14 +55,14 @@ ```bash git add -A git commit -m "archive: {title}" - git push origin archive/{id}-{slug} + git push origin archive/{change-dir} gh pr create \ --repo {owner}/{repo} \ --base main \ - --head archive/{id}-{slug} \ + --head archive/{change-dir} \ --title "archive: {title}" \ - --body "Archive SDD artifacts for {id} after merge." + --body "Archive SDD artifacts for {change-dir} after merge." ``` If work was stashed in step 1, restore it after the PR is created unless the user opts out. @@ -73,7 +74,7 @@ ```text Archive complete - Change ID: us-{id}-{slug} + Change ID: {change-dir} Title: {title} Original PR: {original-pr-link} Archive PR: {archive-pr-link} diff --git a/src/presets/ob-archive-none.md b/src/presets/ob-archive-none.md index b855590..a4593bc 100644 --- a/src/presets/ob-archive-none.md +++ b/src/presets/ob-archive-none.md @@ -1,9 +1,10 @@ 2. **Find the oldest unarchived change** List unarchived changes (top-level only, excludes `archive/`): + `{change-dir}` is the directory basename (e.g. `us-{id}-{slug}` for changes derived from user stories or `{slug}` for explorations). ```bash - find "$REPO_ROOT/openspec/changes" -mindepth 1 -maxdepth 1 -type d -name 'us-*' | sort + find "$REPO_ROOT/openspec/changes" -mindepth 1 -maxdepth 1 -type d -not -name 'archive' | sort ``` If empty, report a blocker and stop. Otherwise select the **oldest** change (by directory creation/sort order) as the candidate. @@ -16,7 +17,7 @@ ```text Oldest unarchived change found: - ID: us-{id}-{slug} + ID: {change-dir} Title: {title from proposal.md} Proceed with archiving? [yes/no] @@ -27,7 +28,7 @@ 4. **Archive the change** ```bash - git checkout -b archive/{id}-{slug} + git checkout -b archive/{change-dir} ``` Load `@openspec-archive-change` skill and follow it to archive the change. @@ -43,7 +44,7 @@ git commit -m "archive: {title}" ``` - No PR is created in this mode. Leave the `archive/{id}-{slug}` branch for the user to merge or push manually if they choose. + No PR is created in this mode. Leave the `archive/{change-dir}` branch for the user to merge or push manually if they choose. If work was stashed in step 1, restore it after the commit unless the user opts out. @@ -54,9 +55,9 @@ ```text Archive complete - Change ID: us-{id}-{slug} + Change ID: {change-dir} Title: {title} - Archive branch: archive/{id}-{slug} + Archive branch: archive/{change-dir} Documentation updates: - ARCHITECTURE.md: {count} changes applied