@namewta/speculo 0.3.3 → 0.4.0
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/README.md +3 -2
- package/package.json +1 -1
- package/template/skills/typescript-standards-builder/README.md +53 -0
- package/template/skills/typescript-standards-builder/SKILL.md +245 -0
- package/template/skills/typescript-standards-builder/examples/sample-generated-tree.md +30 -0
- package/template/skills/typescript-standards-builder/examples/sample-interview-decisions.md +26 -0
- package/template/skills/typescript-standards-builder/manifest.txt +29 -0
- package/template/skills/typescript-standards-builder/references/00-governance-and-fixed-defaults.md +77 -0
- package/template/skills/typescript-standards-builder/references/01-project-discovery.md +100 -0
- package/template/skills/typescript-standards-builder/references/02-interview-workflow.md +129 -0
- package/template/skills/typescript-standards-builder/references/03-project-architecture-and-directory-layout.md +84 -0
- package/template/skills/typescript-standards-builder/references/04-file-directory-and-symbol-naming.md +92 -0
- package/template/skills/typescript-standards-builder/references/05-modules-imports-exports-and-dependencies.md +63 -0
- package/template/skills/typescript-standards-builder/references/06-typescript-type-system.md +64 -0
- package/template/skills/typescript-standards-builder/references/07-functions-async-errors-and-resources.md +42 -0
- package/template/skills/typescript-standards-builder/references/08-comments-jsdoc-and-documentation.md +51 -0
- package/template/skills/typescript-standards-builder/references/09-testing-strategy.md +58 -0
- package/template/skills/typescript-standards-builder/references/10-react-and-frontend.md +39 -0
- package/template/skills/typescript-standards-builder/references/11-node-cli-and-cross-platform.md +31 -0
- package/template/skills/typescript-standards-builder/references/12-formatting-lint-and-complexity.md +58 -0
- package/template/skills/typescript-standards-builder/references/13-configuration-dependencies-and-ci.md +71 -0
- package/template/skills/typescript-standards-builder/references/14-security-performance-and-i18n.md +32 -0
- package/template/skills/typescript-standards-builder/references/15-git-review-and-delivery.md +28 -0
- package/template/skills/typescript-standards-builder/references/16-adoption-exceptions-and-migration.md +61 -0
- package/template/skills/typescript-standards-builder/references/17-generation-contract.md +104 -0
- package/template/skills/typescript-standards-builder/references/README.md +37 -0
- package/template/skills/typescript-standards-builder/templates/agents-compat-skill/SKILL.md +1 -0
- package/template/skills/typescript-standards-builder/templates/claude-skill/SKILL.md +1 -0
- package/template/skills/typescript-standards-builder/templates/project-skill/SKILL.md.template +34 -0
- package/template/skills/typescript-standards-builder/templates/project-skill/references/00-project-profile.md.template +17 -0
- package/template/skills/typescript-standards-builder/templates/project-skill/references/10-review-checklist.md +23 -0
- package/template/skills/typescript-standards-builder/templates/project-skill/references/11-decisions-and-exceptions.md.template +19 -0
package/template/skills/typescript-standards-builder/references/12-formatting-lint-and-complexity.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# 格式化、Lint 与复杂度
|
|
2
|
+
|
|
3
|
+
## 工具统一风格
|
|
4
|
+
|
|
5
|
+
格式由仓库选定的 Prettier、Oxfmt、Biome 或其他工具自动完成。代码评审不争论工具已经确定的空格、换行和引号。
|
|
6
|
+
|
|
7
|
+
具体选项必须从现有配置或用户问答生成,不机械复制某个项目的完整格式配置。
|
|
8
|
+
|
|
9
|
+
## 文件大小预算
|
|
10
|
+
|
|
11
|
+
这是固定默认原则:普通 TypeScript、React、测试和脚本使用不同预算。
|
|
12
|
+
|
|
13
|
+
通用起点:
|
|
14
|
+
|
|
15
|
+
| 文件类型 | 可作为初始推荐的软上限 |
|
|
16
|
+
|---|---:|
|
|
17
|
+
| 普通 `.ts` | 300 行 |
|
|
18
|
+
| React `.tsx` | 400 行 |
|
|
19
|
+
| 测试 | 600~800 行 |
|
|
20
|
+
| 构建或生成脚本 | 600 行 |
|
|
21
|
+
| 函数 | 40~60 行 |
|
|
22
|
+
|
|
23
|
+
生成项目规范时必须结合仓库实际分位数和用户选择调整。数字是审查触发器,不是机械裁决。
|
|
24
|
+
|
|
25
|
+
超限时检查:
|
|
26
|
+
|
|
27
|
+
- 是否混合多个职责或抽象层级。
|
|
28
|
+
- 分支、状态和依赖是否过多。
|
|
29
|
+
- 是否可分离解析、验证、I/O、领域规则或 UI 展示。
|
|
30
|
+
- 拆分后能否得到具体文件名。
|
|
31
|
+
|
|
32
|
+
禁止为了满足行数把代码拆进 `helpers.ts`。
|
|
33
|
+
|
|
34
|
+
## Ratchet
|
|
35
|
+
|
|
36
|
+
历史超限文件不要求一次性重写,但:
|
|
37
|
+
|
|
38
|
+
- 新变更不得继续无边界增长。
|
|
39
|
+
- 每次触及时应提取一项明确职责或降低复杂度。
|
|
40
|
+
- CI 可只阻止新增超限,而不一次阻塞全部历史文件。
|
|
41
|
+
|
|
42
|
+
## Lint 覆盖
|
|
43
|
+
|
|
44
|
+
至少覆盖:
|
|
45
|
+
|
|
46
|
+
- 未使用变量和导入。
|
|
47
|
+
- 浮动 Promise。
|
|
48
|
+
- 不可达和重复分支。
|
|
49
|
+
- React Hooks 规则。
|
|
50
|
+
- 显式 `any` 和不安全断言。
|
|
51
|
+
- 类型导入一致性。
|
|
52
|
+
- Switch 穷尽检查。
|
|
53
|
+
- 循环依赖和禁止跨层导入。
|
|
54
|
+
- 文件大小、嵌套和复杂度。
|
|
55
|
+
|
|
56
|
+
## 禁用规则
|
|
57
|
+
|
|
58
|
+
规则禁用必须精确到最小范围、指明规则名、解释 WHY,并在临时例外中附删除条件。禁止文件级关闭核心类型、Hooks、Promise 或安全规则来掩盖问题。
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# 配置、依赖与自动化质量门禁
|
|
2
|
+
|
|
3
|
+
## 工具链必须形成门禁
|
|
4
|
+
|
|
5
|
+
这是固定默认原则。项目至少应通过稳定命令覆盖:
|
|
6
|
+
|
|
7
|
+
- 格式检查。
|
|
8
|
+
- Lint。
|
|
9
|
+
- TypeScript 类型检查。
|
|
10
|
+
- 单元测试。
|
|
11
|
+
- 构建。
|
|
12
|
+
|
|
13
|
+
按项目增加集成、契约、E2E、安全、许可证、包体积、依赖边界和本地化检查。
|
|
14
|
+
|
|
15
|
+
底层工具可替换,但推荐保持稳定脚本职责:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
format
|
|
19
|
+
format:check
|
|
20
|
+
lint
|
|
21
|
+
typecheck
|
|
22
|
+
test
|
|
23
|
+
build
|
|
24
|
+
check
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## CI 顺序
|
|
28
|
+
|
|
29
|
+
常用顺序:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
install
|
|
33
|
+
→ format:check
|
|
34
|
+
→ lint
|
|
35
|
+
→ typecheck
|
|
36
|
+
→ unit tests
|
|
37
|
+
→ build
|
|
38
|
+
→ integration/e2e
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
实际顺序可并行优化,但不得省略项目确认的核心门禁。
|
|
42
|
+
|
|
43
|
+
## 禁止绕过
|
|
44
|
+
|
|
45
|
+
不得通过以下方式获得表面通过:
|
|
46
|
+
|
|
47
|
+
- 删除或长期跳过失败测试。
|
|
48
|
+
- 关闭核心 Lint 规则。
|
|
49
|
+
- 扩大 `any` 或强制断言。
|
|
50
|
+
- 无计划放宽 TypeScript 配置。
|
|
51
|
+
- 降低测试范围隐藏回归。
|
|
52
|
+
- 忽略构建或代码生成失败。
|
|
53
|
+
|
|
54
|
+
## TypeScript 配置
|
|
55
|
+
|
|
56
|
+
- 多运行环境使用独立配置或项目引用。
|
|
57
|
+
- 共享基线放在根配置。
|
|
58
|
+
- 浏览器和 Node 的 `lib`、`types`、模块解析隔离。
|
|
59
|
+
- 不为解决单个文件问题全局放宽配置。
|
|
60
|
+
|
|
61
|
+
## 依赖
|
|
62
|
+
|
|
63
|
+
- 运行时包进入 `dependencies`。
|
|
64
|
+
- 构建、测试、类型和格式工具进入 `devDependencies`。
|
|
65
|
+
- 锁文件提交,`packageManager` 固定工具和版本。
|
|
66
|
+
- 新依赖评估维护、体积、许可证、安全和平台兼容性。
|
|
67
|
+
- 不为一个简单函数引入大型依赖。
|
|
68
|
+
|
|
69
|
+
## 本地钩子
|
|
70
|
+
|
|
71
|
+
提交前钩子可只处理暂存文件以保证速度;完整类型检查、测试和构建由 CI 负责。项目规范必须写清本地与 CI 的职责边界。
|
package/template/skills/typescript-standards-builder/references/14-security-performance-and-i18n.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# 安全、性能与国际化
|
|
2
|
+
|
|
3
|
+
## 安全
|
|
4
|
+
|
|
5
|
+
- 外部输入在边界验证。
|
|
6
|
+
- 路径防止目录穿越。
|
|
7
|
+
- SQL 和命令使用参数化接口。
|
|
8
|
+
- HTML 输出转义,谨慎处理原始 HTML。
|
|
9
|
+
- URL、重定向、文件类型和消息来源校验。
|
|
10
|
+
- 不将 Token、密码、Cookie、私钥和完整个人信息写入日志。
|
|
11
|
+
- 不把秘密放入浏览器 Bundle。
|
|
12
|
+
- 权限判断集中管理,前端隐藏按钮不能替代服务端鉴权。
|
|
13
|
+
|
|
14
|
+
## 性能
|
|
15
|
+
|
|
16
|
+
- 不做没有测量依据的微优化。
|
|
17
|
+
- 优先减少算法复杂度、I/O 次数和大型对象复制。
|
|
18
|
+
- 大列表、日志和文件采用分页、流式、窗口化或虚拟化。
|
|
19
|
+
- 缓存定义键、容量、淘汰、失效和一致性策略。
|
|
20
|
+
- Timer、监听器和缓存都有上限与清理。
|
|
21
|
+
- 非直观性能优化使用简短 WHY 注释并配回归或基准测试。
|
|
22
|
+
|
|
23
|
+
## 国际化
|
|
24
|
+
|
|
25
|
+
仅在项目有多语言需求时生成:
|
|
26
|
+
|
|
27
|
+
- 用户可见文本不散落为硬编码字符串。
|
|
28
|
+
- 文案键按领域命名。
|
|
29
|
+
- 插值使用命名参数。
|
|
30
|
+
- 不用字符串拼接构造自然语言句子。
|
|
31
|
+
- 日期、数字、货币和复数使用国际化 API。
|
|
32
|
+
- 错误日志与用户提示分离。
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Git、代码评审与交付
|
|
2
|
+
|
|
3
|
+
## 提交与 PR
|
|
4
|
+
|
|
5
|
+
- 一个提交和 PR 聚焦一个逻辑主题。
|
|
6
|
+
- 不混入无关全仓库格式化。
|
|
7
|
+
- 缺陷修复提供回归测试。
|
|
8
|
+
- UI 变化提供截图或录屏。
|
|
9
|
+
- 说明背景、方案、风险和验证方式。
|
|
10
|
+
- 评估跨平台、性能、安全和兼容性影响。
|
|
11
|
+
|
|
12
|
+
提交格式可采用仓库已有约定;没有约定时推荐 Conventional Commits。
|
|
13
|
+
|
|
14
|
+
## 评审优先级
|
|
15
|
+
|
|
16
|
+
1. 正确性、安全和数据损坏。
|
|
17
|
+
2. 外部输入和类型边界。
|
|
18
|
+
3. 资源泄漏、竞态、取消和错误处理。
|
|
19
|
+
4. 架构边界、循环依赖和公共 API。
|
|
20
|
+
5. 测试缺口。
|
|
21
|
+
6. 文件职责、大小和命名。
|
|
22
|
+
7. 纯风格建议。
|
|
23
|
+
|
|
24
|
+
每条问题包含位置、风险、触发条件和修复方向。不要把个人偏好描述成缺陷。
|
|
25
|
+
|
|
26
|
+
## 门禁
|
|
27
|
+
|
|
28
|
+
合并前执行项目确认的格式、Lint、类型、测试和构建检查。无法执行的项目必须明确报告,不得声称已通过。
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# 落地、例外与迁移
|
|
2
|
+
|
|
3
|
+
## 不机械复制
|
|
4
|
+
|
|
5
|
+
项目规范只生成实际适用的内容:
|
|
6
|
+
|
|
7
|
+
- 普通 Web 项目不生成 Electron 主进程规则。
|
|
8
|
+
- 非 React 项目不生成 Hook 和组件约定。
|
|
9
|
+
- 已使用 Biome/Oxc 的项目不强行切换到 ESLint/Prettier。
|
|
10
|
+
- 生成器管理的目录保留生成器约定。
|
|
11
|
+
- 通用行数阈值必须结合仓库实际调整。
|
|
12
|
+
|
|
13
|
+
复制的是目标:边界清晰、职责具体、类型严格、质量自动化、修改可验证。
|
|
14
|
+
|
|
15
|
+
## 例外
|
|
16
|
+
|
|
17
|
+
例外必须:
|
|
18
|
+
|
|
19
|
+
1. 有具体技术原因。
|
|
20
|
+
2. 范围尽可能小。
|
|
21
|
+
3. 在代码、配置、决策记录或 PR 中说明。
|
|
22
|
+
4. 不破坏核心安全和类型边界。
|
|
23
|
+
5. 临时例外有负责人、退出条件和任务编号。
|
|
24
|
+
6. 经评审确认。
|
|
25
|
+
|
|
26
|
+
## 遗留项目
|
|
27
|
+
|
|
28
|
+
推荐阶段:
|
|
29
|
+
|
|
30
|
+
### 1. 建立事实和命令
|
|
31
|
+
|
|
32
|
+
固定包管理器和锁文件,建立稳定 `format:check`、`lint`、`typecheck`、`test`、`build`。
|
|
33
|
+
|
|
34
|
+
### 2. 阻止新增债务
|
|
35
|
+
|
|
36
|
+
- 新文件遵守具体命名和大小预算。
|
|
37
|
+
- 新 API 不传播 `any`。
|
|
38
|
+
- 新边界输入必须验证。
|
|
39
|
+
- 缺陷修复补回归测试。
|
|
40
|
+
|
|
41
|
+
### 3. 触及治理
|
|
42
|
+
|
|
43
|
+
修改旧文件时降低复杂度、拆出纯逻辑、补测试、清理循环依赖和万能工具文件。
|
|
44
|
+
|
|
45
|
+
### 4. 专项迁移
|
|
46
|
+
|
|
47
|
+
分模块开启严格选项、迁移目录、引入项目引用和依赖边界检查。
|
|
48
|
+
|
|
49
|
+
## Ratchet 指标
|
|
50
|
+
|
|
51
|
+
可跟踪:
|
|
52
|
+
|
|
53
|
+
- 超限文件数量不增加。
|
|
54
|
+
- `any` 和 `@ts-ignore` 不增加。
|
|
55
|
+
- 循环依赖不增加。
|
|
56
|
+
- 跳过测试不增加。
|
|
57
|
+
- Lint 警告基线只下降。
|
|
58
|
+
|
|
59
|
+
## 大规模重命名
|
|
60
|
+
|
|
61
|
+
仅在用户明确确认时进行,使用独立变更,不混入功能修改,并验证大小写敏感文件系统、导入、测试、文档和构建。
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# 项目 Skill 生成合同
|
|
2
|
+
|
|
3
|
+
## 正式规范源
|
|
4
|
+
|
|
5
|
+
唯一正式源:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
.agents/skills/typescript-standards/
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
该目录至少包含:
|
|
12
|
+
|
|
13
|
+
- `SKILL.md`
|
|
14
|
+
- `references/00-project-profile.md`
|
|
15
|
+
- 与项目实际技术栈相关的主题参考文档。
|
|
16
|
+
- `references/10-review-checklist.md`
|
|
17
|
+
- `references/11-decisions-and-exceptions.md`
|
|
18
|
+
|
|
19
|
+
## 主 Skill 内容
|
|
20
|
+
|
|
21
|
+
Frontmatter:
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
---
|
|
25
|
+
name: typescript-standards
|
|
26
|
+
description: 当前项目专属的 TypeScript 编码、目录、测试与工程质量规范。处理本项目中的 TypeScript、React、Node.js、构建、测试、重构和代码审查任务时必须使用。
|
|
27
|
+
---
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
正文保持精简,包含:
|
|
31
|
+
|
|
32
|
+
- 项目和适用范围。
|
|
33
|
+
- 规则优先级。
|
|
34
|
+
- 8~12 条核心不可违背规则。
|
|
35
|
+
- 参考文档路由。
|
|
36
|
+
- 修改代码前后的检查流程。
|
|
37
|
+
- 例外处理入口。
|
|
38
|
+
|
|
39
|
+
不要把全部规范塞回主文件。
|
|
40
|
+
|
|
41
|
+
## 项目画像
|
|
42
|
+
|
|
43
|
+
`00-project-profile.md` 应记录:
|
|
44
|
+
|
|
45
|
+
- 项目类型和主要框架。
|
|
46
|
+
- 运行环境和包边界。
|
|
47
|
+
- 包管理器、模块系统和 TypeScript 配置。
|
|
48
|
+
- 格式、Lint、测试、构建和 CI 工具。
|
|
49
|
+
- 自动生成和豁免目录。
|
|
50
|
+
- 规范适用范围。
|
|
51
|
+
|
|
52
|
+
## 规则来源标记
|
|
53
|
+
|
|
54
|
+
每个主题文件应在顶部列出规则来源:
|
|
55
|
+
|
|
56
|
+
```md
|
|
57
|
+
> 来源:仓库事实 + 用户确认 + 默认基线
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
兼容例外写入 `11-decisions-and-exceptions.md`,不要散落为无法追踪的隐式规则。
|
|
61
|
+
|
|
62
|
+
## 精简与裁剪
|
|
63
|
+
|
|
64
|
+
- 非 React 项目不生成 React 章节。
|
|
65
|
+
- 非 Node 项目不生成 Node/CLI 章节。
|
|
66
|
+
- 没有国际化需求时不生成国际化规则。
|
|
67
|
+
- 不复制未采用工具的配置示例。
|
|
68
|
+
- 保留固定默认原则对应的实际规则,但使用项目自己的阈值、命名和命令。
|
|
69
|
+
|
|
70
|
+
## 重定向文件
|
|
71
|
+
|
|
72
|
+
`.agents/skills/typescript--standards/SKILL.md`:
|
|
73
|
+
|
|
74
|
+
```md
|
|
75
|
+
本文件仅用于路径兼容;必须立即读取并完整遵循项目根目录下的 `.agents/skills/typescript-standards/SKILL.md`。
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
`.claude/skills/typescript-standards/SKILL.md`:
|
|
79
|
+
|
|
80
|
+
```md
|
|
81
|
+
必须先读取并完整遵循项目根目录下的 `.agents/skills/typescript--standards/SKILL.md`,禁止在未读取该文件时执行任何 TypeScript 相关任务。
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
两个文件均必须恰好一句话,不添加 Frontmatter。
|
|
85
|
+
|
|
86
|
+
## 更新已有 Skill
|
|
87
|
+
|
|
88
|
+
若目标目录已存在:
|
|
89
|
+
|
|
90
|
+
1. 读取当前主 Skill、引用文档和例外记录。
|
|
91
|
+
2. 将仓库新事实与旧决定区分。
|
|
92
|
+
3. 保留仍有效的项目特有规则。
|
|
93
|
+
4. 对冲突规则询问用户,不静默覆盖。
|
|
94
|
+
5. 更新决策记录和修订日期。
|
|
95
|
+
6. 报告新增、修改、删除和保留内容。
|
|
96
|
+
|
|
97
|
+
## 验证
|
|
98
|
+
|
|
99
|
+
- 主 Skill Frontmatter 可解析。
|
|
100
|
+
- 所有相对引用存在。
|
|
101
|
+
- 无孤立或重复规范文件。
|
|
102
|
+
- 没有独立 Orca 附录。
|
|
103
|
+
- 固定默认原则已进入对应主题。
|
|
104
|
+
- 两个重定向文件内容完全符合合同。
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Reference Index
|
|
2
|
+
|
|
3
|
+
本目录是生成项目专属 TypeScript Standards Skill 的知识源。主入口按任务最小化读取。
|
|
4
|
+
|
|
5
|
+
## 工作流
|
|
6
|
+
|
|
7
|
+
- `00-governance-and-fixed-defaults.md`:优先级和已确认的固定默认原则。
|
|
8
|
+
- `01-project-discovery.md`:读取仓库事实并建立项目画像。
|
|
9
|
+
- `02-interview-workflow.md`:自适应用户问答。
|
|
10
|
+
- `17-generation-contract.md`:输出目录、文件内容和验证合同。
|
|
11
|
+
|
|
12
|
+
## 规范模块
|
|
13
|
+
|
|
14
|
+
- `03-project-architecture-and-directory-layout.md`
|
|
15
|
+
- `04-file-directory-and-symbol-naming.md`
|
|
16
|
+
- `05-modules-imports-exports-and-dependencies.md`
|
|
17
|
+
- `06-typescript-type-system.md`
|
|
18
|
+
- `07-functions-async-errors-and-resources.md`
|
|
19
|
+
- `08-comments-jsdoc-and-documentation.md`
|
|
20
|
+
- `09-testing-strategy.md`
|
|
21
|
+
- `10-react-and-frontend.md`
|
|
22
|
+
- `11-node-cli-and-cross-platform.md`
|
|
23
|
+
- `12-formatting-lint-and-complexity.md`
|
|
24
|
+
- `13-configuration-dependencies-and-ci.md`
|
|
25
|
+
- `14-security-performance-and-i18n.md`
|
|
26
|
+
- `15-git-review-and-delivery.md`
|
|
27
|
+
- `16-adoption-exceptions-and-migration.md`
|
|
28
|
+
|
|
29
|
+
原先独立的 `15-orca-derived-observations.md` 已取消。其第 2~8 项已分别融入:
|
|
30
|
+
|
|
31
|
+
- 局部平铺 → `03`
|
|
32
|
+
- 具体文件名 → `04`
|
|
33
|
+
- 文件体积 → `12`
|
|
34
|
+
- WHY 注释 → `08`
|
|
35
|
+
- 自动化门禁 → `13`
|
|
36
|
+
- 测试共置 → `09`
|
|
37
|
+
- 不机械复制 → `00`、`03`、`16`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
本文件仅用于路径兼容;必须立即读取并完整遵循项目根目录下的 `.agents/skills/typescript-standards/SKILL.md`。
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
必须先读取并完整遵循项目根目录下的 `.agents/skills/typescript--standards/SKILL.md`,禁止在未读取该文件时执行任何 TypeScript 相关任务。
|
package/template/skills/typescript-standards-builder/templates/project-skill/SKILL.md.template
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: typescript-standards
|
|
3
|
+
description: {{PROJECT_NAME}} 项目专属的 TypeScript 编码、目录、测试与工程质量规范。处理本项目中的 TypeScript 相关任务时必须使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# {{PROJECT_NAME}} TypeScript Standards
|
|
7
|
+
|
|
8
|
+
> 规范范围:{{SCOPE}}
|
|
9
|
+
> 最近确认:{{DATE}}
|
|
10
|
+
|
|
11
|
+
## 优先级
|
|
12
|
+
|
|
13
|
+
1. 本轮用户明确决定。
|
|
14
|
+
2. 平台、框架、协议和公共 API 硬约束。
|
|
15
|
+
3. 当前仓库配置与 CI。
|
|
16
|
+
4. 本 Skill 的项目规则。
|
|
17
|
+
|
|
18
|
+
## 核心规则
|
|
19
|
+
|
|
20
|
+
{{CORE_RULES}}
|
|
21
|
+
|
|
22
|
+
## 工作流程
|
|
23
|
+
|
|
24
|
+
修改代码前:读取 `references/00-project-profile.md` 及与任务相关的最小参考文档。
|
|
25
|
+
|
|
26
|
+
修改代码后:运行项目规定的格式、Lint、类型、测试和构建命令;无法执行时明确报告。
|
|
27
|
+
|
|
28
|
+
## 参考路由
|
|
29
|
+
|
|
30
|
+
{{REFERENCE_ROUTING}}
|
|
31
|
+
|
|
32
|
+
## 例外
|
|
33
|
+
|
|
34
|
+
所有例外记录在 `references/11-decisions-and-exceptions.md`。不得通过扩大 `any`、关闭核心规则或删除测试绕过门禁。
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# 项目画像
|
|
2
|
+
|
|
3
|
+
> 来源:仓库事实 + 用户确认
|
|
4
|
+
|
|
5
|
+
- 项目名称:{{PROJECT_NAME}}
|
|
6
|
+
- 规范范围:{{SCOPE}}
|
|
7
|
+
- 项目类型:{{PROJECT_TYPES}}
|
|
8
|
+
- 运行环境:{{RUNTIMES}}
|
|
9
|
+
- 包管理器:{{PACKAGE_MANAGER}}
|
|
10
|
+
- 模块系统:{{MODULE_SYSTEM}}
|
|
11
|
+
- TypeScript:{{TSCONFIG_SUMMARY}}
|
|
12
|
+
- 格式化:{{FORMATTER}}
|
|
13
|
+
- Lint:{{LINTER}}
|
|
14
|
+
- 测试:{{TEST_TOOLS}}
|
|
15
|
+
- 构建:{{BUILD_TOOLS}}
|
|
16
|
+
- CI:{{CI_SUMMARY}}
|
|
17
|
+
- 自动生成或豁免目录:{{EXCLUDED_PATHS}}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# TypeScript 代码评审检查清单
|
|
2
|
+
|
|
3
|
+
## 架构和命名
|
|
4
|
+
|
|
5
|
+
- [ ] 文件位于正确运行环境和领域。
|
|
6
|
+
- [ ] 领域内部保持局部平铺,没有无意义单文件目录。
|
|
7
|
+
- [ ] 文件名具体,没有万能 `utils`、`helpers`、`common`。
|
|
8
|
+
- [ ] 依赖方向正确,没有新增循环依赖。
|
|
9
|
+
|
|
10
|
+
## 类型和实现
|
|
11
|
+
|
|
12
|
+
- [ ] 外部输入已验证,未传播 `any`。
|
|
13
|
+
- [ ] 公共函数和契约类型明确。
|
|
14
|
+
- [ ] Promise、错误、取消和资源清理完整。
|
|
15
|
+
- [ ] 注释解释 WHY,而非复述代码。
|
|
16
|
+
- [ ] 文件和函数未无理由超过项目预算。
|
|
17
|
+
|
|
18
|
+
## 测试和交付
|
|
19
|
+
|
|
20
|
+
- [ ] 单元测试与实现共置。
|
|
21
|
+
- [ ] 缺陷修复包含回归测试。
|
|
22
|
+
- [ ] 格式、Lint、类型、测试和构建门禁通过。
|
|
23
|
+
- [ ] 未通过关闭规则或跳过测试绕过失败。
|