aodw-skill 0.7.3
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/.aodw/01-core/ai-interaction-rules.md +218 -0
- package/.aodw/01-core/ai-knowledge-rules.md +302 -0
- package/.aodw/01-core/ai-project-overview-rules.md +284 -0
- package/.aodw/01-core/aodw-constitution-summary.md +20 -0
- package/.aodw/01-core/aodw-constitution.md +419 -0
- package/.aodw/01-core/csf-thinking-framework.md +373 -0
- package/.aodw/01-core/git-discipline.md +226 -0
- package/.aodw/01-core/module-doc-rules.md +90 -0
- package/.aodw/02-workflow/aodw-development-stages.md +235 -0
- package/.aodw/02-workflow/rt-id-generation-rules.md +267 -0
- package/.aodw/02-workflow/rt-manager-summary.md +15 -0
- package/.aodw/02-workflow/rt-manager.md +399 -0
- package/.aodw/02-workflow/spec-full-profile-summary.md +13 -0
- package/.aodw/02-workflow/spec-full-profile.md +391 -0
- package/.aodw/02-workflow/spec-lite-profile.md +313 -0
- package/.aodw/02-workflow/ui-workflow-rules.md +334 -0
- package/.aodw/03-standards/ai-coding-rules-common.md +89 -0
- package/.aodw/03-standards/ai-coding-rules.md +370 -0
- package/.aodw/03-standards/stacks/java-springboot/ai-coding-rules-backend.md +100 -0
- package/.aodw/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md +612 -0
- package/.aodw/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md +291 -0
- package/.aodw/03-standards/stacks/vue2/ai-coding-rules-frontend.md +97 -0
- package/.aodw/03-standards/ui-kit/ui-kit.md +163 -0
- package/.aodw/04-auditors/aodw-development-auditor-rules.md +470 -0
- package/.aodw/04-auditors/aodw-full-auditor-rules.md +365 -0
- package/.aodw/04-auditors/aodw-requirement-auditor-rules.md +408 -0
- package/.aodw/05-tooling/ai-tools-init-rules.md +465 -0
- package/.aodw/06-project/ai-overview.md +116 -0
- package/.aodw/06-project/modules-index.yaml +11 -0
- package/.aodw/07-optimization/token-usage-analysis.md +253 -0
- package/.aodw/README.md +26 -0
- package/.aodw/RELEASE-CHECKLIST.md +144 -0
- package/.aodw/config.yaml +2 -0
- package/.aodw/manifest.yaml +98 -0
- package/.aodw/templates/SOURCE-TO-DISTRIBUTION-GUIDE.md +276 -0
- package/.aodw/templates/TEMPLATE-APPLICATION-GUIDE.md +246 -0
- package/.aodw/templates/aodw-kernel-loader-template.md +70 -0
- package/.aodw/templates/audit-report-template.md +232 -0
- package/.aodw/templates/changelog-template.md +16 -0
- package/.aodw/templates/checklists/coding-standards-template.md +110 -0
- package/.aodw/templates/csf-review-template.md +201 -0
- package/.aodw/templates/impact-template.md +17 -0
- package/.aodw/templates/invariants-template.md +12 -0
- package/.aodw/templates/module-readme-template.md +39 -0
- package/.aodw/templates/plan-lite-template.md +11 -0
- package/.aodw/templates/rt-decision-template.md +13 -0
- package/.aodw/templates/rt-intake-template.md +33 -0
- package/.aodw/templates/rt-meta-template.yaml +43 -0
- package/.aodw/templates/spec-lite-template.md +17 -0
- package/.aodw/templates/tests-template.md +13 -0
- package/.aodw/templates/tools-config/README.md +80 -0
- package/.aodw/templates/tools-config/backend/black.config.template.toml +6 -0
- package/.aodw/templates/tools-config/backend/pre-commit.config.template.yaml +16 -0
- package/.aodw/templates/tools-config/backend/ruff.config.template.toml +23 -0
- package/.aodw/templates/tools-config/frontend/eslint.config.template.json +113 -0
- package/.aodw/templates/tools-config/frontend/prettier.config.template.json +10 -0
- package/.aodw/templates/tools-config/frontend/tsconfig.paths.template.json +11 -0
- package/.aodw/workflow-guide.md +51 -0
- package/AODW_Adapters/README.md +143 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-check.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-done.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-full.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-governance.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-impact.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-init.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-invariants.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-lite.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-module.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-new.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-open.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-pause.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-resume.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-tests.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw-upgrade.md +7 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/.agent/rules/aodw.md +35 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-check.md +16 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-done.md +16 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-full.md +14 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-governance.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-impact.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-init.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-invariants.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-lite.md +14 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-module.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-new.md +30 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-open.md +10 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-pause.md +12 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-resume.md +12 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-tests.md +13 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw-upgrade.md +12 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/antigravity/global_workflows/aodw.md +18 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/claude/CLAUDE.md +17 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-check.md +30 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-done.md +52 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-full.md +31 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-governance.md +34 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-impact.md +25 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-init.md +75 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-invariants.md +29 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-lite.md +23 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-module.md +24 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-new.md +70 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-open.md +19 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-pause.md +19 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-resume.md +20 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-tests.md +26 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw-upgrade.md +27 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/aodw.md +69 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/deploypromote.md +20 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/commands/featuretotester.md +32 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/feature_to_master_push_test_local.sh +390 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/promote_only.sh +210 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/deploy/rollback_prod.sh +99 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/cursor/.cursor/rules/aodw.mdc +26 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-check.md +29 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-done.md +52 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-full.md +30 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-governance.md +33 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-impact.md +24 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-init.md +75 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-invariants.md +28 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-lite.md +22 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-module.md +23 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-new.md +92 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-open.md +18 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-pause.md +18 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-resume.md +19 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-tests.md +25 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw-upgrade.md +26 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/.agent/rules/aodw.md +68 -0
- package/AODW_Adapters/_backup/v3.1.0-pre-refactor/gemini/GEMINI.md +17 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-analyze.md +15 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-complete.md +15 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-control.md +14 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-decide.md +16 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-governance.md +7 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-implement.md +16 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-init.md +7 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-intake.md +15 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-open.md +7 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-simplified.md +107 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/.agent/rules/aodw-verify.md +14 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-analyze.md +24 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-complete.md +23 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-control.md +21 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-decide.md +26 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-governance.md +13 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-implement.md +21 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-init.md +13 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-intake.md +28 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-open.md +10 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw-verify.md +20 -0
- package/AODW_Adapters/_backup/v4.0.0-simplified/antigravity/global_workflows/aodw.md +18 -0
- package/AODW_Adapters/antigravity/.agent/rules/aodw.md +74 -0
- package/AODW_Adapters/claude/CLAUDE.md +70 -0
- package/AODW_Adapters/cursor/.cursor/commands/README.md +37 -0
- package/AODW_Adapters/cursor/.cursor/rules/aodw.mdc +77 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-analyze.md +15 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-complete.md +15 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-control.md +14 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-decide.md +16 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-governance.md +33 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-implement.md +16 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-init.md +75 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-intake.md +15 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-open.md +18 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw-verify.md +14 -0
- package/AODW_Adapters/gemini/.agent/rules/aodw.md +70 -0
- package/AODW_Adapters/gemini/GEMINI.md +17 -0
- package/AODW_Adapters/general/.github/copilot-instructions.md +34 -0
- package/AODW_Adapters/general/AGENTS.md +70 -0
- package/README.md +118 -0
- package/bin/aodw.js +627 -0
- package/bin/commands/init-overview.js +801 -0
- package/bin/commands/init-tools.js +811 -0
- package/bin/commands/new.js +235 -0
- package/bin/commands/serve.js +79 -0
- package/bin/processors/index.js +109 -0
- package/bin/update-adapters-from-template.js +89 -0
- package/bin/utils/config.js +56 -0
- package/docs/README.md +26 -0
- package/docs/adapter-evaluation.md +55 -0
- package/docs/backend-guidelines.md +335 -0
- package/docs/frontend-guidelines.md +266 -0
- package/docs/installation-variants.md +88 -0
- package/docs/migration-guide-0.2.0.md +250 -0
- package/docs/platform-matrix.md +83 -0
- package/package.json +40 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# 回滚生产分支到某个已发布的生产标签(默认回滚到上一枚 prod-* 标签)
|
|
3
|
+
# 依赖:git、jq;使用同目录/项目根的 project-config.json
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
|
|
6
|
+
CONFIG_FILE="${CONFIG_FILE:-project-config.json}"
|
|
7
|
+
|
|
8
|
+
need() { command -v "$1" >/dev/null 2>&1 || { echo "❌ 缺少依赖:$1"; exit 1; }; }
|
|
9
|
+
need git
|
|
10
|
+
need jq
|
|
11
|
+
|
|
12
|
+
# 读取配置
|
|
13
|
+
[ -f "$CONFIG_FILE" ] || { echo "❌ 缺少 $CONFIG_FILE,请先运行 promote_only.sh 初始化"; exit 1; }
|
|
14
|
+
REMOTE_NAME=$(jq -r '.remote_name' "$CONFIG_FILE")
|
|
15
|
+
REMOTE_RELEASE=$(jq -r '.remote_release' "$CONFIG_FILE")
|
|
16
|
+
PROD_TAG_PREFIX=$(jq -r '.prod_tag_prefix' "$CONFIG_FILE")
|
|
17
|
+
|
|
18
|
+
# 参数解析(可选):
|
|
19
|
+
# --to-tag <tag> 指定要回滚到的标签
|
|
20
|
+
# --dry-run 只显示将要执行的动作,不真正推送
|
|
21
|
+
TO_TAG=""
|
|
22
|
+
DRY_RUN=0
|
|
23
|
+
while [[ $# -gt 0 ]]; do
|
|
24
|
+
case "$1" in
|
|
25
|
+
--to-tag)
|
|
26
|
+
TO_TAG="${2:-}"; shift 2;;
|
|
27
|
+
--dry-run)
|
|
28
|
+
DRY_RUN=1; shift;;
|
|
29
|
+
*)
|
|
30
|
+
echo "未知参数: $1"; exit 1;;
|
|
31
|
+
esac
|
|
32
|
+
done
|
|
33
|
+
|
|
34
|
+
echo "🔁 准备回滚生产分支(${REMOTE_NAME}/${REMOTE_RELEASE}),标签前缀: ${PROD_TAG_PREFIX}"
|
|
35
|
+
|
|
36
|
+
# 拉取远端最新
|
|
37
|
+
git fetch "$REMOTE_NAME" --prune --tags
|
|
38
|
+
|
|
39
|
+
# 获取所有 prod 标签(按字典序/时间戳命名会自然有序)
|
|
40
|
+
readarray -t PROD_TAGS < <(git tag -l "${PROD_TAG_PREFIX}*" | sort)
|
|
41
|
+
|
|
42
|
+
if [[ -z "$TO_TAG" ]]; then
|
|
43
|
+
# 自动选择“上一枚”生产标签(倒数第二个)
|
|
44
|
+
CNT=${#PROD_TAGS[@]}
|
|
45
|
+
if (( CNT < 2 )); then
|
|
46
|
+
echo "❌ 生产标签少于 2 个,无法自动回滚(至少需要一个当前标签和一个上一个标签)"
|
|
47
|
+
exit 1
|
|
48
|
+
fi
|
|
49
|
+
CURRENT="${PROD_TAGS[$((CNT-1))]}"
|
|
50
|
+
TARGET="${PROD_TAGS[$((CNT-2))]}"
|
|
51
|
+
else
|
|
52
|
+
TARGET="$TO_TAG"
|
|
53
|
+
# 当前最新标签用于展示
|
|
54
|
+
if ((${#PROD_TAGS[@]} > 0)); then
|
|
55
|
+
CURRENT="${PROD_TAGS[-1]}"
|
|
56
|
+
else
|
|
57
|
+
CURRENT="<未知>"
|
|
58
|
+
fi
|
|
59
|
+
# 校验目标标签存在
|
|
60
|
+
if ! git rev-parse -q --verify "refs/tags/$TARGET" >/dev/null; then
|
|
61
|
+
echo "❌ 指定的标签不存在: $TARGET"
|
|
62
|
+
exit 1
|
|
63
|
+
fi
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
echo "🧭 当前最新生产标签: $CURRENT"
|
|
67
|
+
echo "🎯 目标回滚到的标签: $TARGET"
|
|
68
|
+
|
|
69
|
+
# 解析目标提交
|
|
70
|
+
TARGET_COMMIT="$(git rev-list -n 1 "$TARGET")"
|
|
71
|
+
[ -n "$TARGET_COMMIT" ] || { echo "❌ 无法解析目标标签提交: $TARGET"; exit 1; }
|
|
72
|
+
|
|
73
|
+
echo "📌 目标提交: $TARGET_COMMIT"
|
|
74
|
+
|
|
75
|
+
# 预览动作
|
|
76
|
+
echo "📝 将把远端分支 ${REMOTE_NAME}/${REMOTE_RELEASE} 指向 ${TARGET}(强制推送)"
|
|
77
|
+
if [[ "$DRY_RUN" -eq 1 ]]; then
|
|
78
|
+
echo "🔎 DRY-RUN: 不会真正推送。"
|
|
79
|
+
exit 0
|
|
80
|
+
fi
|
|
81
|
+
|
|
82
|
+
# 强制把 release 指向目标标签对应的提交
|
|
83
|
+
git push "$REMOTE_NAME" "$TARGET:refs/heads/$REMOTE_RELEASE" --force
|
|
84
|
+
|
|
85
|
+
# 生成一次回滚标记标签(可选但建议保留审计)
|
|
86
|
+
ROLLBACK_TAG="rollback-$(date +%Y%m%d-%H%M)-${TARGET}"
|
|
87
|
+
if git rev-parse -q --verify "refs/tags/$ROLLBACK_TAG" >/dev/null; then
|
|
88
|
+
# 极少数情况下重名,则附加随机后缀
|
|
89
|
+
ROLLBACK_TAG="${ROLLBACK_TAG}-$(openssl rand -hex 2 2>/dev/null || echo rnd)"
|
|
90
|
+
fi
|
|
91
|
+
|
|
92
|
+
git tag -a "$ROLLBACK_TAG" -m "Rollback ${REMOTE_RELEASE} to ${TARGET}
|
|
93
|
+
From: ${CURRENT}
|
|
94
|
+
To: ${TARGET}
|
|
95
|
+
At: $(date +'%F %T')"
|
|
96
|
+
git push "$REMOTE_NAME" "$ROLLBACK_TAG" || echo "⚠️ 回滚标记标签推送失败(非致命)"
|
|
97
|
+
|
|
98
|
+
echo "✅ 回滚完成:${REMOTE_NAME}/${REMOTE_RELEASE} → ${TARGET}"
|
|
99
|
+
echo "ℹ️ 审计标签:$ROLLBACK_TAG"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: AI 编排开发工作流 (AODW) — Kernel Loader
|
|
3
|
+
tags:
|
|
4
|
+
- aodw
|
|
5
|
+
- kernel
|
|
6
|
+
globs: "*"
|
|
7
|
+
alwaysApply: true
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# AODW Kernel Loader (Cursor Adapter)
|
|
11
|
+
# 版本: 3.1.0 (Reference Mode)
|
|
12
|
+
|
|
13
|
+
你是一个 **AODW (AI 编排开发工作流) 协作 Agent**。
|
|
14
|
+
|
|
15
|
+
## 1. 核心指令 (The Prime Directive)
|
|
16
|
+
你 **必须** 在开始任何任务前,优先读取并遵循以下 **Kernel (宪章)** 文件:
|
|
17
|
+
|
|
18
|
+
- `@.aodw/aodw-constitution.md`
|
|
19
|
+
|
|
20
|
+
**注意**:
|
|
21
|
+
- 该文件是你行为的最高准则。
|
|
22
|
+
- 该文件包含了所有阶段的 **Context Loading Directives (上下文加载指令)**。
|
|
23
|
+
- 你必须根据宪章的指示,在不同阶段(Intake/Manager/Coding/Knowledge)按需加载其他规则文件。
|
|
24
|
+
|
|
25
|
+
## 2. 兜底机制
|
|
26
|
+
如果你无法读取 `.aodw/aodw-constitution.md`,请立即停止并要求用户提供该文件。
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# RT 一致性检查
|
|
2
|
+
|
|
3
|
+
检查 RT 文档的一致性和完整性,确保所有文档匹配且符合规范。
|
|
4
|
+
|
|
5
|
+
## 功能
|
|
6
|
+
- 验证 meta.yaml 正确性
|
|
7
|
+
- 检查 index.yaml 同步状态
|
|
8
|
+
- 验证模块 README 匹配实现
|
|
9
|
+
- 检查不变量是否被违反
|
|
10
|
+
- 验证 RT 文档完整性
|
|
11
|
+
- 检查 tests.md 是否包含验证步骤
|
|
12
|
+
- 验证治理要求
|
|
13
|
+
|
|
14
|
+
## 检查项
|
|
15
|
+
- [ ] meta.yaml 已更新
|
|
16
|
+
- [ ] RT/index.yaml 已更新
|
|
17
|
+
- [ ] spec/spec-lite 已完成
|
|
18
|
+
- [ ] plan/plan-lite 已完成
|
|
19
|
+
- [ ] invariants.md 已验证
|
|
20
|
+
- [ ] impact.md 已验证
|
|
21
|
+
- [ ] tests.md 已完成
|
|
22
|
+
- [ ] 模块 README 已更新
|
|
23
|
+
- [ ] 治理规则已满足
|
|
24
|
+
|
|
25
|
+
## 使用场景
|
|
26
|
+
- RT 完成前的一致性验证
|
|
27
|
+
- 定期检查 RT 文档状态
|
|
28
|
+
- 修复文档不一致问题
|
|
29
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# 完成 RT
|
|
2
|
+
|
|
3
|
+
将 RT 标记为完成,执行完成前的所有检查。
|
|
4
|
+
|
|
5
|
+
## 功能
|
|
6
|
+
- 执行完成检查清单
|
|
7
|
+
- 验证所有文档完整性
|
|
8
|
+
- 更新 RT 状态为完成
|
|
9
|
+
- 更新 changelog.md
|
|
10
|
+
- 确保所有不变量未被违反
|
|
11
|
+
- 验证测试已通过
|
|
12
|
+
|
|
13
|
+
## 完成检查清单
|
|
14
|
+
- [ ] meta.yaml 已更新
|
|
15
|
+
- [ ] RT/index.yaml 已更新
|
|
16
|
+
- [ ] spec/spec-lite 已完成
|
|
17
|
+
- [ ] plan/plan-lite 已完成
|
|
18
|
+
- [ ] invariants.md 已验证
|
|
19
|
+
- [ ] impact.md 已验证
|
|
20
|
+
- [ ] tests.md 已完成
|
|
21
|
+
- [ ] 模块 README 已更新
|
|
22
|
+
- [ ] 治理规则已满足
|
|
23
|
+
- [ ] 所有功能已实现
|
|
24
|
+
- [ ] 所有测试已通过
|
|
25
|
+
|
|
26
|
+
## Git 操作流程(完成 RT 后自动执行)
|
|
27
|
+
|
|
28
|
+
当 RT 标记为完成后,自动执行以下 Git 操作:
|
|
29
|
+
|
|
30
|
+
1. **保存功能分支的所有改动并提交**
|
|
31
|
+
- 检查功能分支是否有未提交的改动
|
|
32
|
+
- 如果有未提交的改动,自动提交(使用规范的提交信息格式,包含 `Refs: ${RT-ID}` trailer)
|
|
33
|
+
- 确保所有改动都已提交到功能分支
|
|
34
|
+
|
|
35
|
+
2. **合并到本地 master 分支**
|
|
36
|
+
- 切换到本地 master 分支:`git checkout master`
|
|
37
|
+
- 拉取远程 master 最新代码:`git pull origin master`
|
|
38
|
+
- 合并功能分支到 master:`git merge ${feature-branch}`(使用 `--no-ff` 保留合并历史)
|
|
39
|
+
- 解决可能的合并冲突(如有)
|
|
40
|
+
|
|
41
|
+
3. **删除本地功能分支**
|
|
42
|
+
- 删除本地功能分支:`git branch -d ${feature-branch}`
|
|
43
|
+
- 如果分支未完全合并,使用 `-D` 强制删除(需用户确认)
|
|
44
|
+
|
|
45
|
+
4. **推送 master 分支到远程仓库**
|
|
46
|
+
- 推送本地 master 到远程:`git push origin master`
|
|
47
|
+
- 确保远程 master 分支已更新
|
|
48
|
+
|
|
49
|
+
## 使用场景
|
|
50
|
+
当 RT 的所有工作已完成,准备标记为完成时使用。
|
|
51
|
+
|
|
52
|
+
**注意**:完成 RT 后会自动执行上述 Git 操作流程,确保代码已合并到 master 并推送到远程。
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Spec-Full 模式
|
|
2
|
+
|
|
3
|
+
将当前 RT 切换到 Spec-Full 模式,适用于复杂、跨模块的改动。
|
|
4
|
+
|
|
5
|
+
## 功能
|
|
6
|
+
- 切换到完整文档模式
|
|
7
|
+
- 创建完整的 spec.md、plan.md、impact.md、invariants.md、tests.md
|
|
8
|
+
- 深度影响分析
|
|
9
|
+
- 先设计后编码
|
|
10
|
+
- 全面测试定义
|
|
11
|
+
|
|
12
|
+
## 使用场景
|
|
13
|
+
- 跨模块调整
|
|
14
|
+
- 数据模型更改
|
|
15
|
+
- API 契约演进
|
|
16
|
+
- 架构决策
|
|
17
|
+
- 性能/并发/安全影响
|
|
18
|
+
- 大规模重构
|
|
19
|
+
|
|
20
|
+
## 必需文档
|
|
21
|
+
- meta.yaml
|
|
22
|
+
- intake.md
|
|
23
|
+
- decision.md
|
|
24
|
+
- spec.md
|
|
25
|
+
- plan.md
|
|
26
|
+
- impact.md
|
|
27
|
+
- invariants.md
|
|
28
|
+
- tests.md
|
|
29
|
+
- changelog.md
|
|
30
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# AODW 治理检查
|
|
2
|
+
|
|
3
|
+
检测 AODW 规则和流程中的问题,提议改进。
|
|
4
|
+
|
|
5
|
+
## 功能
|
|
6
|
+
- 检测规则不清楚的情况
|
|
7
|
+
- 检测缺少文档模式
|
|
8
|
+
- 检测重复的用户困惑
|
|
9
|
+
- 检测规则执行中的冲突
|
|
10
|
+
- 检测模块缺少 README 但被引用
|
|
11
|
+
- 检测 RT 流程变得模糊
|
|
12
|
+
- 提议创建 RT-CORE 来增强 AODW
|
|
13
|
+
|
|
14
|
+
## 检测场景
|
|
15
|
+
- 规则不清楚
|
|
16
|
+
- 缺少文档模式
|
|
17
|
+
- 重复的用户困惑
|
|
18
|
+
- 规则在执行中引起冲突
|
|
19
|
+
- 模块缺少 README 但被引用
|
|
20
|
+
- RT 流程变得模糊
|
|
21
|
+
|
|
22
|
+
## 提议流程
|
|
23
|
+
当检测到治理问题时:
|
|
24
|
+
1. 询问用户是否创建治理 RT
|
|
25
|
+
2. 如果同意,创建 `RT/RT-XXX/`(使用统一的 RT-{seq} 格式,通过 `type` 和 `modules` 字段标识为治理相关)
|
|
26
|
+
3. 遵循 Spec-Full 流程
|
|
27
|
+
4. 更新治理版本(如应用更改)
|
|
28
|
+
|
|
29
|
+
## 使用场景
|
|
30
|
+
- 定期检查 AODW 流程健康度
|
|
31
|
+
- 发现流程问题时提议改进
|
|
32
|
+
- 更新 AODW 治理规则
|
|
33
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 更新影响分析
|
|
2
|
+
|
|
3
|
+
更新 RT 的 impact.md 文档,分析改动的影响范围。
|
|
4
|
+
|
|
5
|
+
## 功能
|
|
6
|
+
- 分析模块级影响
|
|
7
|
+
- 分析行为影响
|
|
8
|
+
- 分析数据模型影响
|
|
9
|
+
- 分析 API 影响
|
|
10
|
+
- 评估风险和回退计划
|
|
11
|
+
- 更新 impact.md 文档
|
|
12
|
+
|
|
13
|
+
## 影响分析维度
|
|
14
|
+
1. **模块级影响**:哪些模块的行为变化,跨模块依赖
|
|
15
|
+
2. **行为影响**:功能变化、副作用、回归风险、数据流变化
|
|
16
|
+
3. **数据模型影响**:schema 更改、数据迁移要求、兼容性
|
|
17
|
+
4. **API 影响**:签名更改、向后兼容性、客户端影响
|
|
18
|
+
5. **运行时影响**:性能、并发、安全影响
|
|
19
|
+
|
|
20
|
+
## 使用场景
|
|
21
|
+
- Spec-Full RT 的必需步骤
|
|
22
|
+
- 评估改动影响范围
|
|
23
|
+
- 识别风险和回退策略
|
|
24
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# AODW 初始化命令
|
|
2
|
+
|
|
3
|
+
## 场景说明
|
|
4
|
+
|
|
5
|
+
你现在在一个启用 AODW 的新仓库,已有完整的目录结构:
|
|
6
|
+
- `.aodw/`(含 `.aodw/aodw_governance/`)
|
|
7
|
+
- `.cursor/`
|
|
8
|
+
- `RT/index.yaml`
|
|
9
|
+
|
|
10
|
+
## 执行步骤
|
|
11
|
+
|
|
12
|
+
请按 AODW 规则完成启动准备,按以下步骤执行:
|
|
13
|
+
|
|
14
|
+
### 1. 读取核心规则文档
|
|
15
|
+
|
|
16
|
+
读取以下文档以了解 AODW 规则体系:
|
|
17
|
+
- `.aodw/01-core/aodw-constitution.md`
|
|
18
|
+
- `.aodw/03-standards/ai-coding-rules.md`
|
|
19
|
+
- `.aodw/01-core/ai-knowledge-rules.md`
|
|
20
|
+
- `.aodw/01-core/ai-interaction-rules.md`
|
|
21
|
+
- `.aodw/01-core/module-doc-rules.md`
|
|
22
|
+
- `.aodw/02-workflow/rt-manager.md`
|
|
23
|
+
- `.cursor/aodw_all.mdc`
|
|
24
|
+
|
|
25
|
+
### 2. 初始化模块索引和文档
|
|
26
|
+
|
|
27
|
+
- 在 `.aodw/06-project/modules-index.yaml` 中填入现有模块
|
|
28
|
+
- 为每个模块使用 `.aodw/templates/module-readme-template.md` 创建 README
|
|
29
|
+
- 存放位置:`docs/modules/<name>.md` 或团队约定路径
|
|
30
|
+
- 内容要求:写明职责/映射/不变量/历史
|
|
31
|
+
|
|
32
|
+
### 3. 创建初始化 RT(需求追踪)
|
|
33
|
+
|
|
34
|
+
**检查是否已初始化**:
|
|
35
|
+
- 检查 `RT/RT-CORE-001/` 目录是否存在
|
|
36
|
+
- 检查 `RT/index.yaml` 中是否已有 RT-CORE-001 条目
|
|
37
|
+
- **如果已存在,跳过此步骤,不重复初始化**
|
|
38
|
+
|
|
39
|
+
**如果未初始化,则执行以下操作**:
|
|
40
|
+
- 创建 `RT/RT-CORE-001/`(Spec-Full 类型)
|
|
41
|
+
- 复制 `.aodw/templates/rt-meta-template.yaml` 为 `meta.yaml`
|
|
42
|
+
- 初始化以下文档文件:
|
|
43
|
+
- `intake.md`
|
|
44
|
+
- `decision.md`
|
|
45
|
+
- `spec.md`
|
|
46
|
+
- `plan.md`
|
|
47
|
+
- `impact.md`
|
|
48
|
+
- `invariants.md`
|
|
49
|
+
- `tests.md`
|
|
50
|
+
- `changelog.md`
|
|
51
|
+
- 内容记录:"启用 AODW" 的初始化决策
|
|
52
|
+
|
|
53
|
+
### 4. 更新 RT 索引
|
|
54
|
+
|
|
55
|
+
**检查是否已存在条目**:
|
|
56
|
+
- 检查 `RT/index.yaml` 中是否已有 RT-CORE-001 条目
|
|
57
|
+
- **如果已存在,跳过添加条目,仅更新 `last_updated_at` 字段**
|
|
58
|
+
|
|
59
|
+
**如果不存在,则执行以下操作**:
|
|
60
|
+
- 添加 RT-CORE-001 条目
|
|
61
|
+
- 更新 `last_updated_at` 字段
|
|
62
|
+
|
|
63
|
+
### 5. 生成状态汇总
|
|
64
|
+
|
|
65
|
+
完成后给出状态汇总,包括:
|
|
66
|
+
- 改动文件列表
|
|
67
|
+
- 待补充信息(如模块职责细节)
|
|
68
|
+
- 下一步建议
|
|
69
|
+
|
|
70
|
+
## 交互规范
|
|
71
|
+
|
|
72
|
+
- 严格遵守 `.aodw/01-core/ai-interaction-rules.md` 中的提问规范
|
|
73
|
+
- 关键问题使用选项 + 推荐理由的形式
|
|
74
|
+
- 保持中文输出
|
|
75
|
+
- 路径使用反引号标记(如 `` `docs/modules/example.md` ``)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# 检查不变量
|
|
2
|
+
|
|
3
|
+
检查并验证 RT 不变量,确保实现不违反任何不变量规则。
|
|
4
|
+
|
|
5
|
+
## 功能
|
|
6
|
+
- 读取全局不变量(ai-knowledge-rules.md)
|
|
7
|
+
- 读取模块不变量(模块 README)
|
|
8
|
+
- 读取 RT 特定不变量(invariants.md)
|
|
9
|
+
- 检查代码实现是否违反不变量
|
|
10
|
+
- 警告潜在冲突
|
|
11
|
+
- 建议解决方案
|
|
12
|
+
|
|
13
|
+
## 不变量类型
|
|
14
|
+
1. **全局不变量**:定义在 ai-knowledge-rules.md、aodw-constitution.md
|
|
15
|
+
2. **模块不变量**:定义在模块 README、RT invariants.md
|
|
16
|
+
3. **RT 特定不变量**:定义在 RT/RT-XXX/invariants.md
|
|
17
|
+
|
|
18
|
+
## 执行层次
|
|
19
|
+
严格性顺序:
|
|
20
|
+
1. 全局不变量(最高优先级)
|
|
21
|
+
2. 模块不变量
|
|
22
|
+
3. RT 特定不变量
|
|
23
|
+
|
|
24
|
+
## 使用场景
|
|
25
|
+
- 编码前验证设计不违反不变量
|
|
26
|
+
- 编码后检查实现是否违反不变量
|
|
27
|
+
- 检测潜在冲突并警告用户
|
|
28
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Spec-Lite 模式
|
|
2
|
+
|
|
3
|
+
将当前 RT 切换到 Spec-Lite 模式,适用于局部化、小范围的改动。
|
|
4
|
+
|
|
5
|
+
## 功能
|
|
6
|
+
- 切换到轻量级文档模式
|
|
7
|
+
- 使用 spec-lite.md 和 plan-lite.md
|
|
8
|
+
- 简化测试文档(主要是手动检查)
|
|
9
|
+
- 适用于单模块、不涉及数据模型/API 变更的改动
|
|
10
|
+
|
|
11
|
+
## 使用场景
|
|
12
|
+
- 局部化更改
|
|
13
|
+
- UI 层微调
|
|
14
|
+
- 内部实现优化
|
|
15
|
+
- 单模块小 Bug/小优化
|
|
16
|
+
|
|
17
|
+
## 约束
|
|
18
|
+
- 不能修改数据模型
|
|
19
|
+
- 不能跨模块行为变化
|
|
20
|
+
- 不能改变外部 API 契约
|
|
21
|
+
- 如果违反不变量,必须升级到 Spec-Full
|
|
22
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# 更新模块文档
|
|
2
|
+
|
|
3
|
+
更新或创建模块文档,维护模块的职责、不变量和历史记录。
|
|
4
|
+
|
|
5
|
+
## 功能
|
|
6
|
+
- 读取或创建模块 README
|
|
7
|
+
- 更新模块职责描述
|
|
8
|
+
- 更新模块不变量
|
|
9
|
+
- 更新 related_rts 列表
|
|
10
|
+
- 更新 modules-index.yaml
|
|
11
|
+
- 更新文件映射
|
|
12
|
+
|
|
13
|
+
## 使用场景
|
|
14
|
+
- 代码修改影响模块行为时
|
|
15
|
+
- 创建新模块时
|
|
16
|
+
- 模块边界改变时
|
|
17
|
+
- 职责在模块间移动时
|
|
18
|
+
|
|
19
|
+
## 必需操作
|
|
20
|
+
1. 修改代码前:阅读相关模块 README 和不变量
|
|
21
|
+
2. 代码修改后:更新模块 README 和 related_rts
|
|
22
|
+
3. 创建新模块:创建 docs/modules/<module>.md 并注册到 modules-index.yaml
|
|
23
|
+
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
trigger: always_on
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 创建新 RT
|
|
6
|
+
|
|
7
|
+
启动 AODW 工作流,创建新的 Runtime Task (RT)。
|
|
8
|
+
|
|
9
|
+
## 功能
|
|
10
|
+
- 自动检测需求类型(Feature/Bug/Enhancement/Refactor/Research)
|
|
11
|
+
- 通过交互协议采集需求信息
|
|
12
|
+
- 确定影响模块和风险级别
|
|
13
|
+
- 选择 Profile(Spec-Lite 或 Spec-Full)
|
|
14
|
+
- 生成 RT-ID 并创建 RT 目录结构和文档
|
|
15
|
+
- 更新 RT/index.yaml
|
|
16
|
+
|
|
17
|
+
## 使用场景
|
|
18
|
+
当用户提出新功能、Bug 修复、性能优化、重构或研究任务时使用。
|
|
19
|
+
|
|
20
|
+
## 操作步骤
|
|
21
|
+
|
|
22
|
+
### 1. 生成 RT-ID
|
|
23
|
+
|
|
24
|
+
**RT-ID 格式规则**:
|
|
25
|
+
- 格式:`RT-{seq}`,其中 `{seq}` 为零填充数字(推荐至少 3 位,如 `RT-001`、`RT-002`)
|
|
26
|
+
- RT-ID 全局唯一,所有 RT(包括 AODW 治理相关的 RT)都使用统一的 `RT-{seq}` 格式
|
|
27
|
+
|
|
28
|
+
**生成步骤**:
|
|
29
|
+
1. 读取 `RT/index.yaml`,找到所有现有 RT 的 ID(格式为 `RT-{seq}`)
|
|
30
|
+
2. 提取所有序号
|
|
31
|
+
3. 找到最大序号,新 RT 序号 = 最大序号 + 1
|
|
32
|
+
4. 生成 RT-ID:`RT-{seq}`(如 `RT-001`、`RT-002`)
|
|
33
|
+
|
|
34
|
+
**注意**:AODW 治理相关的 RT 也使用 `RT-{seq}` 格式,通过 `type` 字段(如 `type: Enhancement`)和 `modules` 字段(包含治理相关模块)来标识,而不是通过特殊的命名格式。
|
|
35
|
+
|
|
36
|
+
**详细规则见**:`.aodw/id-branch-directory-rules.md` 和 `.aodw/02-workflow/rt-manager.md`
|
|
37
|
+
|
|
38
|
+
### 2. 创建目录
|
|
39
|
+
|
|
40
|
+
⚠️ **重要规则**:
|
|
41
|
+
- 目录名必须严格遵循 `RT-{seq}` 格式
|
|
42
|
+
- **禁止**在目录名中添加描述性文字(如 `RT-002-unidraft-mvp` 是错误的)
|
|
43
|
+
- **禁止**使用 `RT-CORE-{seq}` 格式,所有 RT 统一使用 `RT-{seq}` 格式
|
|
44
|
+
- 描述性信息应放在 `meta.yaml` 的 `title` 字段中,而不是目录名
|
|
45
|
+
|
|
46
|
+
**操作步骤**:
|
|
47
|
+
1. 创建目录:`RT/RT-{seq}/`(例如:`RT/RT-001/`)
|
|
48
|
+
2. 确保目录名与 RT-ID 完全一致
|
|
49
|
+
|
|
50
|
+
### 3. 创建文档
|
|
51
|
+
|
|
52
|
+
按照 AODW 规范创建所有必需文档:
|
|
53
|
+
|
|
54
|
+
**核心文档**(位于 RT 目录根目录):
|
|
55
|
+
- `meta.yaml`(必须填写 `id: RT-{seq}` 和 `title`,确保 `id` 与目录名一致)
|
|
56
|
+
- `intake.md`
|
|
57
|
+
- `decision.md`
|
|
58
|
+
- `spec.md` 或 `spec-lite.md`(根据 Profile 选择)
|
|
59
|
+
- `plan.md` 或 `plan-lite.md`(根据 Profile 选择)
|
|
60
|
+
- `impact.md`
|
|
61
|
+
- `invariants.md`
|
|
62
|
+
- `tests.md`
|
|
63
|
+
- `changelog.md`
|
|
64
|
+
|
|
65
|
+
**过程文档目录**(可选,按需创建):
|
|
66
|
+
- 如果在执行过程中需要创建过程文档(如代码审查报告、验证报告、完成总结等),必须先创建 `RT/RT-XXX/docs/` 目录
|
|
67
|
+
- 所有过程文档必须存放在 `RT/RT-XXX/docs/` 目录下,不能与核心文档混放在根目录
|
|
68
|
+
- 过程文档命名使用小写字母和连字符(如 `code-review.md`、`time-command-verification.md`)
|
|
69
|
+
- 过程文档类型包括但不限于:
|
|
70
|
+
- 代码审查报告
|
|
71
|
+
- 验证测试报告
|
|
72
|
+
- 完成总结报告
|
|
73
|
+
- 提交信息建议
|
|
74
|
+
- 状态跟踪文档
|
|
75
|
+
- 根因分析文档
|
|
76
|
+
- 改进方案文档
|
|
77
|
+
- 其他执行过程中的辅助文档
|
|
78
|
+
- 详见 `.aodw/01-core/ai-knowledge-rules.md` 第 7 节"过程文档管理规则"
|
|
79
|
+
|
|
80
|
+
### 4. 更新索引
|
|
81
|
+
|
|
82
|
+
在 `RT/index.yaml` 中:
|
|
83
|
+
1. 添加新 RT 条目(包含 id、title、type、profile、status 等)
|
|
84
|
+
2. 更新 `last_updated_at` 字段(必须使用系统命令或 API 获取真实时间,见 `.aodw/02-workflow/rt-manager.md` 第 9 节)
|
|
85
|
+
|
|
86
|
+
## 注意事项
|
|
87
|
+
|
|
88
|
+
- **目录命名**:必须严格遵循 `RT-{seq}` 格式,不能添加任何描述性文字
|
|
89
|
+
- **ID 一致性**:`meta.yaml` 中的 `id` 字段必须与目录名完全一致
|
|
90
|
+
- **描述信息**:所有描述性信息(如功能名称)应放在 `meta.yaml` 的 `title` 字段中
|
|
91
|
+
- **规则参考**:详细规则见 `.aodw/id-branch-directory-rules.md`
|
|
92
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# 生成测试计划
|
|
2
|
+
|
|
3
|
+
为 RT 生成或更新测试计划文档。
|
|
4
|
+
|
|
5
|
+
## 功能
|
|
6
|
+
- 生成测试用例矩阵
|
|
7
|
+
- 定义输入用例和预期输出
|
|
8
|
+
- 标注回归测试点
|
|
9
|
+
- 添加异常/错误/边界场景测试
|
|
10
|
+
- 提供性能/安全验证策略(如需要)
|
|
11
|
+
- 更新 tests.md 文档
|
|
12
|
+
|
|
13
|
+
## Spec-Lite 测试
|
|
14
|
+
- 必需手动验证步骤
|
|
15
|
+
- tests.md 包括:最小步骤、预期结果、失败情况
|
|
16
|
+
|
|
17
|
+
## Spec-Full 测试
|
|
18
|
+
- 必需自动化测试建议
|
|
19
|
+
- tests.md 包括:测试矩阵、集成测试计划、回归测试列表、性能/安全检查
|
|
20
|
+
|
|
21
|
+
## 使用场景
|
|
22
|
+
- RT 创建时生成初始测试计划
|
|
23
|
+
- 实现过程中更新测试用例
|
|
24
|
+
- RT 完成前验证测试完整性
|
|
25
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# 升级到 Spec-Full
|
|
2
|
+
|
|
3
|
+
将当前 RT 从 Spec-Lite 升级到 Spec-Full。
|
|
4
|
+
|
|
5
|
+
## 功能
|
|
6
|
+
- 检测是否需要升级的条件
|
|
7
|
+
- 询问用户确认升级
|
|
8
|
+
- 创建完整的 Full 文档
|
|
9
|
+
- 更新 meta.yaml 中的 profile
|
|
10
|
+
- 更新 RT/index.yaml
|
|
11
|
+
|
|
12
|
+
## 升级条件
|
|
13
|
+
当检测到以下任何情况时,必须升级:
|
|
14
|
+
- 更改影响多个模块
|
|
15
|
+
- 更改修改或引入不变量
|
|
16
|
+
- 更改影响数据库 schema 或数据模型
|
|
17
|
+
- 更改修改 API 契约
|
|
18
|
+
- 存在性能、并发或安全影响
|
|
19
|
+
- 用户明确要求更可靠的长期设计
|
|
20
|
+
|
|
21
|
+
## 文档转换
|
|
22
|
+
- spec-lite.md → spec.md
|
|
23
|
+
- plan-lite.md → plan.md
|
|
24
|
+
- 创建 impact.md、invariants.md(如果不存在)
|
|
25
|
+
- 更新 tests.md 为完整测试矩阵
|
|
26
|
+
|