@jspg-ai/coding-bb 0.0.3-beta.1 → 0.0.3-beta.13
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/dev-standards/rules/cbb-ai-behavior.md +118 -116
- package/cbb/lib/install/claude-code.js +1 -3
- package/cbb/lib/install/codebuddy.js +30 -0
- package/cbb/lib/install/init.js +295 -119
- package/cbb/lib/install/opencode.js +35 -31
- package/cbb/lib/install/qoder.js +1 -3
- package/cbb/lib/install/rule-rewrite.js +27 -0
- package/cbb/lib/install/trae.js +33 -0
- package/cbb/lib/openspec/index.js +337 -554
- package/cbb/lib/superpowers/index.js +246 -265
- package/cbb/lib/utils/check-update.js +8 -1
- package/cbb/lib/utils/gitignore.js +2 -0
- package/cbb/lib/utils/settings.js +17 -4
- package/cbb/lib/utils/tar.js +92 -0
- package/cbb/lib/utils/upstream.js +90 -0
- package/cbb/worktrees/skills/cbb-worktree-close/SKILL.md +32 -23
- package/cbb/worktrees/skills/cbb-worktree-close/scripts/remove-worktrees.js +2 -2
- package/cbb/worktrees/skills/cbb-worktree-init/SKILL.md +36 -28
- package/cbb/worktrees/skills/cbb-worktree-init/scripts/create-worktrees.js +15 -37
- package/cbb/worktrees/skills/cbb-worktree-init/scripts/update-gitignore.js +25 -9
- package/cbb/worktrees/skills/cbb-worktree-push/SKILL.md +108 -31
- package/cbb/worktrees/skills/cbb-worktree-push/scripts/make-mr-urls.js +211 -0
- package/config/openspec/schemas/spec-driven/schema.yaml +38 -30
- package/config/openspec/schemas/spec-driven/templates/design.md +0 -18
- package/config/openspec/schemas/spec-driven/templates/proposal.md +4 -3
- package/config/upstream-mirrors.json +12 -0
- package/config/workspace-agents.sample.md +43 -39
- 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 +2 -2
- 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/worktrees/commands/worktree-close.md +0 -64
- package/cbb/worktrees/commands/worktree-init.md +0 -51
- package/cbb/worktrees/commands/worktree-push.md +0 -42
|
@@ -1,31 +1,35 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* opencode 适配器
|
|
3
|
-
*
|
|
4
|
-
* 将编码规范分发到 .opencode/ 目录(opencode 项目级配置域)。
|
|
5
|
-
*
|
|
6
|
-
* 与 Claude Code / Qoder 的映射差异:
|
|
7
|
-
* - rules:opencode 无原生 rules 目录,部署到 .opencode/rules/ 并由安装流程
|
|
8
|
-
* 将 glob
|
|
9
|
-
*
|
|
10
|
-
* -
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* - hooks:opencode 无 UserPromptSubmit 等价事件,版本检查 hook 不安装(settingsFile 留空即跳过)
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
module.exports = {
|
|
17
|
-
name: 'opencode',
|
|
18
|
-
displayName: 'opencode',
|
|
19
|
-
rulesDir: '.opencode/rules',
|
|
20
|
-
skillsDir: '.opencode/skills',
|
|
21
|
-
commandsDir: '.opencode/commands',
|
|
22
|
-
// 部署时给命令文件名加此前缀(规避内置命令名冲突)
|
|
23
|
-
commandPrefix: 'opsx-',
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
/**
|
|
2
|
+
* opencode 适配器
|
|
3
|
+
*
|
|
4
|
+
* 将编码规范分发到 .opencode/ 目录(opencode 项目级配置域)。
|
|
5
|
+
*
|
|
6
|
+
* 与 Claude Code / Qoder 的映射差异:
|
|
7
|
+
* - rules:opencode 无原生 rules 目录,部署到 .opencode/rules/ 并由安装流程
|
|
8
|
+
* 将 glob 登记进 .opencode/opencode.json 的 instructions 字段(opencode V2
|
|
9
|
+
* 官方支持的配置位置:全局目录 / 项目根 / .opencode 目录内均会被发现)
|
|
10
|
+
* - skills:.opencode/skills/<name>/SKILL.md,结构与 Claude 同构
|
|
11
|
+
* - commands:命令名 = 文件名(嵌套目录无命名空间,且 init.md 等会撞内置 /init),
|
|
12
|
+
* 因此扁平化为 opsx-<name>.md(/opsx-propose);部署副本中的 /opsx: 与 /cbb: 引用同步改写
|
|
13
|
+
* - hooks:opencode 无 UserPromptSubmit 等价事件,版本检查 hook 不安装(settingsFile 留空即跳过)
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
module.exports = {
|
|
17
|
+
name: 'opencode',
|
|
18
|
+
displayName: 'opencode',
|
|
19
|
+
rulesDir: '.opencode/rules',
|
|
20
|
+
skillsDir: '.opencode/skills',
|
|
21
|
+
commandsDir: '.opencode/commands',
|
|
22
|
+
// 部署时给命令文件名加此前缀(规避内置命令名冲突)
|
|
23
|
+
commandPrefix: 'opsx-',
|
|
24
|
+
// 部署副本中将该引用串改写为 opencode 的命令风格(配合 commandPrefix)
|
|
25
|
+
contentRewrites: [['/opsx:', '/opsx-'], ['/cbb:', '/cbb-']],
|
|
26
|
+
// 命令显示名取自 frontmatter name,部署副本重写为 kebab-case(/opsx-propose,与文档一致)
|
|
27
|
+
commandNameKebab: true,
|
|
28
|
+
// rules 加载登记:写入 .opencode/opencode.json 的 instructions。
|
|
29
|
+
// instructions 相对路径的解析基准(配置文件目录 vs 项目根)文档未写死,
|
|
30
|
+
// 登记双 glob 对冲:任一基准下恰有一个命中,另一个空匹配。
|
|
31
|
+
instructionsFile: '.opencode/opencode.json',
|
|
32
|
+
instructionsPatterns: ['rules/*.md', '.opencode/rules/*.md'],
|
|
33
|
+
// 旧版(≤0.0.3-beta.2)曾登记在项目根 opencode.json 的 pattern,迁移/卸载时识别清理用
|
|
34
|
+
legacyInstructionsPattern: '.opencode/rules/*.md',
|
|
35
|
+
};
|
package/cbb/lib/install/qoder.js
CHANGED
|
@@ -13,9 +13,7 @@ module.exports = {
|
|
|
13
13
|
rulesDir: '.qoder/rules',
|
|
14
14
|
skillsDir: '.qoder/skills',
|
|
15
15
|
commandsDir: '.qoder/commands/opsx',
|
|
16
|
-
//
|
|
17
|
-
worktreeCommandsDir: '.qoder/commands/cbb',
|
|
18
|
-
// 用户级 settings,写入全局生效,不污染项目目录
|
|
16
|
+
// 用户级 settings,写入全局生效,不污染项目目录
|
|
19
17
|
settingsFile: path.join(os.homedir(), '.qoder', 'settings.json'),
|
|
20
18
|
settingsFileIsUserLevel: true,
|
|
21
19
|
hookEvents: ['UserPromptSubmit'],
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 规则 frontmatter 改写(纯函数,无副作用,便于单测)。
|
|
5
|
+
*
|
|
6
|
+
* 源规则(cbb/dev-standards/rules/*.md)用 Qoder 的 frontmatter 约定
|
|
7
|
+
* `trigger: always_on`。各工具对"始终生效"的字段名不同:
|
|
8
|
+
* - Qoder:trigger: always_on(源格式)
|
|
9
|
+
* - Claude Code / opencode:无该字段,靠各自机制加载
|
|
10
|
+
* - WorkBuddy/CodeBuddy、Trae:alwaysApply: true
|
|
11
|
+
*
|
|
12
|
+
* 适配器通过 ruleRewrites([[from, to], ...])声明改写规则,部署时套用;
|
|
13
|
+
* 无 ruleRewrites 的适配器原样返回。
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 按适配器的 ruleRewrites 改写规则文本。
|
|
18
|
+
* @param {object} adapter 适配器配置
|
|
19
|
+
* @param {string} text 规则文件原文
|
|
20
|
+
* @returns {string} 改写后的文本(无 ruleRewrites 时原样返回)
|
|
21
|
+
*/
|
|
22
|
+
function applyRuleRewrites(adapter, text) {
|
|
23
|
+
if (!adapter || !adapter.ruleRewrites) return text;
|
|
24
|
+
return adapter.ruleRewrites.reduce((t, [from, to]) => t.split(from).join(to), text);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
module.exports = { applyRuleRewrites };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TraeWork / TraeCode 适配器
|
|
3
|
+
*
|
|
4
|
+
* 字节 TraeWork 桌面工作台与 TraeCode IDE 共用项目级配置目录 `.trae/`,
|
|
5
|
+
* 故一个适配器同时覆盖两者。
|
|
6
|
+
*
|
|
7
|
+
* 与 Claude Code / Qoder 的映射差异:
|
|
8
|
+
* - rules:`.trae/rules/*.md`(扁平文件、支持子目录,最多 3 层),frontmatter 用
|
|
9
|
+
* `alwaysApply: true`(Qoder 的 `trigger: always_on` 需改写,见 ruleRewrites)
|
|
10
|
+
* - skills:`.trae/skills/<name>/SKILL.md`,结构与 Claude 同构
|
|
11
|
+
* - commands:`.trae/commands/`,支持目录嵌套(最多 3 层),与 Claude 同风格
|
|
12
|
+
* - hooks:`~/.trae-cn/hooks.json`,格式与 Claude 相近但需顶层 `version: 1`
|
|
13
|
+
* (由 settingsManager 的 hookDialect 处理),事件名/输出字段一致
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
const path = require('path');
|
|
17
|
+
const os = require('os');
|
|
18
|
+
|
|
19
|
+
module.exports = {
|
|
20
|
+
name: 'trae',
|
|
21
|
+
displayName: 'TraeWork(TraeCode)',
|
|
22
|
+
rulesDir: '.trae/rules',
|
|
23
|
+
skillsDir: '.trae/skills',
|
|
24
|
+
commandsDir: '.trae/commands/opsx',
|
|
25
|
+
// 规则 frontmatter 改写:Qoder 风格 → Trae 风格
|
|
26
|
+
ruleRewrites: [['trigger: always_on', 'alwaysApply: true']],
|
|
27
|
+
// 用户级 hooks 配置(Trae 用 hooks.json,国内版目录为 ~/.trae-cn/)
|
|
28
|
+
settingsFile: path.join(os.homedir(), '.trae-cn', 'hooks.json'),
|
|
29
|
+
settingsFileIsUserLevel: true,
|
|
30
|
+
hookEvents: ['UserPromptSubmit'],
|
|
31
|
+
// Trae 的 hooks.json 需顶层 version: 1(Claude 风格 settings.json 无此字段)
|
|
32
|
+
hookDialect: 'trae',
|
|
33
|
+
};
|