关于 charted-scaffold
charted-scaffold 是一项开发技能,可根据设计文档生成 WIP 实现代码,并可限定到指定 PR。它保留现有行为,将未完成的新增内容标记为已弃用的 WIP,而不实现新行为。
主要功能
- 01根据设计文档生成 WIP 代码
- 02可限定 PR 范围
- 03将新增内容标记为已弃用的 WIP
- 04保留现有行为
- 05按设计步骤创建待办测试
适用场景
- 01根据设计文档搭建实现框架
- 02将搭建工作限定到某个 PR
- 03把设计测试步骤记录为待办测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ marmicode/ skills --skill charted-scaffold安装后在 Claude Code 中输入/charted-scaffold确认已加载。
详细介绍
上下文
- designDocPath:$ARGUMENTS[0]
- prNumber:$ARGUMENTS[1]
任务
根据以下设计文档 ${designDocPath},编写用于实现设计文档中所述内容的 WIP 代码。
- 如果提供了 PR #${prNumber},则只关注该 PR。
- 如果添加新类、函数或方法,请让其抛出 "🚧 work in progress" 错误,并在其 jsdoc 中添加 "@deprecated 🚧 work in progress" 标签。
- 如果添加新组件,请在其 jsdoc 中添加 "@deprecated 🚧 work in progress" 标签,但不要实现模板或方法。
- 不要添加任何新行为。
- 例如,不要在组件中添加子组件。
- 不要更改任何现有行为:
- 如果以向后兼容的方式更改函数或方法签名,不要让其抛出 "🚧 work in progress" 错误。
- 如果函数或方法新增了一个可选参数,请在设置该参数时让其抛出 "🚧 work in progress" 错误。
- 即使 PR 的目标是更改现有函数或方法的行为,也不要让其抛出 "🚧 work in progress" 错误。保留现有行为。
- 对于 WIP 测试,请将设计文档中的测试步骤原样放在 "it.todo" 测试主体内的注释中。
示例
WIP 类示例
/**
* @deprecated 🚧 work in progress
*/
class Greetings {
hello() {
throw new Error(`🚧 work in progress`);
}
}
WIP 方法示例
class Greetings {
/**
* @deprecated 🚧 work in progress
*/
hello() {
throw new Error(`🚧 work in progress`);
}
}
WIP 组件
/**
* @deprecated 🚧 work in progress
*/
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: "wm-rules",
template: `Rules - 🚧 work in progress`,
})
class Rules {
rules = input.required<Rule[]>();
ruleSelect = output<Rule>();
}
WIP 测试示例
注意:测试名称以小写字母开头(例如 "search rules ...")。
import { describe, it } from "vitest";
describe(RuleSearch.name, () => {
it.todo("search rules without filtering", () => {
// mount RuleSearch
// click on first rule
// assert output was triggered once
});
it.todo("...", () => {
// ...
});
});
评论
支持 Markdown