@jspg-ai/coding-bb 0.0.3-beta.6 → 0.0.3-beta.7
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/cbb/lib/install/init.js +60 -23
- package/cbb/lib/openspec/index.js +337 -554
- package/cbb/lib/superpowers/index.js +246 -265
- package/cbb/lib/utils/tar.js +92 -0
- package/cbb/lib/utils/upstream.js +90 -0
- package/config/upstream-mirrors.json +12 -0
- package/openspec/.version +2 -3
- package/openspec/commands/apply.md +189 -175
- package/openspec/commands/archive.md +237 -216
- package/openspec/commands/bulk-archive.md +355 -327
- package/openspec/commands/continue.md +116 -105
- package/openspec/commands/explore.md +230 -199
- package/openspec/commands/ff.md +115 -104
- package/openspec/commands/new.md +74 -63
- package/openspec/commands/onboard.md +557 -548
- package/openspec/commands/propose.md +161 -150
- package/openspec/commands/sync.md +277 -249
- package/openspec/commands/update.md +92 -80
- package/openspec/commands/verify.md +175 -162
- package/openspec/skills/openspec-apply-change/SKILL.md +20 -5
- package/openspec/skills/openspec-archive-change/SKILL.md +30 -8
- package/openspec/skills/openspec-bulk-archive-change/SKILL.md +36 -6
- package/openspec/skills/openspec-continue-change/SKILL.md +14 -2
- package/openspec/skills/openspec-explore/SKILL.md +21 -9
- package/openspec/skills/openspec-ff-change/SKILL.md +14 -2
- package/openspec/skills/openspec-new-change/SKILL.md +13 -1
- package/openspec/skills/openspec-onboard/SKILL.md +49 -39
- package/openspec/skills/openspec-propose/SKILL.md +15 -3
- package/openspec/skills/openspec-sync-specs/SKILL.md +31 -2
- package/openspec/skills/openspec-update-change/SKILL.md +27 -14
- package/openspec/skills/openspec-verify-change/SKILL.md +17 -3
- package/package.json +1 -1
- package/superpowers/.version +4 -4
- package/superpowers/skills/brainstorming/SKILL.md +47 -12
- package/superpowers/skills/brainstorming/scripts/frame-template.html +213 -213
- package/superpowers/skills/brainstorming/scripts/server.cjs +723 -723
- package/superpowers/skills/brainstorming/visual-companion.md +6 -6
- package/superpowers/skills/diagnosing-superpowers/SKILL.md +120 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/analyst-common.md +38 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/cost-and-time.md +28 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/plan-adherence.md +29 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/quality-evidence.md +26 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/repeated-work.md +30 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/request-conflicts.md +20 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/scrub-audit.md +33 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/scrub.md +29 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/similar-session.md +38 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/skill-timeline.md +30 -0
- package/superpowers/skills/diagnosing-superpowers/prompts/stumbles.md +28 -0
- package/superpowers/skills/diagnosing-superpowers/references/context-safety.md +22 -0
- package/superpowers/skills/diagnosing-superpowers/references/github-issues.md +47 -0
- package/superpowers/skills/diagnosing-superpowers/references/redaction-policy.md +34 -0
- package/superpowers/skills/diagnosing-superpowers/references/session-discovery.md +31 -0
- package/superpowers/skills/diagnosing-superpowers/templates/bundle-README.md +77 -0
- package/superpowers/skills/diagnosing-superpowers/templates/case.md +64 -0
- package/superpowers/skills/diagnosing-superpowers/templates/issue.md +51 -0
- package/superpowers/skills/diagnosing-superpowers/templates/report.md +82 -0
- package/superpowers/skills/executing-plans/SKILL.md +350 -41
- package/superpowers/skills/executing-plans/scripts/task-done +52 -0
- package/superpowers/skills/executing-plans/scripts/task-start +28 -0
- package/superpowers/skills/requesting-code-review/SKILL.md +1 -1
- package/superpowers/skills/requesting-code-review/code-reviewer.md +17 -0
- package/superpowers/skills/subagent-driven-development/SKILL.md +18 -18
- package/superpowers/skills/subagent-driven-development/re-review-prompt.md +1 -1
- package/superpowers/skills/subagent-driven-development/scripts/review-package +53 -46
- package/superpowers/skills/subagent-driven-development/scripts/sdd-workspace +82 -40
- package/superpowers/skills/subagent-driven-development/scripts/task-brief +43 -41
- package/superpowers/skills/subagent-driven-development/task-reviewer-prompt.md +2 -2
- package/superpowers/skills/systematic-debugging/root-cause-tracing.md +1 -1
- package/superpowers/skills/test-driven-development/SKILL.md +10 -0
- package/superpowers/skills/using-superpowers/SKILL.md +2 -0
- package/superpowers/skills/using-superpowers/references/claude-code-tools.md +29 -0
- package/superpowers/skills/using-superpowers/references/muse-tools.md +35 -0
- package/superpowers/skills/writing-plans/SKILL.md +30 -9
- package/superpowers/skills/writing-skills/SKILL.md +4 -2
- package/superpowers/skills/writing-skills/graphviz-conventions.dot +171 -171
package/cbb/lib/install/init.js
CHANGED
|
@@ -61,8 +61,8 @@ const adapters = [
|
|
|
61
61
|
require('./claude-code'),
|
|
62
62
|
];
|
|
63
63
|
|
|
64
|
-
// superpowers 部署白名单:仅装 openspec 工作流硬依赖 + 方法论基底(源仓库仍保留全量
|
|
65
|
-
// 供
|
|
64
|
+
// superpowers 部署白名单:仅装 openspec 工作流硬依赖 + 方法论基底(源仓库仍保留全量 15 个,
|
|
65
|
+
// 供 cbbm update --upstream-superpowers 维护;砍掉的与 openspec 工作流重叠或属低频场景)
|
|
66
66
|
const SUPERPOWERS_WHITELIST = [
|
|
67
67
|
'writing-plans', // openspec apply:生成 plan.md(schema.yaml 引用)
|
|
68
68
|
'subagent-driven-development', // openspec apply:执行 plan.md(schema.yaml 引用)
|
|
@@ -1981,11 +1981,50 @@ async function uninstall() {
|
|
|
1981
1981
|
console.log(`\n✅ 卸载完成!共移除 ${removed} 个文件/目录\n`);
|
|
1982
1982
|
}
|
|
1983
1983
|
|
|
1984
|
+
// ── 上游版本检查 ──────────────────────────────────────────────
|
|
1985
|
+
|
|
1986
|
+
/**
|
|
1987
|
+
* 检查 openspec / superpowers 是否有上游新版本(只读,不改动任何文件)。
|
|
1988
|
+
* 供 cbbm check-upstream 调用。
|
|
1989
|
+
*/
|
|
1990
|
+
async function checkUpstream() {
|
|
1991
|
+
const results = await Promise.allSettled([
|
|
1992
|
+
openspec.checkUpstream().then(r => ({ name: 'openspec', ...r })),
|
|
1993
|
+
superpowers.checkUpstream().then(r => ({ name: 'superpowers', ...r })),
|
|
1994
|
+
]);
|
|
1995
|
+
|
|
1996
|
+
let outdated = false;
|
|
1997
|
+
for (const r of results) {
|
|
1998
|
+
if (r.status === 'rejected') {
|
|
1999
|
+
log(`检查失败: ${r.reason.message}`, 'error');
|
|
2000
|
+
continue;
|
|
2001
|
+
}
|
|
2002
|
+
const { name, current, latest, outdated: isOutdated } = r.value;
|
|
2003
|
+
if (!latest) {
|
|
2004
|
+
log(`${name}: 无法获取上游版本`, 'warn');
|
|
2005
|
+
continue;
|
|
2006
|
+
}
|
|
2007
|
+
if (!current) {
|
|
2008
|
+
log(`${name}: 本地无 pin(上游最新 ${latest})`, 'warn');
|
|
2009
|
+
outdated = true;
|
|
2010
|
+
} else if (isOutdated) {
|
|
2011
|
+
log(`${name}: ${current} → ${latest}(有新版本)`, 'warn');
|
|
2012
|
+
outdated = true;
|
|
2013
|
+
} else {
|
|
2014
|
+
log(`${name}: ${current} 已是最新`, 'success');
|
|
2015
|
+
}
|
|
2016
|
+
}
|
|
2017
|
+
|
|
2018
|
+
if (outdated) {
|
|
2019
|
+
log('升级方式:修改对应 .version 的 pin 后,执行 cbbm update --upstream-openspec / --upstream-superpowers', 'info');
|
|
2020
|
+
}
|
|
2021
|
+
}
|
|
2022
|
+
|
|
1984
2023
|
// ── CLI 入口 ──────────────────────────────────────────────
|
|
1985
2024
|
|
|
1986
2025
|
// 入口身份:cbb(用户命令) / cbbm(内部命令,由流程、hook、Agent 技能调用)
|
|
1987
2026
|
const ENTRY = process.env.CBB_ENTRY === 'cbbm' ? 'cbbm' : 'cbb';
|
|
1988
|
-
const INTERNAL_COMMANDS = ['check-update', 'wiki', 'wp'];
|
|
2027
|
+
const INTERNAL_COMMANDS = ['check-update', 'check-upstream', 'wiki', 'wp'];
|
|
1989
2028
|
const UPSTREAM_FLAGS = ['--upstream-superpowers', '--upstream-openspec'];
|
|
1990
2029
|
|
|
1991
2030
|
const args = process.argv.slice(2);
|
|
@@ -2024,11 +2063,11 @@ switch (command) {
|
|
|
2024
2063
|
const upstreamSuperpowers = restArgs.includes('--upstream-superpowers');
|
|
2025
2064
|
const upstreamOpenspec = restArgs.includes('--upstream-openspec');
|
|
2026
2065
|
if (upstreamSuperpowers || upstreamOpenspec) {
|
|
2027
|
-
//
|
|
2066
|
+
// 维护者选项:按 .version 的 pin 重新拉取上游原生内容到本包源仓库(发布流程用)
|
|
2028
2067
|
if (upstreamSuperpowers) {
|
|
2029
2068
|
superpowers.fetchLatestSkills().then(result => {
|
|
2030
2069
|
if (result.skipped) {
|
|
2031
|
-
log(`superpowers skills 已是最新 (${result.
|
|
2070
|
+
log(`superpowers skills 已是最新 (${result.tag})`, 'success');
|
|
2032
2071
|
}
|
|
2033
2072
|
const validation = superpowers.validateSkills();
|
|
2034
2073
|
if (!validation.valid) {
|
|
@@ -2044,22 +2083,13 @@ switch (command) {
|
|
|
2044
2083
|
}
|
|
2045
2084
|
if (upstreamOpenspec) {
|
|
2046
2085
|
openspec.fetchLatestOpenSpec().then(result => {
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
}
|
|
2053
|
-
log(`openspec 工作流完整性校验通过`, 'success');
|
|
2054
|
-
} else {
|
|
2055
|
-
const validation = openspec.validateDeployed();
|
|
2056
|
-
if (!validation.valid) {
|
|
2057
|
-
log(`本地 openspec 工作流不完整,请重新运行 cbb update --upstream-openspec:`, 'error');
|
|
2058
|
-
for (const m of validation.missing) log(` - 缺失 ${m}`, 'error');
|
|
2059
|
-
process.exit(1);
|
|
2060
|
-
}
|
|
2061
|
-
log(`openspec 工作流完整性校验通过`, 'success');
|
|
2086
|
+
const validation = openspec.validateDeployed();
|
|
2087
|
+
if (!validation.valid) {
|
|
2088
|
+
log(`部署不完整,缺失: ${validation.missing.join(', ')}`, 'error');
|
|
2089
|
+
for (const m of validation.missing) log(` - 缺失 ${m}`, 'error');
|
|
2090
|
+
process.exit(1);
|
|
2062
2091
|
}
|
|
2092
|
+
log(`openspec 工作流完整性校验通过`, 'success');
|
|
2063
2093
|
}).catch(err => {
|
|
2064
2094
|
log(`更新失败: ${err.message}`, 'error');
|
|
2065
2095
|
process.exit(1);
|
|
@@ -2082,6 +2112,12 @@ switch (command) {
|
|
|
2082
2112
|
case 'check-update':
|
|
2083
2113
|
require('../utils/check-update.js');
|
|
2084
2114
|
break;
|
|
2115
|
+
case 'check-upstream':
|
|
2116
|
+
checkUpstream().catch(err => {
|
|
2117
|
+
log(err.message, 'error');
|
|
2118
|
+
process.exit(1);
|
|
2119
|
+
});
|
|
2120
|
+
break;
|
|
2085
2121
|
case 'wp':
|
|
2086
2122
|
require('../wiki/index.js').publish(restArgs);
|
|
2087
2123
|
break;
|
|
@@ -2113,11 +2149,12 @@ function showHelp() {
|
|
|
2113
2149
|
@jspg-ai/coding-bb v${pkg.version} — cbbm:内部命令(由流程 / hook / Agent 技能调用)
|
|
2114
2150
|
|
|
2115
2151
|
cbbm check-update 版本检查(用户级 hook 每日自动触发)
|
|
2152
|
+
cbbm check-upstream 检查 openspec / superpowers 是否有上游新版本
|
|
2116
2153
|
cbbm wiki / cbbm wp Wiki 查询与发布(AI 通过技能调用)
|
|
2117
2154
|
|
|
2118
|
-
|
|
2119
|
-
cbbm update --upstream-superpowers
|
|
2120
|
-
cbbm update --upstream-openspec
|
|
2155
|
+
维护者选项(按 .version 的 pin 重新拉取上游原生内容到本包源仓库):
|
|
2156
|
+
cbbm update --upstream-superpowers 按 pin tag 拉取 superpowers skills(走镜像)
|
|
2157
|
+
cbbm update --upstream-openspec 按 pin 版本从 npmmirror 渲染 OpenSpec 工作流
|
|
2121
2158
|
`);
|
|
2122
2159
|
return;
|
|
2123
2160
|
}
|