@fitlab-ai/agent-infra 0.8.5 → 0.9.1
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 +6 -1
- package/README.zh-CN.md +5 -1
- package/bin/cli.ts +2 -2
- package/dist/bin/cli.js +2 -2
- package/dist/bin/internal-cli.js +103 -0
- package/dist/lib/decide.js +81 -90
- package/dist/lib/defaults.json +1 -0
- package/dist/lib/git/review-snapshot.js +79 -0
- package/dist/lib/git/workflow.js +101 -0
- package/dist/lib/internal/git-workflow.js +42 -0
- package/dist/lib/internal/platform-checks.js +119 -0
- package/dist/lib/internal/platform-comment.js +129 -0
- package/dist/lib/internal/platform-context.js +46 -0
- package/dist/lib/internal/platform-issue.js +142 -0
- package/dist/lib/internal/platform-pr.js +146 -0
- package/dist/lib/internal/platform-release-notes.js +53 -0
- package/dist/lib/internal/release-workflow.js +320 -0
- package/dist/lib/internal/task-artifact.js +67 -0
- package/dist/lib/internal/task-context.js +43 -0
- package/dist/lib/internal/task-event.js +70 -0
- package/dist/lib/internal/task-ledger.js +114 -0
- package/dist/lib/internal/task-lifecycle.js +58 -0
- package/dist/lib/internal/task-short-id.js +83 -0
- package/dist/lib/internal/task-snapshot.js +47 -0
- package/dist/lib/internal/task-verify.js +50 -0
- package/dist/lib/internal/task-warning.js +74 -0
- package/dist/lib/platform/adapters.js +14 -0
- package/dist/lib/platform/context.js +146 -0
- package/dist/lib/platform/github-client.js +124 -0
- package/dist/lib/platform/github-release-notes.js +96 -0
- package/dist/lib/platform/issue-comments.js +409 -0
- package/dist/lib/platform/issue-metadata.js +183 -0
- package/dist/lib/platform/issues.js +619 -0
- package/dist/lib/platform/merged-pr-equivalence.js +54 -0
- package/dist/lib/platform/metadata-labels.js +28 -0
- package/dist/lib/platform/pr-checks.js +216 -0
- package/dist/lib/platform/pr-summary.js +88 -0
- package/dist/lib/platform/pull-request-metadata.js +38 -0
- package/dist/lib/platform/pull-requests.js +340 -0
- package/dist/lib/platform/release-notes.js +143 -0
- package/dist/lib/platform/releases.js +82 -0
- package/dist/lib/platform/types.js +22 -0
- package/dist/lib/platform/verification-required.js +102 -0
- package/dist/lib/platform/verification-sync.js +1014 -0
- package/dist/lib/platform/verification.js +6 -0
- package/dist/lib/release/channels.js +31 -0
- package/dist/lib/release/workflow.js +32 -0
- package/dist/lib/render.js +3 -2
- package/dist/lib/run/index.js +24 -7
- package/dist/lib/sandbox/build-proxy.js +63 -0
- package/dist/lib/sandbox/capture.js +25 -3
- package/dist/lib/sandbox/commands/create.js +93 -31
- package/dist/lib/sandbox/commands/enter.js +34 -11
- package/dist/lib/sandbox/commands/list-running.js +10 -8
- package/dist/lib/sandbox/commands/rebuild.js +24 -7
- package/dist/lib/sandbox/commands/show.js +2 -2
- package/dist/lib/sandbox/commands/start.js +53 -15
- package/dist/lib/sandbox/image-build.js +2 -1
- package/dist/lib/sandbox/index.js +6 -6
- package/dist/lib/sandbox/mounts.js +36 -0
- package/dist/lib/sandbox/recovery.js +562 -0
- package/dist/lib/sandbox/runtimes/ai-tools.dockerfile +24 -3
- package/dist/lib/sandbox/runtimes/base.dockerfile +8 -1
- package/dist/lib/sandbox/runtimes/java17.dockerfile +8 -1
- package/dist/lib/sandbox/runtimes/java21.dockerfile +8 -1
- package/dist/lib/sandbox/runtimes/node20.dockerfile +8 -1
- package/dist/lib/sandbox/runtimes/node22.dockerfile +8 -1
- package/dist/lib/sandbox/runtimes/python3.dockerfile +8 -1
- package/dist/lib/sandbox/shell.js +2 -1
- package/dist/lib/sandbox/task-resolver.js +5 -1
- package/dist/lib/sandbox/tools.js +19 -0
- package/dist/lib/server/protocol.js +5 -5
- package/dist/lib/task/activity-log.js +61 -0
- package/dist/lib/task/artifact-lifecycle.js +427 -0
- package/dist/lib/task/command-options.js +30 -0
- package/dist/lib/task/commands/cat.js +36 -6
- package/dist/lib/task/commands/decisions.js +80 -46
- package/dist/lib/task/commands/files.js +21 -7
- package/dist/lib/task/commands/grep.js +55 -7
- package/dist/lib/task/commands/issue-body.js +33 -19
- package/dist/lib/task/commands/log.js +27 -70
- package/dist/lib/task/commands/show.js +20 -7
- package/dist/lib/task/commands/status.js +18 -8
- package/dist/lib/task/decision-intents.js +154 -0
- package/dist/lib/task/decision-items.js +53 -0
- package/dist/lib/task/events.js +318 -0
- package/dist/lib/task/frontmatter.js +159 -1
- package/dist/lib/task/implementation-inputs.js +117 -0
- package/dist/lib/task/index.js +12 -9
- package/dist/lib/task/issue-form.js +21 -6
- package/dist/lib/task/ledger-intents.js +185 -0
- package/dist/lib/task/ledger.js +65 -35
- package/dist/lib/task/lifecycle.js +484 -0
- package/dist/lib/task/resolve-ref.js +152 -32
- package/dist/lib/task/review-artifacts.js +101 -0
- package/dist/lib/task/review-fingerprint.js +55 -0
- package/dist/lib/task/sections.js +358 -4
- package/dist/lib/task/short-id.js +292 -7
- package/dist/lib/task/snapshot.js +95 -0
- package/dist/lib/task/verification-checks.js +8 -0
- package/dist/lib/task/verification-config.js +14 -0
- package/dist/lib/task/verification-engine.js +923 -0
- package/dist/lib/task/verification-review.js +3 -0
- package/dist/lib/task/verification-types.js +2 -0
- package/dist/lib/task/verification.js +113 -0
- package/dist/lib/task/workflow-warning-intents.js +131 -0
- package/dist/lib/task/workflow-warnings.js +10 -78
- package/dist/lib/task/write.js +241 -0
- package/lib/decide.ts +57 -97
- package/lib/defaults.json +1 -0
- package/lib/git/review-snapshot.ts +73 -0
- package/lib/git/workflow.ts +101 -0
- package/lib/internal/git-workflow.ts +37 -0
- package/lib/internal/platform-checks.ts +101 -0
- package/lib/internal/platform-comment.ts +99 -0
- package/lib/internal/platform-context.ts +33 -0
- package/lib/internal/platform-issue.ts +116 -0
- package/lib/internal/platform-pr.ts +119 -0
- package/lib/internal/platform-release-notes.ts +55 -0
- package/lib/internal/release-workflow.ts +288 -0
- package/lib/internal/task-artifact.ts +47 -0
- package/lib/internal/task-context.ts +35 -0
- package/lib/internal/task-event.ts +51 -0
- package/lib/internal/task-ledger.ts +86 -0
- package/lib/internal/task-lifecycle.ts +41 -0
- package/lib/internal/task-short-id.ts +55 -0
- package/lib/internal/task-snapshot.ts +32 -0
- package/lib/internal/task-verify.ts +33 -0
- package/lib/internal/task-warning.ts +50 -0
- package/lib/platform/adapters.ts +30 -0
- package/lib/platform/context.ts +164 -0
- package/lib/platform/github-client.ts +146 -0
- package/lib/platform/github-release-notes.ts +132 -0
- package/lib/platform/issue-comments.ts +479 -0
- package/lib/platform/issue-metadata.ts +250 -0
- package/lib/platform/issues.ts +693 -0
- package/lib/platform/merged-pr-equivalence.ts +70 -0
- package/lib/platform/metadata-labels.ts +33 -0
- package/lib/platform/pr-checks.ts +247 -0
- package/lib/platform/pr-summary.ts +90 -0
- package/lib/platform/pull-request-metadata.ts +69 -0
- package/lib/platform/pull-requests.ts +386 -0
- package/lib/platform/release-notes.ts +167 -0
- package/lib/platform/releases.ts +71 -0
- package/lib/platform/types.ts +74 -0
- package/lib/platform/verification-required.ts +109 -0
- package/{runtime/platform-adapters/platform-sync.github.js → lib/platform/verification-sync.ts} +198 -367
- package/lib/platform/verification.ts +11 -0
- package/lib/release/channels.ts +30 -0
- package/lib/release/workflow.ts +31 -0
- package/lib/render.ts +3 -2
- package/lib/run/index.ts +25 -7
- package/lib/sandbox/build-proxy.ts +94 -0
- package/lib/sandbox/capture.ts +29 -3
- package/lib/sandbox/commands/create.ts +120 -36
- package/lib/sandbox/commands/enter.ts +38 -11
- package/lib/sandbox/commands/list-running.ts +10 -8
- package/lib/sandbox/commands/rebuild.ts +29 -7
- package/lib/sandbox/commands/show.ts +2 -2
- package/lib/sandbox/commands/start.ts +50 -16
- package/lib/sandbox/image-build.ts +4 -1
- package/lib/sandbox/index.ts +6 -6
- package/lib/sandbox/mounts.ts +55 -0
- package/lib/sandbox/recovery.ts +828 -0
- package/lib/sandbox/runtimes/ai-tools.dockerfile +24 -3
- package/lib/sandbox/runtimes/base.dockerfile +8 -1
- package/lib/sandbox/runtimes/java17.dockerfile +8 -1
- package/lib/sandbox/runtimes/java21.dockerfile +8 -1
- package/lib/sandbox/runtimes/node20.dockerfile +8 -1
- package/lib/sandbox/runtimes/node22.dockerfile +8 -1
- package/lib/sandbox/runtimes/python3.dockerfile +8 -1
- package/lib/sandbox/shell.ts +3 -1
- package/lib/sandbox/task-resolver.ts +5 -1
- package/lib/sandbox/tools.ts +31 -0
- package/lib/server/protocol.ts +5 -5
- package/lib/task/activity-log.ts +62 -0
- package/lib/task/artifact-lifecycle.ts +484 -0
- package/lib/task/command-options.ts +32 -0
- package/lib/task/commands/cat.ts +22 -9
- package/lib/task/commands/decisions.ts +49 -47
- package/lib/task/commands/files.ts +14 -6
- package/lib/task/commands/grep.ts +34 -7
- package/lib/task/commands/issue-body.ts +26 -21
- package/lib/task/commands/log.ts +17 -70
- package/lib/task/commands/show.ts +14 -6
- package/lib/task/commands/status.ts +17 -7
- package/lib/task/decision-intents.ts +163 -0
- package/lib/task/decision-items.ts +64 -0
- package/lib/task/events.ts +320 -0
- package/lib/task/frontmatter.ts +202 -2
- package/lib/task/implementation-inputs.ts +137 -0
- package/lib/task/index.ts +12 -9
- package/lib/task/issue-form.ts +24 -6
- package/lib/task/ledger-intents.ts +201 -0
- package/lib/task/ledger.ts +77 -31
- package/lib/task/lifecycle.ts +458 -0
- package/lib/task/resolve-ref.ts +197 -36
- package/{templates/.agents/scripts/lib/review-artifacts.js → lib/task/review-artifacts.ts} +11 -12
- package/{templates/.agents/scripts/lib/post-review-commit.js → lib/task/review-fingerprint.ts} +26 -12
- package/lib/task/sections.ts +486 -4
- package/lib/task/short-id.ts +403 -9
- package/lib/task/snapshot.ts +143 -0
- package/lib/task/verification-checks.ts +9 -0
- package/lib/task/verification-config.ts +20 -0
- package/{templates/.agents/scripts/validate-artifact.js → lib/task/verification-engine.ts} +230 -421
- package/lib/task/verification-review.ts +10 -0
- package/lib/task/verification-types.ts +29 -0
- package/lib/task/verification.ts +156 -0
- package/lib/task/workflow-warning-intents.ts +142 -0
- package/lib/task/workflow-warnings.ts +10 -78
- package/lib/task/write.ts +468 -0
- package/package.json +4 -2
- package/templates/.agents/README.en.md +4 -3
- package/templates/.agents/README.zh-CN.md +4 -3
- package/templates/.agents/rules/README.en.md +6 -5
- package/templates/.agents/rules/README.zh-CN.md +6 -5
- package/templates/.agents/rules/create-issue.en.md +1 -1
- package/templates/.agents/rules/create-issue.github.en.md +5 -184
- package/templates/.agents/rules/create-issue.github.zh-CN.md +12 -178
- package/templates/.agents/rules/create-issue.zh-CN.md +1 -1
- package/templates/.agents/rules/human-decision-context.en.md +36 -0
- package/templates/.agents/rules/human-decision-context.zh-CN.md +36 -0
- package/templates/.agents/rules/issue-fields.github.en.md +4 -148
- package/templates/.agents/rules/issue-fields.github.zh-CN.md +9 -144
- package/templates/.agents/rules/issue-pr-commands.en.md +43 -3
- package/templates/.agents/rules/issue-pr-commands.github.en.md +15 -220
- package/templates/.agents/rules/issue-pr-commands.github.zh-CN.md +23 -213
- package/templates/.agents/rules/issue-pr-commands.zh-CN.md +45 -3
- package/templates/.agents/rules/issue-sync.en.md +1 -1
- package/templates/.agents/rules/issue-sync.github.en.md +14 -301
- package/templates/.agents/rules/issue-sync.github.zh-CN.md +36 -287
- package/templates/.agents/rules/issue-sync.zh-CN.md +1 -1
- package/templates/.agents/rules/milestone-inference.en.md +1 -1
- package/templates/.agents/rules/milestone-inference.github.en.md +7 -119
- package/templates/.agents/rules/milestone-inference.github.zh-CN.md +8 -108
- package/templates/.agents/rules/milestone-inference.zh-CN.md +1 -1
- package/templates/.agents/rules/next-step-output.en.md +12 -11
- package/templates/.agents/rules/next-step-output.zh-CN.md +12 -11
- package/templates/.agents/rules/no-mid-flow-questions.en.md +3 -3
- package/templates/.agents/rules/no-mid-flow-questions.zh-CN.md +3 -3
- package/templates/.agents/rules/pr-checks-commands.en.md +16 -3
- package/templates/.agents/rules/pr-checks-commands.github.en.md +10 -54
- package/templates/.agents/rules/pr-checks-commands.github.zh-CN.md +19 -47
- package/templates/.agents/rules/pr-checks-commands.zh-CN.md +30 -3
- package/templates/.agents/rules/pr-sync.en.md +30 -3
- package/templates/.agents/rules/pr-sync.github.en.md +12 -115
- package/templates/.agents/rules/pr-sync.github.zh-CN.md +26 -104
- package/templates/.agents/rules/pr-sync.zh-CN.md +43 -3
- package/templates/.agents/rules/release-commands.en.md +2 -2
- package/templates/.agents/rules/release-commands.github.en.md +10 -40
- package/templates/.agents/rules/release-commands.github.zh-CN.md +9 -39
- package/templates/.agents/rules/release-commands.zh-CN.md +2 -2
- package/templates/.agents/rules/review-handshake.en.md +10 -6
- package/templates/.agents/rules/review-handshake.zh-CN.md +10 -6
- package/templates/.agents/rules/task-management.en.md +11 -2
- package/templates/.agents/rules/task-management.zh-CN.md +11 -3
- package/templates/.agents/rules/task-short-id.en.md +25 -29
- package/templates/.agents/rules/task-short-id.zh-CN.md +20 -23
- package/templates/.agents/rules/testing-discipline.en.md +20 -2
- package/templates/.agents/rules/testing-discipline.zh-CN.md +20 -2
- package/templates/.agents/scripts/lib/agent-infra-package.js +1 -9
- package/templates/.agents/scripts/task-short-id.js +71 -533
- package/templates/.agents/skills/analyze-task/SKILL.en.md +26 -56
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +30 -60
- package/templates/.agents/skills/analyze-task/config/verify.en.json +1 -3
- package/templates/.agents/skills/analyze-task/config/verify.zh-CN.json +1 -3
- package/templates/.agents/skills/block-task/SKILL.en.md +21 -47
- package/templates/.agents/skills/block-task/SKILL.zh-CN.md +23 -47
- package/templates/.agents/skills/block-task/config/verify.json +1 -2
- package/templates/.agents/skills/cancel-task/SKILL.en.md +16 -45
- package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +16 -45
- package/templates/.agents/skills/cancel-task/config/verify.json +1 -2
- package/templates/.agents/skills/check-task/SKILL.en.md +6 -3
- package/templates/.agents/skills/check-task/SKILL.zh-CN.md +6 -3
- package/templates/.agents/skills/close-codescan/SKILL.en.md +6 -24
- package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +6 -24
- package/templates/.agents/skills/close-dependabot/SKILL.en.md +6 -24
- package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +6 -24
- package/templates/.agents/skills/code-task/SKILL.en.md +22 -35
- package/templates/.agents/skills/code-task/SKILL.zh-CN.md +28 -44
- package/templates/.agents/skills/code-task/config/verify.en.json +3 -3
- package/templates/.agents/skills/code-task/config/verify.zh-CN.json +3 -3
- package/templates/.agents/skills/code-task/reference/dual-mode.en.md +13 -9
- package/templates/.agents/skills/code-task/reference/dual-mode.zh-CN.md +13 -9
- package/templates/.agents/skills/code-task/reference/fix-mode.en.md +1 -1
- package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +1 -1
- package/templates/.agents/skills/code-task/reference/report-template.en.md +11 -1
- package/templates/.agents/skills/code-task/reference/report-template.zh-CN.md +11 -1
- package/templates/.agents/skills/commit/SKILL.en.md +13 -11
- package/templates/.agents/skills/commit/SKILL.zh-CN.md +13 -11
- package/templates/.agents/skills/commit/config/verify.json +1 -2
- package/templates/.agents/skills/commit/reference/commit-message.en.md +1 -11
- package/templates/.agents/skills/commit/reference/commit-message.zh-CN.md +1 -11
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.en.md +4 -8
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.zh-CN.md +4 -8
- package/templates/.agents/skills/commit/reference/pr-summary-sync.en.md +6 -18
- package/templates/.agents/skills/commit/reference/pr-summary-sync.zh-CN.md +5 -17
- package/templates/.agents/skills/commit/reference/task-status-update.en.md +13 -0
- package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +13 -0
- package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +13 -36
- package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +13 -36
- package/templates/.agents/skills/complete-manual-validation/config/verify.en.json +1 -3
- package/templates/.agents/skills/complete-manual-validation/config/verify.zh-CN.json +1 -3
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +10 -54
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +10 -79
- package/templates/.agents/skills/complete-task/SKILL.en.md +59 -63
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +59 -63
- package/templates/.agents/skills/complete-task/config/verify.en.json +10 -7
- package/templates/.agents/skills/complete-task/config/verify.zh-CN.json +10 -7
- package/templates/.agents/skills/create-pr/SKILL.en.md +19 -44
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +19 -43
- package/templates/.agents/skills/create-pr/config/verify.json +1 -2
- package/templates/.agents/skills/create-pr/reference/comment-publish.en.md +8 -12
- package/templates/.agents/skills/create-pr/reference/comment-publish.zh-CN.md +7 -11
- package/templates/.agents/skills/create-release-note/SKILL.en.md +17 -38
- package/templates/.agents/skills/create-release-note/SKILL.zh-CN.md +16 -37
- package/templates/.agents/skills/create-task/SKILL.en.md +16 -13
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +16 -13
- package/templates/.agents/skills/create-task/config/verify.json +1 -2
- package/templates/.agents/skills/create-task/reference/context-capture.en.md +29 -0
- package/templates/.agents/skills/create-task/reference/context-capture.zh-CN.md +29 -0
- package/templates/.agents/skills/import-codescan/SKILL.en.md +2 -2
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/import-codescan/config/verify.json +1 -2
- package/templates/.agents/skills/import-dependabot/SKILL.en.md +2 -2
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/import-dependabot/config/verify.json +1 -2
- package/templates/.agents/skills/import-issue/SKILL.en.md +9 -13
- package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +10 -14
- package/templates/.agents/skills/import-issue/config/verify.json +1 -2
- package/templates/.agents/skills/plan-task/SKILL.en.md +17 -42
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +22 -49
- package/templates/.agents/skills/plan-task/config/verify.en.json +1 -3
- package/templates/.agents/skills/plan-task/config/verify.zh-CN.json +1 -3
- package/templates/.agents/skills/post-release/SKILL.en.md +11 -81
- package/templates/.agents/skills/post-release/SKILL.zh-CN.md +8 -78
- package/templates/.agents/skills/refine-title/SKILL.en.md +1 -1
- package/templates/.agents/skills/refine-title/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/release/SKILL.en.md +16 -163
- package/templates/.agents/skills/release/SKILL.zh-CN.md +15 -162
- package/templates/.agents/skills/restore-task/SKILL.en.md +11 -29
- package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +11 -29
- package/templates/.agents/skills/restore-task/config/verify.json +1 -2
- package/templates/.agents/skills/review-analysis/SKILL.en.md +13 -25
- package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +13 -33
- package/templates/.agents/skills/review-analysis/config/verify.en.json +3 -4
- package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +3 -4
- package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +9 -12
- package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +9 -12
- package/templates/.agents/skills/review-analysis/reference/report-template.en.md +9 -2
- package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +9 -2
- package/templates/.agents/skills/review-analysis/reference/review-criteria.en.md +7 -0
- package/templates/.agents/skills/review-analysis/reference/review-criteria.zh-CN.md +7 -0
- package/templates/.agents/skills/review-code/SKILL.en.md +22 -36
- package/templates/.agents/skills/review-code/SKILL.zh-CN.md +23 -41
- package/templates/.agents/skills/review-code/config/verify.en.json +3 -4
- package/templates/.agents/skills/review-code/config/verify.zh-CN.json +3 -4
- package/templates/.agents/skills/review-code/reference/output-templates.en.md +56 -18
- package/templates/.agents/skills/review-code/reference/output-templates.zh-CN.md +56 -18
- package/templates/.agents/skills/review-code/reference/report-template.en.md +11 -4
- package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +11 -4
- package/templates/.agents/skills/review-code/reference/review-criteria.en.md +7 -0
- package/templates/.agents/skills/review-code/reference/review-criteria.zh-CN.md +7 -0
- package/templates/.agents/skills/review-plan/SKILL.en.md +13 -25
- package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +13 -33
- package/templates/.agents/skills/review-plan/config/verify.en.json +3 -4
- package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +3 -4
- package/templates/.agents/skills/review-plan/reference/output-templates.en.md +9 -12
- package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +9 -12
- package/templates/.agents/skills/review-plan/reference/report-template.en.md +9 -2
- package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +9 -2
- package/templates/.agents/skills/review-plan/reference/review-criteria.en.md +7 -0
- package/templates/.agents/skills/review-plan/reference/review-criteria.zh-CN.md +7 -0
- package/templates/.agents/skills/update-agent-infra/SKILL.en.md +1 -2
- package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +1 -2
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +3 -15
- package/templates/.agents/skills/watch-pr/SKILL.en.md +24 -14
- package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +25 -15
- package/templates/.agents/skills/watch-pr/config/verify.json +1 -2
- package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.en.md +2 -2
- package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.zh-CN.md +2 -2
- package/templates/.agents/templates/task.en.md +24 -1
- package/templates/.agents/templates/task.zh-CN.md +24 -1
- package/templates/.claude/commands/analyze-task.en.md +1 -1
- package/templates/.claude/commands/analyze-task.zh-CN.md +1 -1
- package/templates/.claude/commands/block-task.en.md +1 -1
- package/templates/.claude/commands/block-task.zh-CN.md +1 -1
- package/templates/.claude/commands/cancel-task.en.md +1 -1
- package/templates/.claude/commands/cancel-task.zh-CN.md +1 -1
- package/templates/.claude/commands/check-task.en.md +1 -1
- package/templates/.claude/commands/check-task.zh-CN.md +1 -1
- package/templates/.claude/commands/code-task.en.md +1 -1
- package/templates/.claude/commands/code-task.zh-CN.md +1 -1
- package/templates/.claude/commands/commit.en.md +1 -0
- package/templates/.claude/commands/commit.zh-CN.md +1 -0
- package/templates/.claude/commands/complete-manual-validation.en.md +1 -1
- package/templates/.claude/commands/complete-manual-validation.zh-CN.md +1 -1
- package/templates/.claude/commands/complete-task.en.md +1 -1
- package/templates/.claude/commands/complete-task.zh-CN.md +1 -1
- package/templates/.claude/commands/create-pr.en.md +1 -1
- package/templates/.claude/commands/create-pr.zh-CN.md +1 -1
- package/templates/.claude/commands/plan-task.en.md +1 -1
- package/templates/.claude/commands/plan-task.zh-CN.md +1 -1
- package/templates/.claude/commands/review-analysis.en.md +1 -1
- package/templates/.claude/commands/review-analysis.zh-CN.md +1 -1
- package/templates/.claude/commands/review-code.en.md +1 -1
- package/templates/.claude/commands/review-code.zh-CN.md +1 -1
- package/templates/.claude/commands/review-plan.en.md +1 -1
- package/templates/.claude/commands/review-plan.zh-CN.md +1 -1
- package/templates/.claude/commands/watch-pr.en.md +1 -1
- package/templates/.claude/commands/watch-pr.zh-CN.md +1 -1
- package/templates/.gemini/commands/_project_/analyze-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/analyze-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/block-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/block-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/cancel-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/cancel-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/check-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/check-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/code-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/code-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/commit.en.toml +4 -0
- package/templates/.gemini/commands/_project_/commit.zh-CN.toml +4 -0
- package/templates/.gemini/commands/_project_/complete-manual-validation.en.toml +2 -0
- package/templates/.gemini/commands/_project_/complete-manual-validation.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/complete-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/complete-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/create-pr.en.toml +2 -0
- package/templates/.gemini/commands/_project_/create-pr.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/plan-task.en.toml +2 -0
- package/templates/.gemini/commands/_project_/plan-task.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/review-analysis.en.toml +2 -0
- package/templates/.gemini/commands/_project_/review-analysis.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/review-code.en.toml +2 -0
- package/templates/.gemini/commands/_project_/review-code.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/review-plan.en.toml +2 -0
- package/templates/.gemini/commands/_project_/review-plan.zh-CN.toml +2 -0
- package/templates/.gemini/commands/_project_/watch-pr.en.toml +2 -0
- package/templates/.gemini/commands/_project_/watch-pr.zh-CN.toml +2 -0
- package/templates/.git-hooks/check-large-files.cjs +92 -0
- package/templates/.git-hooks/check-version-format.sh +5 -1
- package/templates/.git-hooks/pre-commit +1 -0
- package/templates/.opencode/commands/analyze-task.en.md +1 -1
- package/templates/.opencode/commands/analyze-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/check-task.en.md +1 -1
- package/templates/.opencode/commands/check-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/code-task.en.md +1 -1
- package/templates/.opencode/commands/code-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/commit.en.md +2 -0
- package/templates/.opencode/commands/commit.zh-CN.md +2 -0
- package/templates/.opencode/commands/complete-task.en.md +1 -1
- package/templates/.opencode/commands/complete-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/plan-task.en.md +1 -1
- package/templates/.opencode/commands/plan-task.zh-CN.md +1 -1
- package/templates/.opencode/commands/review-analysis.en.md +1 -1
- package/templates/.opencode/commands/review-analysis.zh-CN.md +1 -1
- package/templates/.opencode/commands/review-code.en.md +1 -1
- package/templates/.opencode/commands/review-code.zh-CN.md +1 -1
- package/templates/.opencode/commands/review-plan.en.md +1 -1
- package/templates/.opencode/commands/review-plan.zh-CN.md +1 -1
- package/templates/.agents/scripts/platform-adapters/platform-sync.github.js +0 -40
- package/templates/.agents/scripts/platform-adapters/platform-sync.js +0 -13
- package/templates/.agents/scripts/review-diff-fingerprint.js +0 -170
- package/templates/.agents/scripts/workflow-warnings.js +0 -290
- package/templates/.agents/skills/code-task/scripts/detect-mode.js +0 -257
- package/templates/.agents/skills/release/scripts/manage-milestones.github.sh +0 -80
- package/templates/.agents/skills/release/scripts/manage-milestones.sh +0 -6
|
@@ -3,6 +3,7 @@ name: plan-task
|
|
|
3
3
|
description: >
|
|
4
4
|
为任务设计技术方案和实施计划。
|
|
5
5
|
当需求已明确、需要在编码前形成技术方案时使用。
|
|
6
|
+
仅当对话包含可解析的任务引用时才可自动调用本技能。
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# 设计技术方案
|
|
@@ -22,26 +23,24 @@ description: >
|
|
|
22
23
|
运行以下命令,并把原文粘贴到回复正文和本轮产物的 `## 状态核对` 段:
|
|
23
24
|
|
|
24
25
|
```bash
|
|
25
|
-
|
|
26
|
-
ls -la .agents/workspace/active/{task-id}/
|
|
27
|
-
tail .agents/workspace/active/{task-id}/task.md
|
|
26
|
+
agent-infra-internal task-snapshot {task-id} --format text
|
|
28
27
|
```
|
|
29
28
|
|
|
30
29
|
状态核对完成前,禁止任何关于外部状态的断言(例如“代码没变”“测试已通过”“没有其他引用”),包括思考阶段。本门禁只提供结构下限;逐条证据配对和真实性仍需按报告模板与审查要求核对。
|
|
31
30
|
|
|
32
|
-
##
|
|
31
|
+
## 任务上下文解析
|
|
33
32
|
|
|
34
|
-
>
|
|
33
|
+
> 入口允许省略 task ref,也接受旧位置 task ref 或 `--task <ref>` / `-t <ref>`。先从完整参数中分离 task scope 并原样保留其他业务操作数,再调用 `agent-infra-internal task-context resolve {task-scope}`;`{task-scope}` 为空、位置 ref 或 task flag 之一。只读取结构化结果的 `taskId`,后续把 `{task-id}` 绑定为该完整 `TASK-YYYYMMDD-HHMMSS`。解析失败时透传非零退出码,不自行扫描任务。
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
> 解析任务引用,并确认任务位于本技能支持的状态或目录且存在 `task.md`;无法定位时按未找到任务处理并停止。
|
|
37
36
|
|
|
38
|
-
|
|
37
|
+
## 步骤开始:声明 started 事件
|
|
39
38
|
|
|
40
|
-
|
|
41
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Task (Round {N}) [started]** by {agent} — started
|
|
42
|
-
```
|
|
39
|
+
确认前置条件和轮次后、本轮第一个产出动作之前执行:
|
|
43
40
|
|
|
44
|
-
|
|
41
|
+
```bash
|
|
42
|
+
agent-infra-internal task-event {task-id} plan.started --agent {agent}
|
|
43
|
+
```
|
|
45
44
|
|
|
46
45
|
## 执行步骤
|
|
47
46
|
### 1. 验证前置条件
|
|
@@ -54,22 +53,13 @@ tail .agents/workspace/active/{task-id}/task.md
|
|
|
54
53
|
|
|
55
54
|
如果任一文件缺失,提示用户先完成前置步骤。
|
|
56
55
|
|
|
57
|
-
### 2.
|
|
58
|
-
|
|
59
|
-
扫描 `.agents/workspace/active/{task-id}/` 目录中的方案产物文件:
|
|
60
|
-
- 如果不存在 `plan.md` 且不存在 `plan-r*.md` → 本轮为第 1 轮,产出 `plan.md`
|
|
61
|
-
- 如果存在 `plan.md` 且不存在 `plan-r*.md` → 本轮为第 2 轮,产出 `plan-r2.md`
|
|
62
|
-
- 如果存在 `plan-r{N}.md` → 本轮为第 N+1 轮,产出 `plan-r{N+1}.md`
|
|
56
|
+
### 2. 解析方案上下文
|
|
63
57
|
|
|
64
|
-
|
|
65
|
-
- `{plan-round}`:本轮方案轮次
|
|
66
|
-
- `{plan-artifact}`:本轮方案产物文件名
|
|
58
|
+
运行 `agent-infra-internal task-artifact {task-id} inspect --family plan`。仅当结果为 `ready` 时继续;从 `inputs` 取得最新 `{analysis-artifact}`,从 `next.round` / `next.name` 取得 `{plan-round}` / `{plan-artifact}`。不得自行扫描轮次或拼装文件名。随后执行 started 事件并复核返回身份。
|
|
67
59
|
|
|
68
60
|
### 3. 阅读需求分析
|
|
69
61
|
|
|
70
|
-
|
|
71
|
-
- 如果存在 `analysis-r{N}.md`,读取最高 N 的文件
|
|
72
|
-
- 否则读取 `analysis.md`
|
|
62
|
+
读取步骤 2 核心返回的最新 `{analysis-artifact}`,
|
|
73
63
|
以理解:
|
|
74
64
|
- 需求及其背景
|
|
75
65
|
- 相关文件和代码结构
|
|
@@ -77,7 +67,7 @@ tail .agents/workspace/active/{task-id}/task.md
|
|
|
77
67
|
- 已识别的技术风险
|
|
78
68
|
- 工作量和复杂度评估
|
|
79
69
|
|
|
80
|
-
**Round ≥ 2:响应上一轮审查(仅当存在审查产物时)**:若任务目录存在 `review-plan.md` / `review-plan-r{N}.md`,读取最高轮次的审查报告;在本轮方案产物中新增 `## 对上一轮审查的响应` 段,对每条发现先 Read/Grep 核实,再按 `.agents/rules/review-handshake.md` 的四态(`accepted` / `adjusted` / `refuted` / `cannot-judge
|
|
70
|
+
**Round ≥ 2:响应上一轮审查(仅当存在审查产物时)**:若任务目录存在 `review-plan.md` / `review-plan-r{N}.md`,读取最高轮次的审查报告;在本轮方案产物中新增 `## 对上一轮审查的响应` 段,对每条发现先 Read/Grep 核实,再按 `.agents/rules/review-handshake.md` 的四态(`accepted` / `adjusted` / `refuted` / `cannot-judge`)处置——每态都要附相称证据,不默认顺从;随后逐条调用 `agent-infra-internal task-ledger {task-id} finding-respond --id {ledger-id} --round {plan-round} --status {四态} --evidence {相称证据}`。未决分歧写入 `## 未决问题`。Round 1 无审查,跳过本段。
|
|
81
71
|
|
|
82
72
|
### 4. 理解问题
|
|
83
73
|
|
|
@@ -98,7 +88,7 @@ tail .agents/workspace/active/{task-id}/task.md
|
|
|
98
88
|
- [ ] 定义验证策略(测试、手动检查)
|
|
99
89
|
- [ ] 评估方案的影响和风险
|
|
100
90
|
|
|
101
|
-
遇到本轮新增的关键设计决策时,按 `.agents/rules/no-mid-flow-questions.md`
|
|
91
|
+
遇到本轮新增的关键设计决策时,按 `.agents/rules/no-mid-flow-questions.md` 判据,先调用 `agent-infra-internal task-ledger {task-id} decision-next-id` 取得 `HD-N`,按 `.agents/rules/human-decision-context.md` 写入方案产物的 `## 人工裁决待办` 段 `### HD-N:<标题> [needs-human-decision]`,再调用 `decision-upsert --id {HD-N} --stage plan --artifact {plan-artifact}`;普通未决问题仍写 `## 未决问题`。
|
|
102
92
|
|
|
103
93
|
**设计原则**:
|
|
104
94
|
1. **架构合理性**:选择结构正确的方案,改动大小不是首要依据。不要为了减少 diff 而在不合理的结构上叠加
|
|
@@ -113,42 +103,25 @@ tail .agents/workspace/active/{task-id}/task.md
|
|
|
113
103
|
|
|
114
104
|
### 7. 更新任务状态
|
|
115
105
|
|
|
116
|
-
获取当前时间:
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
date "+%Y-%m-%d %H:%M:%S%z" | sed 's/\([+-][0-9][0-9]\)\([0-9][0-9]\)$/\1:\2/'
|
|
120
|
-
```
|
|
121
|
-
|
|
122
106
|
更新 `.agents/workspace/active/{task-id}/task.md`:
|
|
123
|
-
-
|
|
124
|
-
- `assigned_to`:{当前 AI 代理}
|
|
125
|
-
- `updated_at`:{当前时间}
|
|
126
|
-
- `agent_infra_version`:按 `.agents/rules/version-stamp.md` 取值
|
|
127
|
-
- 记录本轮方案产物:`{plan-artifact}`(Round `{plan-round}`)
|
|
128
|
-
- 如任务模板包含 `## 设计` 段落,更新为指向 `{plan-artifact}` 的链接
|
|
129
|
-
- 在工作流进度中标记 technical-design 为已完成,并注明实际轮次(如果任务模板支持)
|
|
107
|
+
- 仅更新工作量、审查响应等本技能拥有的业务内容;产物链接、阶段与完成日志由 completed 事件统一登记
|
|
130
108
|
- 在追加工作流 Activity Log 条目之前,基于技术方案(实施步骤数、涉及文件、测试矩阵范围、集成面)重估 `effort`。若重估值与 `task.md` 当前值不一致:
|
|
131
109
|
- 用新值覆盖 frontmatter 的 `effort` 字段
|
|
132
110
|
- 在本轮方案产物 `{plan-artifact}` 中追加 `## 工作量重估` 段,记录一条:`effort {old} → {new} (rationale: {基于本轮方案的简短依据})`
|
|
133
111
|
若重估值与当前值一致,跳过:不写入 `## 工作量重估` 段。后续 Flow A 同步会读取可能更新过的 frontmatter,并自动把新值同步到 Issue。
|
|
134
|
-
-
|
|
135
|
-
```
|
|
136
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Task (Round {N})** by {agent} — Plan completed, awaiting human review → {artifact-filename}
|
|
137
|
-
```
|
|
112
|
+
- 完成业务内容更新后执行 `agent-infra-internal task-event {task-id} plan.completed --agent {agent} --artifact {plan-artifact}`,由核心原子登记链接、阶段、代理、时间、版本和 Activity Log。
|
|
138
113
|
|
|
139
114
|
如果 task.md 中存在有效的 `issue_number`,执行以下同步操作(任一失败则跳过并继续):
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
- 发布 `{plan-artifact}` 评论
|
|
144
|
-
- 读取 `.agents/rules/issue-fields.md`,按流程 A 把 `task.md` 中所有非空的 Issue 字段(`priority`/`effort`/`start_date`/`target_date`)同步到 Issue(幂等;`has_push=false` 或取数/写入失败时跳过,不阻断)
|
|
115
|
+
- 调用 `agent-infra-internal platform-issue sync {task-id} --agent {agent} --status pending-design-work --fields`
|
|
116
|
+
- 调用 `agent-infra-internal platform-comment sync {task-id} --kind task --agent {agent}`
|
|
117
|
+
- 调用 `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {plan-artifact} --agent {agent}`
|
|
145
118
|
|
|
146
119
|
### 8. 完成校验
|
|
147
120
|
|
|
148
121
|
运行完成校验,确认任务产物和同步状态符合规范:
|
|
149
122
|
|
|
150
123
|
```bash
|
|
151
|
-
|
|
124
|
+
agent-infra-internal task-verify {task-id} plan.completed --artifact {plan-artifact} --format text
|
|
152
125
|
```
|
|
153
126
|
|
|
154
127
|
处理结果:
|
|
@@ -162,7 +135,7 @@ node .agents/scripts/validate-artifact.js gate plan-task .agents/workspace/activ
|
|
|
162
135
|
|
|
163
136
|
> 仅在校验通过后执行本步骤。
|
|
164
137
|
|
|
165
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染最终输出前,先读取 `.agents/rules/next-step-output.md` 并落实其两类规则:(1) 「下一步」命令把 `{task-ref}` 渲染为短号
|
|
138
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染最终输出前,先读取 `.agents/rules/next-step-output.md` 并落实其两类规则:(1) 「下一步」命令把 `{task-ref}` 渲染为短号 `NN`(未分配/已释放时回退完整 TASK-id);(2) 在面向用户输出的绝对最后一行追加 `Completed at` 收尾行(成功、错误、早退等任何面向用户输出都适用,不限于校验通过的成功态)。
|
|
166
139
|
|
|
167
140
|
输出格式:
|
|
168
141
|
```
|
|
@@ -27,14 +27,12 @@
|
|
|
27
27
|
"Verification Strategy",
|
|
28
28
|
"State Check"
|
|
29
29
|
],
|
|
30
|
-
"freshness_minutes": 30,
|
|
31
30
|
"required_patterns": [
|
|
32
31
|
"^\\$ "
|
|
33
32
|
]
|
|
34
33
|
},
|
|
35
34
|
"activity-log": {
|
|
36
|
-
"expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)"
|
|
37
|
-
"freshness_minutes": 30
|
|
35
|
+
"expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)"
|
|
38
36
|
},
|
|
39
37
|
"review-ledger": {
|
|
40
38
|
"stage_scope": ["analysis"]
|
|
@@ -27,14 +27,12 @@
|
|
|
27
27
|
"验证策略",
|
|
28
28
|
"状态核对"
|
|
29
29
|
],
|
|
30
|
-
"freshness_minutes": 30,
|
|
31
30
|
"required_patterns": [
|
|
32
31
|
"^\\$ "
|
|
33
32
|
]
|
|
34
33
|
},
|
|
35
34
|
"activity-log": {
|
|
36
|
-
"expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)"
|
|
37
|
-
"freshness_minutes": 30
|
|
35
|
+
"expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)"
|
|
38
36
|
},
|
|
39
37
|
"review-ledger": {
|
|
40
38
|
"stage_scope": ["analysis"]
|
|
@@ -1,98 +1,28 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: post-release
|
|
3
3
|
description: >
|
|
4
|
-
Run post-release
|
|
5
|
-
Use
|
|
4
|
+
Run post-release processing.
|
|
5
|
+
Use after a version has been published and needs finalization.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# Post-release
|
|
8
|
+
# Post-release
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
## Execution Flow
|
|
13
|
-
|
|
14
|
-
### 1. Detect the Latest Released Version
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
- Detect the latest `vX.Y.Z` tag, then strip the `v` prefix when you need the version number in later steps
|
|
21
|
-
- If no tag is found, error: "No released version tag found. Please create and push a release tag first."
|
|
22
|
-
|
|
23
|
-
### 2. Verify Clean Workspace
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
git status --short
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
- If there are uncommitted changes, error: "Workspace has uncommitted changes. Please commit or stash first."
|
|
30
|
-
|
|
31
|
-
### 3. Prepare the Next Development Version
|
|
32
|
-
|
|
33
|
-
<!-- TODO: Replace this step with your project's version bump command -->
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
# TODO: Replace with your project's post-release version bump command
|
|
37
|
-
# npm version prerelease --preid=alpha --no-git-tag-version
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
- Update lockfiles or generated version metadata if your project needs them
|
|
41
|
-
- Keep all version references in sync after the bump
|
|
42
|
-
|
|
43
|
-
### 4. Rebuild Generated Artifacts
|
|
44
|
-
|
|
45
|
-
<!-- TODO: Replace this step with your project's rebuild command -->
|
|
10
|
+
## 1. Inspect Channel Facts
|
|
46
11
|
|
|
47
12
|
```bash
|
|
48
|
-
|
|
13
|
+
agent-infra-internal release-workflow inspect {version}
|
|
49
14
|
```
|
|
50
15
|
|
|
51
|
-
|
|
52
|
-
- If your project has no generated artifacts, remove this step in the project-specific copy
|
|
16
|
+
Pending or unknown is blocked; a definite failure is failed.
|
|
53
17
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<!-- TODO: Add project-specific follow-up tasks such as demo capture, docs publishing, or downstream notifications -->
|
|
57
|
-
|
|
58
|
-
- Examples: record a terminal demo, refresh a docs site, notify downstream teams, update release dashboards
|
|
59
|
-
- If a task here displays or captures the just-released version (e.g., recording a CLI demo), move it **before** Step 3 — otherwise it will reflect the next development version, not the release
|
|
60
|
-
- If there are no extra tasks, remove this step in the project-specific copy
|
|
61
|
-
|
|
62
|
-
### 6. Create the Follow-up Commit
|
|
18
|
+
## 2. Run Post-release
|
|
63
19
|
|
|
64
20
|
```bash
|
|
65
|
-
|
|
66
|
-
git commit -m "chore: prepare next dev iteration after v{released-version}"
|
|
21
|
+
agent-infra-internal release-workflow post {version}
|
|
67
22
|
```
|
|
68
23
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
72
|
-
|
|
73
|
-
```
|
|
74
|
-
Post-release tasks completed.
|
|
75
|
-
|
|
76
|
-
Summary:
|
|
77
|
-
- Released version: {released-version}
|
|
78
|
-
- Next development version: {new-version}
|
|
79
|
-
- Extra tasks completed: {summary}
|
|
80
|
-
|
|
81
|
-
Next step (manual):
|
|
82
|
-
- Push branch: git push origin {current-branch}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Notes
|
|
86
|
-
|
|
87
|
-
1. **No arguments**: Detect the released version from the latest tag instead of asking the user to repeat it
|
|
88
|
-
2. **Clean workspace required**: Avoid mixing unrelated edits into the post-release commit
|
|
89
|
-
3. **Project-specific customization**: Replace the TODO steps with the commands your project actually needs
|
|
90
|
-
4. **Local-only workflow**: This skill prepares local changes and does not push automatically
|
|
24
|
+
The core owns build, next development version, inline artifacts, explicit-path commit, normal push, and post-write inspection.
|
|
91
25
|
|
|
92
|
-
##
|
|
26
|
+
## 3. Report the Snapshot
|
|
93
27
|
|
|
94
|
-
|
|
95
|
-
- Dirty workspace: Prompt the user to commit or stash changes
|
|
96
|
-
- Version bump failed: Display the command error and stop
|
|
97
|
-
- Artifact rebuild failed: Display the build error and stop
|
|
98
|
-
- Git commit failed: Display the error and leave the workspace intact for manual recovery
|
|
28
|
+
Report channel, smoke, commit, and push facts without presenting degraded or blocked as complete.
|
|
@@ -7,92 +7,22 @@ description: >
|
|
|
7
7
|
|
|
8
8
|
# 发布后处理
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
## 执行流程
|
|
13
|
-
|
|
14
|
-
### 1. 检测最新发布版本
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
- 检测最新 `vX.Y.Z` 标签,并在后续步骤中去除 `v` 前缀得到版本号
|
|
21
|
-
- 如果没有找到标签,报错:"No released version tag found. Please create and push a release tag first."
|
|
22
|
-
|
|
23
|
-
### 2. 验证工作区干净
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
git status --short
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
- 如果存在未提交变更,报错:"Workspace has uncommitted changes. Please commit or stash first."
|
|
30
|
-
|
|
31
|
-
### 3. 准备下一个开发版本
|
|
32
|
-
|
|
33
|
-
<!-- TODO: 将此步骤替换为你的项目版本 bump 命令 -->
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
# TODO: 替换为你的项目发布后版本 bump 命令
|
|
37
|
-
# npm version prerelease --preid=alpha --no-git-tag-version
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
- 如果项目需要,记得同步锁文件或其他版本元数据
|
|
41
|
-
- 版本 bump 后保持所有版本引用一致
|
|
42
|
-
|
|
43
|
-
### 4. 重新生成构建产物
|
|
44
|
-
|
|
45
|
-
<!-- TODO: 将此步骤替换为你的项目产物重建命令 -->
|
|
10
|
+
## 1. 检查渠道事实
|
|
46
11
|
|
|
47
12
|
```bash
|
|
48
|
-
|
|
13
|
+
agent-infra-internal release-workflow inspect {version}
|
|
49
14
|
```
|
|
50
15
|
|
|
51
|
-
|
|
52
|
-
- 如果项目没有生成产物,请在项目特化版本中删除此步骤
|
|
16
|
+
pending/unknown 必须 blocked,确定失败必须 failed。
|
|
53
17
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<!-- TODO: 添加项目特定的发布后任务,例如录制演示、发布文档站或通知下游 -->
|
|
57
|
-
|
|
58
|
-
- 示例:录制终端演示、刷新文档站、通知下游团队、更新发布面板
|
|
59
|
-
- 如果这一步里的任务需要显示或捕获刚发布的版本号(例如录制 CLI 演示),把它挪到**第 3 步「准备下一个开发版本」之前**——否则会反映下一个开发版本号,而不是 released 版本号
|
|
60
|
-
- 如果没有额外任务,请在项目特化版本中删除此步骤
|
|
61
|
-
|
|
62
|
-
### 6. 创建后处理提交
|
|
18
|
+
## 2. 执行后处理
|
|
63
19
|
|
|
64
20
|
```bash
|
|
65
|
-
|
|
66
|
-
git commit -m "chore: prepare next dev iteration after v{released-version}"
|
|
21
|
+
agent-infra-internal release-workflow post {version}
|
|
67
22
|
```
|
|
68
23
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
72
|
-
|
|
73
|
-
```
|
|
74
|
-
发布后处理已完成。
|
|
75
|
-
|
|
76
|
-
结果摘要:
|
|
77
|
-
- 已发布版本:{released-version}
|
|
78
|
-
- 新开发版本:{new-version}
|
|
79
|
-
- 额外任务完成情况:{summary}
|
|
80
|
-
|
|
81
|
-
下一步(手动执行):
|
|
82
|
-
- 推送分支:git push origin {current-branch}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## 注意事项
|
|
86
|
-
|
|
87
|
-
1. **无参数设计**:从最新标签自动检测已发布版本,不要求用户重复输入
|
|
88
|
-
2. **需要干净工作区**:避免把无关改动带入发布后提交
|
|
89
|
-
3. **项目定制**:将带 TODO 的步骤替换为你的项目实际命令
|
|
90
|
-
4. **仅本地执行**:本技能只准备本地变更,不自动推送
|
|
24
|
+
core 负责 build、下一开发版本、内联产物、显式路径 commit 与普通 push,并在写后复核。
|
|
91
25
|
|
|
92
|
-
##
|
|
26
|
+
## 3. 输出摘要
|
|
93
27
|
|
|
94
|
-
|
|
95
|
-
- 工作区不干净:提示先提交或暂存
|
|
96
|
-
- 版本 bump 失败:显示命令错误并停止
|
|
97
|
-
- 产物重建失败:显示构建错误并停止
|
|
98
|
-
- Git 提交失败:显示错误并保留当前工作区供人工处理
|
|
28
|
+
报告全部渠道、smoke、commit 与 push 事实,不把 degraded/blocked 表述为完成。
|
|
@@ -60,7 +60,7 @@ If the user confirms:
|
|
|
60
60
|
- for an Issue, update the title by following the "Update Issues" command in `.agents/rules/issue-pr-commands.md`
|
|
61
61
|
- for a PR, update the title by following the "Update PRs" command in `.agents/rules/issue-pr-commands.md`
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Before changing a title, run `agent-infra-internal platform-context resolve` for upstream and capabilities, then follow the Issue metadata intent contract in `.agents/rules/issue-pr-commands.md`; if permission is unavailable, skip the change and inform the user.
|
|
64
64
|
|
|
65
65
|
### 5. Inform User
|
|
66
66
|
|
|
@@ -60,7 +60,7 @@ Issue/PR #{id} 分析结果:
|
|
|
60
60
|
- 对于 Issue:按 `.agents/rules/issue-pr-commands.md` 中的 “Issue 更新” 命令设置标题
|
|
61
61
|
- 对于 PR:按 `.agents/rules/issue-pr-commands.md` 中的 “PR 更新” 命令设置标题
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
标题修改前调用 `agent-infra-internal platform-context resolve` 取得 upstream 与 capabilities,再按 `.agents/rules/issue-pr-commands.md` 的 Issue metadata intent 契约执行;无权限时跳过修改操作并告知用户。
|
|
64
64
|
|
|
65
65
|
### 5. 告知用户
|
|
66
66
|
|
|
@@ -2,188 +2,41 @@
|
|
|
2
2
|
name: release
|
|
3
3
|
description: >
|
|
4
4
|
Run the version release workflow.
|
|
5
|
-
Use when
|
|
5
|
+
Use when preparing and publishing a version. Parameter: X.Y.Z.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
#
|
|
8
|
+
# Release
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Release state is derived from external facts and prepare/publish require separate authorization.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
## 1. Validate Input and Entropy Report
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Confirm SemVer and the human release checkpoint.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Extract version from arguments. Must match `X.Y.Z` format.
|
|
19
|
-
|
|
20
|
-
Parse components:
|
|
21
|
-
- MAJOR = X, MINOR = Y, PATCH = Z
|
|
22
|
-
- Release version = `X.Y.Z`
|
|
23
|
-
|
|
24
|
-
If format is invalid, error: "Version format incorrect, expected X.Y.Z (e.g. 1.2.3)"
|
|
25
|
-
|
|
26
|
-
### 2. Verify Clean Workspace
|
|
16
|
+
## 2. Inspect Facts
|
|
27
17
|
|
|
28
18
|
```bash
|
|
29
|
-
|
|
19
|
+
agent-infra-internal release-workflow inspect {version}
|
|
30
20
|
```
|
|
31
21
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
### 3. Pre-release Verification
|
|
35
|
-
|
|
36
|
-
<!-- TODO: Replace with your project's pre-release verification steps -->
|
|
37
|
-
|
|
38
|
-
Run any checks that must pass before preparing a release:
|
|
22
|
+
## 3. Prepare
|
|
39
23
|
|
|
40
24
|
```bash
|
|
41
|
-
|
|
42
|
-
# TODO: Replace with your project's test/build verification commands
|
|
25
|
+
agent-infra-internal release-workflow prepare {version} --entropy-report {path}
|
|
43
26
|
```
|
|
44
27
|
|
|
45
|
-
|
|
46
|
-
- Confirm the release is being prepared from the correct branch for your project
|
|
47
|
-
- Run the full validation commands required by your release process
|
|
48
|
-
|
|
49
|
-
Handling rules:
|
|
50
|
-
- If the current branch is unexpected, print a warning or exit based on your policy
|
|
51
|
-
- If any verification command fails, stop the release process and fix the issue first
|
|
52
|
-
|
|
53
|
-
### 4. Update Version References
|
|
54
|
-
|
|
55
|
-
<!-- TODO: Replace with your project's version update steps -->
|
|
56
|
-
|
|
57
|
-
Search for version references in project files and update them:
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
# Find files with version references
|
|
61
|
-
# Search for current version pattern
|
|
62
|
-
# Update version strings
|
|
63
|
-
```
|
|
28
|
+
Stop after prepare; never publish implicitly.
|
|
64
29
|
|
|
65
|
-
|
|
66
|
-
- `package.json` (Node.js)
|
|
67
|
-
- `package-lock.json` (Node.js; run `npm install --package-lock-only` after updating `package.json`)
|
|
68
|
-
- `pom.xml` (Maven)
|
|
69
|
-
- `setup.py` / `pyproject.toml` (Python)
|
|
70
|
-
- `version.go` (Go)
|
|
71
|
-
- `README.md` (documentation)
|
|
72
|
-
- `SECURITY.md` / `SECURITY.zh-CN.md` (supported version table)
|
|
73
|
-
|
|
74
|
-
**Exclude from version replacement**:
|
|
75
|
-
- `.agents/`, `.agents/workspace/`, `.claude/`, `.codex/`, `.gemini/`, `.opencode/` (AI tool configs)
|
|
76
|
-
|
|
77
|
-
If the project uses `package-lock.json`, run `npm install --package-lock-only` after updating `package.json` so the lockfile version stays in sync.
|
|
78
|
-
|
|
79
|
-
### 5. Rebuild Artifacts
|
|
80
|
-
|
|
81
|
-
<!-- TODO: Replace with your project's artifact rebuild steps -->
|
|
82
|
-
|
|
83
|
-
If version updates affect generated files, embedded metadata, or bundled assets, rebuild them now:
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
# TODO: Replace with your project's rebuild command(s)
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
Execution guidance:
|
|
90
|
-
- Run this after updating version references so generated artifacts pick up the new version
|
|
91
|
-
- If your project has no generated artifacts, document that explicitly in the project-specific skill
|
|
92
|
-
- If the rebuild fails, stop the release process and fix the build first
|
|
93
|
-
|
|
94
|
-
### 6. Create Release Commit
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
git add -A
|
|
98
|
-
git commit -m "chore: release v{version}"
|
|
99
|
-
```
|
|
30
|
+
## 4. Publish Separately
|
|
100
31
|
|
|
101
|
-
|
|
32
|
+
Only after explicit user authorization:
|
|
102
33
|
|
|
103
34
|
```bash
|
|
104
|
-
|
|
35
|
+
agent-infra-internal release-workflow publish {version}
|
|
105
36
|
```
|
|
106
37
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
Close the milestone for the released version when it exists, and create the missing planning milestones for the next cycle.
|
|
110
|
-
|
|
111
|
-
Run:
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
bash .agents/skills/release/scripts/manage-milestones.sh "$MAJOR" "$MINOR" "$PATCH"
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
The script is responsible for:
|
|
118
|
-
- Read `.agents/rules/label-milestone-setup.md` before this step
|
|
119
|
-
- Use its milestone list and update commands to load and adjust current milestones
|
|
120
|
-
- Closing `{MAJOR}.{MINOR}.{PATCH}` when it exists and is still open
|
|
121
|
-
- Ensuring `{MAJOR}.{MINOR}.{PATCH+1}` and `{MAJOR}.{MINOR}.x` exist
|
|
122
|
-
- When `PATCH=0`, also ensuring `{MAJOR}.{MINOR+1}.0` and `{MAJOR}.{MINOR+1}.x`
|
|
123
|
-
- Printing a milestone summary with the released milestone action and new milestone count
|
|
124
|
-
|
|
125
|
-
### 9. Output Summary
|
|
126
|
-
|
|
127
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
128
|
-
|
|
129
|
-
```
|
|
130
|
-
Release v{version} prepared.
|
|
131
|
-
|
|
132
|
-
Release info:
|
|
133
|
-
- Version: {version}
|
|
134
|
-
- Release commit: {commit-hash}
|
|
135
|
-
- Tag: v{version}
|
|
136
|
-
|
|
137
|
-
Files updated: {count}
|
|
138
|
-
|
|
139
|
-
Next steps (manual):
|
|
140
|
-
|
|
141
|
-
1. Push branch:
|
|
142
|
-
git push origin {current-branch}
|
|
143
|
-
|
|
144
|
-
2. Push tag:
|
|
145
|
-
git push origin v{version}
|
|
146
|
-
|
|
147
|
-
3. (Optional) Generate release notes:
|
|
148
|
-
- Claude Code / OpenCode: /create-release-note {version}
|
|
149
|
-
- Gemini CLI: /{{project}}:create-release-note {version}
|
|
150
|
-
- Codex CLI: $create-release-note {version}
|
|
151
|
-
|
|
152
|
-
4. (Optional) Run post-release follow-up tasks:
|
|
153
|
-
- Claude Code / OpenCode: /post-release
|
|
154
|
-
- Gemini CLI: /{{project}}:post-release
|
|
155
|
-
- Codex CLI: $post-release
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Rollback Instructions
|
|
159
|
-
|
|
160
|
-
If something went wrong:
|
|
161
|
-
```bash
|
|
162
|
-
# Delete tag
|
|
163
|
-
git tag -d v{version}
|
|
164
|
-
|
|
165
|
-
# Reset commit
|
|
166
|
-
git reset --soft HEAD~1
|
|
167
|
-
|
|
168
|
-
# Restore files
|
|
169
|
-
git checkout -- .
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
## Notes
|
|
173
|
-
|
|
174
|
-
1. **Clean workspace required**: Must have no uncommitted changes
|
|
175
|
-
2. **No auto-push**: All operations are local only; user pushes manually
|
|
176
|
-
3. **Pre-release verification**: Replace the Step 3 TODOs with the branch, test, and validation commands your release process requires
|
|
177
|
-
4. **Generated artifacts**: Replace the Step 5 TODOs when version changes affect generated files, bundled assets, or embedded metadata
|
|
178
|
-
5. **Release automation**: If pushing a tag triggers CI/CD or package publishing, confirm the required credentials and pipeline settings first
|
|
179
|
-
6. **Version replacement scope**: Search determines which files to update; exclude AI tool directories
|
|
180
|
-
7. **Adapt to your project**: The version update and rebuild steps above are generic; customize them for your project's versioning scheme
|
|
181
|
-
8. **Milestone coordination**: Releases should create the next planning milestones automatically; initialize the taxonomy first with `init-milestones` when needed
|
|
38
|
+
Push refs normally, preserve partial success for replay, and never force push.
|
|
182
39
|
|
|
183
|
-
##
|
|
40
|
+
## 5. Report Facts
|
|
184
41
|
|
|
185
|
-
|
|
186
|
-
- Dirty workspace: Prompt to commit or stash
|
|
187
|
-
- Verification failure: Display the failing check and stop the release
|
|
188
|
-
- Artifact rebuild failure: Display the build error and stop the release
|
|
189
|
-
- Git operation failure: Display error and provide rollback instructions
|
|
42
|
+
Show the snapshot and every TUI command. Treat unknown external state as blocked.
|