refactor: rename builder_enabled to default_builder_enabled and remove replace_build (#251)

- Renamed sisyphus_agent.builder_enabled to default_builder_enabled for clarity
- Removed sisyphus_agent.replace_build option entirely
- Default build agent is now always demoted to subagent mode when Sisyphus is enabled
- Updated schema and regenerated JSON schema
- Updated all documentation (EN, KO, JA, ZH-CN)

BREAKING CHANGE: Configuration migration required for users using builder_enabled or replace_build options.

Closes #250

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
This commit is contained in:
Sisyphus
2025-12-26 03:37:50 +09:00
committed by GitHub
parent 9bc2360d31
commit 27b5c1fda3
7 changed files with 45 additions and 62 deletions

View File

@@ -108,9 +108,8 @@ export const ClaudeCodeConfigSchema = z.object({
export const SisyphusAgentConfigSchema = z.object({
disabled: z.boolean().optional(),
builder_enabled: z.boolean().optional(),
default_builder_enabled: z.boolean().optional(),
planner_enabled: z.boolean().optional(),
replace_build: z.boolean().optional(),
replace_plan: z.boolean().optional(),
})

View File

@@ -422,9 +422,8 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
const projectAgents = (pluginConfig.claude_code?.agents ?? true) ? loadProjectAgents() : {};
const isSisyphusEnabled = pluginConfig.sisyphus_agent?.disabled !== true;
const builderEnabled = pluginConfig.sisyphus_agent?.builder_enabled ?? false;
const builderEnabled = pluginConfig.sisyphus_agent?.default_builder_enabled ?? false;
const plannerEnabled = pluginConfig.sisyphus_agent?.planner_enabled ?? true;
const replaceBuild = pluginConfig.sisyphus_agent?.replace_build ?? true;
const replacePlan = pluginConfig.sisyphus_agent?.replace_plan ?? true;
if (isSisyphusEnabled && builtinAgents.Sisyphus) {
@@ -469,7 +468,7 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
const filteredConfigAgents = config.agent ?
Object.fromEntries(
Object.entries(config.agent).filter(([key]) => {
if (key === "build" && replaceBuild) return false;
if (key === "build") return false;
if (key === "plan" && replacePlan) return false;
return true;
})
@@ -482,7 +481,7 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
...projectAgents,
...filteredConfigAgents, // Filtered config agents (excludes build/plan if replaced)
// Demote build/plan to subagent mode when replaced
...(replaceBuild ? { build: { ...config.agent?.build, mode: "subagent" } } : {}),
build: { ...config.agent?.build, mode: "subagent" },
...(replacePlan ? { plan: { ...config.agent?.plan, mode: "subagent" } } : {}),
};
} else {