✨ feat(vscode): 测试提示词改成可配置模板并带上工单号

启动测试会话原先硬编码发 `/pr-acceptance-testing`,不带目标,验收技能只能
反问要测哪个。现在做成 prompts/test.md 模板 + 设置里的「测试提示词」,占位符
{issueNumber} 和 {prRef}(worktree 里是分支,主仓库里是已合并的 PR)。

Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
This commit is contained in:
cruldra committed 2026-09-13 13:19:28 +08:00
1 parent e05a5234db
commit f946e5cfee
11 files changed
+77 -4

No files matched your search

@@ -25,6 +25,7 @@ interface SubmitValues {
implementPlanPrompt: string
autoReview: boolean
reviewPrompt: string
testPrompt: string
devBranch: string
releaseBranchPrefix: string
jenkinsJob: string
@@ -78,6 +79,7 @@ export interface SettingsModalProps {
initialImplementPlanPrompt: string
initialAutoReview: boolean
initialReviewPrompt: string
initialTestPrompt: string
initialDevBranch: string
initialReleaseBranchPrefix: string
initialJenkinsJob: string
@@ -167,6 +169,7 @@ export function SettingsModal({
initialImplementPlanPrompt,
initialAutoReview,
initialReviewPrompt,
initialTestPrompt,
initialDevBranch,
initialReleaseBranchPrefix,
initialJenkinsJob,
@@ -208,6 +211,7 @@ export function SettingsModal({
const [implementPlanPrompt, setImplementPlanPrompt] = useState(initialImplementPlanPrompt)
const [autoReview, setAutoReview] = useState(initialAutoReview)
const [reviewPrompt, setReviewPrompt] = useState(initialReviewPrompt)
const [testPrompt, setTestPrompt] = useState(initialTestPrompt)
const [devBranch, setDevBranch] = useState(initialDevBranch)
const [releaseBranchPrefix, setReleaseBranchPrefix] = useState(initialReleaseBranchPrefix)
const [jenkinsJob, setJenkinsJob] = useState(initialJenkinsJob)
@@ -251,6 +255,7 @@ export function SettingsModal({
setImplementPlanPrompt(initialImplementPlanPrompt)
setAutoReview(initialAutoReview)
setReviewPrompt(initialReviewPrompt)
setTestPrompt(initialTestPrompt)
setDevBranch(initialDevBranch)
setReleaseBranchPrefix(initialReleaseBranchPrefix)
setJenkinsJob(initialJenkinsJob)
@@ -342,6 +347,7 @@ export function SettingsModal({
implementPlanPrompt,
autoReview,
reviewPrompt,
testPrompt,
devBranch: devBranch.trim(),
releaseBranchPrefix: releaseBranchPrefix.trim(),
jenkinsJob: jenkinsJob.trim(),
@@ -1002,6 +1008,26 @@ export function SettingsModal({
className={`${inputClass} resize-y font-mono`}
/>
</Field>
<Field
label="测试提示词"
hint={(
<>
可用占位符:
<code>{'{issueNumber}'}</code>
、
<code>{'{prRef}'}</code>
(worktree 里是分支,主仓库里是已合并的 PR)
</>
)}
>
<textarea
rows={4}
value={testPrompt}
onChange={e => setTestPrompt(e.target.value)}
className={`${inputClass} resize-y font-mono`}
/>
</Field>
</>
)}