feat(default-mode): auto-activate ultrawork and ralph loop without commands

Add new `default_mode` config section with two boolean fields:
- `ultrawork`: Auto-inject ultrawork mode prompt on main session start
  without requiring the "ultrawork"/"ulw" keyword. Wired through the
  keyword-detector hook — injects once per session, respects existing
  guards (non-OMO agents, planner agents, subagent sessions).
- `ralph_loop`: Auto-start ralph loop on first main session message
  without requiring /ralph-loop or /ulw-loop commands. When ultrawork
  is also enabled, the loop starts in ultrawork mode.

Usage:
  ```jsonc
  {
    "default_mode": {
      "ultrawork": true,    // Always get ultrawork prompt on start
      "ralph_loop": true    // Auto-start ralph loop
    }
  }
  ```

Files: 7 modified/added, ~65 LOC added.
This commit is contained in:
herjarsa
2026-05-19 15:35:21 +02:00
parent f540249838
commit e5463e2db7
7 changed files with 83 additions and 8 deletions
+18
View File
@@ -0,0 +1,18 @@
import { z } from "zod"
export const DefaultModeConfigSchema = z.object({
/**
* Automatically inject ultrawork mode prompt on main session start
* without requiring "ultrawork"/"ulw" keyword in the message.
* The ultrawork mode system prompt is injected once per session.
*/
ultrawork: z.boolean().default(false),
/**
* Automatically start ralph loop on main session start
* without requiring /ralph-loop or /ulw-loop commands.
* When ultrawork is also enabled, the loop starts in ultrawork mode.
*/
ralph_loop: z.boolean().default(false),
})
export type DefaultModeConfig = z.infer<typeof DefaultModeConfigSchema>