mirror of
https://github.com/anthropics/claude-code-action.git
synced 2026-01-23 06:54:13 +08:00
feat: simplify to two modes (tag and agent) for v1.0
BREAKING CHANGES: - Remove review mode entirely - now handled via slash commands in agent mode - Remove all deprecated backward compatibility fields (mode, anthropic_model, override_prompt, direct_prompt) - Simplify mode detection: prompt overrides everything, then @claude mentions trigger tag mode, default is agent mode - Remove slash command resolution from GitHub Action - Claude Code handles natively - Remove variable substitution - prompts passed through as-is Architecture changes: - Only two modes now: tag (for @claude mentions) and agent (everything else) - Agent mode is the default for all events including PRs - Users configure behavior via prompts/slash commands (e.g. /review) - GitHub Action is now a thin wrapper that passes prompts to Claude Code - Mode names changed: 'experimental-review' → removed entirely This aligns with the philosophy that the GitHub Action should do minimal work and delegate to Claude Code for all intelligent behavior.
This commit is contained in:
@@ -22,19 +22,16 @@ import type {
|
||||
import type { ParsedGitHubContext } from "../src/github/context";
|
||||
|
||||
describe("checkContainsTrigger", () => {
|
||||
describe("direct prompt trigger", () => {
|
||||
it("should return true when direct prompt is provided", () => {
|
||||
describe("prompt trigger", () => {
|
||||
it("should return true when prompt is provided", () => {
|
||||
const context = createMockContext({
|
||||
eventName: "issues",
|
||||
eventAction: "opened",
|
||||
inputs: {
|
||||
mode: "tag",
|
||||
prompt: "",
|
||||
prompt: "Fix the bug in the login form",
|
||||
triggerPhrase: "/claude",
|
||||
assigneeTrigger: "",
|
||||
labelTrigger: "",
|
||||
directPrompt: "Fix the bug in the login form",
|
||||
overridePrompt: "",
|
||||
allowedTools: [],
|
||||
disallowedTools: [],
|
||||
customInstructions: "",
|
||||
@@ -47,7 +44,7 @@ describe("checkContainsTrigger", () => {
|
||||
expect(checkContainsTrigger(context)).toBe(true);
|
||||
});
|
||||
|
||||
it("should return false when direct prompt is empty", () => {
|
||||
it("should return false when prompt is empty", () => {
|
||||
const context = createMockContext({
|
||||
eventName: "issues",
|
||||
eventAction: "opened",
|
||||
@@ -62,13 +59,10 @@ describe("checkContainsTrigger", () => {
|
||||
},
|
||||
} as IssuesEvent,
|
||||
inputs: {
|
||||
mode: "tag",
|
||||
prompt: "",
|
||||
triggerPhrase: "/claude",
|
||||
assigneeTrigger: "",
|
||||
labelTrigger: "",
|
||||
directPrompt: "",
|
||||
overridePrompt: "",
|
||||
allowedTools: [],
|
||||
disallowedTools: [],
|
||||
customInstructions: "",
|
||||
@@ -280,13 +274,10 @@ describe("checkContainsTrigger", () => {
|
||||
},
|
||||
} as PullRequestEvent,
|
||||
inputs: {
|
||||
mode: "tag",
|
||||
prompt: "",
|
||||
triggerPhrase: "@claude",
|
||||
assigneeTrigger: "",
|
||||
labelTrigger: "",
|
||||
directPrompt: "",
|
||||
overridePrompt: "",
|
||||
allowedTools: [],
|
||||
disallowedTools: [],
|
||||
customInstructions: "",
|
||||
@@ -315,13 +306,10 @@ describe("checkContainsTrigger", () => {
|
||||
},
|
||||
} as PullRequestEvent,
|
||||
inputs: {
|
||||
mode: "tag",
|
||||
prompt: "",
|
||||
triggerPhrase: "@claude",
|
||||
assigneeTrigger: "",
|
||||
labelTrigger: "",
|
||||
directPrompt: "",
|
||||
overridePrompt: "",
|
||||
allowedTools: [],
|
||||
disallowedTools: [],
|
||||
customInstructions: "",
|
||||
@@ -350,13 +338,10 @@ describe("checkContainsTrigger", () => {
|
||||
},
|
||||
} as PullRequestEvent,
|
||||
inputs: {
|
||||
mode: "tag",
|
||||
prompt: "",
|
||||
triggerPhrase: "@claude",
|
||||
assigneeTrigger: "",
|
||||
labelTrigger: "",
|
||||
directPrompt: "",
|
||||
overridePrompt: "",
|
||||
allowedTools: [],
|
||||
disallowedTools: [],
|
||||
customInstructions: "",
|
||||
|
||||
Reference in New Issue
Block a user