diff --git a/src/create-prompt/index.ts b/src/create-prompt/index.ts
index fc14ef2..103e68b 100644
--- a/src/create-prompt/index.ts
+++ b/src/create-prompt/index.ts
@@ -219,8 +219,6 @@ export function prepareContext(
...(baseBranch && { baseBranch }),
};
break;
- } else if (!claudeBranch) {
- throw new Error("CLAUDE_BRANCH is required for issue_comment event");
} else if (!baseBranch) {
throw new Error("BASE_BRANCH is required for issue_comment event");
} else if (!issueNumber) {
@@ -233,10 +231,10 @@ export function prepareContext(
eventName: "issue_comment",
commentId,
isPR: false,
- claudeBranch: claudeBranch,
baseBranch,
issueNumber,
commentBody,
+ ...(claudeBranch && { claudeBranch }),
};
break;
@@ -253,9 +251,6 @@ export function prepareContext(
if (!baseBranch) {
throw new Error("BASE_BRANCH is required for issues event");
}
- if (!claudeBranch) {
- throw new Error("CLAUDE_BRANCH is required for issues event");
- }
if (eventAction === "assigned") {
if (!assigneeTrigger) {
@@ -269,8 +264,8 @@ export function prepareContext(
isPR: false,
issueNumber,
baseBranch,
- claudeBranch,
assigneeTrigger,
+ ...(claudeBranch && { claudeBranch }),
};
} else if (eventAction === "opened") {
eventData = {
@@ -279,7 +274,7 @@ export function prepareContext(
isPR: false,
issueNumber,
baseBranch,
- claudeBranch,
+ ...(claudeBranch && { claudeBranch }),
};
} else {
throw new Error(`Unsupported issue action: ${eventAction}`);
diff --git a/src/create-prompt/types.ts b/src/create-prompt/types.ts
index 00bba5e..0957e11 100644
--- a/src/create-prompt/types.ts
+++ b/src/create-prompt/types.ts
@@ -34,7 +34,7 @@ type IssueCommentEvent = {
issueNumber: string;
isPR: false;
baseBranch: string;
- claudeBranch: string;
+ claudeBranch?: string;
commentBody: string;
};
@@ -55,7 +55,7 @@ type IssueOpenedEvent = {
isPR: false;
issueNumber: string;
baseBranch: string;
- claudeBranch: string;
+ claudeBranch?: string;
};
type IssueAssignedEvent = {
@@ -64,7 +64,7 @@ type IssueAssignedEvent = {
isPR: false;
issueNumber: string;
baseBranch: string;
- claudeBranch: string;
+ claudeBranch?: string;
assigneeTrigger: string;
};
diff --git a/test/create-prompt.test.ts b/test/create-prompt.test.ts
index 94064b6..665a229 100644
--- a/test/create-prompt.test.ts
+++ b/test/create-prompt.test.ts
@@ -317,7 +317,7 @@ describe("generatePrompt", () => {
expect(prompt).toContain("johndoe");
expect(prompt).toContain(
- "Co-authored-by: johndoe ",
+ "Co-authored-by: johndoe ",
);
});
@@ -338,7 +338,7 @@ describe("generatePrompt", () => {
// Should contain PR-specific instructions
expect(prompt).toContain(
- "Push directly using mcp__github_file_ops__commit_files to the existing branch",
+ "Commit changes using mcp__local_git_ops__commit_files to the existing branch",
);
expect(prompt).toContain(
"Always push to the existing branch when triggered on a PR",
@@ -378,12 +378,12 @@ describe("generatePrompt", () => {
);
expect(prompt).toContain("Create a PR](https://github.com/");
expect(prompt).toContain(
- "If you created anything in your branch, your comment must include the PR URL",
+ "If you created a branch and made changes, your comment must include the PR URL",
);
// Should NOT contain PR-specific instructions
expect(prompt).not.toContain(
- "Push directly using mcp__github_file_ops__commit_files to the existing branch",
+ "Commit changes using mcp__local_git_ops__commit_files to the existing branch",
);
expect(prompt).not.toContain(
"Always push to the existing branch when triggered on a PR",
@@ -449,13 +449,10 @@ describe("generatePrompt", () => {
"The branch-name is the current branch: claude/pr-456-20240101_120000",
);
expect(prompt).toContain("Reference to the original PR");
- expect(prompt).toContain(
- "If you created anything in your branch, your comment must include the PR URL",
- );
// Should NOT contain open PR instructions
expect(prompt).not.toContain(
- "Push directly using mcp__github_file_ops__commit_files to the existing branch",
+ "Commit changes using mcp__local_git_ops__commit_files to the existing branch",
);
});
@@ -478,7 +475,7 @@ describe("generatePrompt", () => {
// Should contain open PR instructions
expect(prompt).toContain(
- "Push directly using mcp__github_file_ops__commit_files to the existing branch",
+ "Commit changes using mcp__local_git_ops__commit_files to the existing branch",
);
expect(prompt).toContain(
"Always push to the existing branch when triggered on a PR",
@@ -543,9 +540,6 @@ describe("generatePrompt", () => {
);
expect(prompt).toContain("Create a PR](https://github.com/");
expect(prompt).toContain("Reference to the original PR");
- expect(prompt).toContain(
- "If you created anything in your branch, your comment must include the PR URL",
- );
});
test("should handle pull_request event on closed PR with new branch", () => {
@@ -638,8 +632,8 @@ describe("buildAllowedToolsString", () => {
expect(result).toContain("Write");
expect(result).toContain("mcp__github__update_issue_comment");
expect(result).not.toContain("mcp__github__update_pull_request_comment");
- expect(result).toContain("mcp__github_file_ops__commit_files");
- expect(result).toContain("mcp__github_file_ops__delete_files");
+ expect(result).toContain("mcp__local_git_ops__commit_files");
+ expect(result).toContain("mcp__local_git_ops__delete_files");
});
test("should return PR comment tool for inline review comments", () => {
@@ -662,8 +656,8 @@ describe("buildAllowedToolsString", () => {
expect(result).toContain("Write");
expect(result).not.toContain("mcp__github__update_issue_comment");
expect(result).toContain("mcp__github__update_pull_request_comment");
- expect(result).toContain("mcp__github_file_ops__commit_files");
- expect(result).toContain("mcp__github_file_ops__delete_files");
+ expect(result).toContain("mcp__local_git_ops__commit_files");
+ expect(result).toContain("mcp__local_git_ops__delete_files");
});
test("should append custom tools when provided", () => {