Skip to content

[codex] feat(slash): add guide mode#12027

Open
yzlu0917 wants to merge 1 commit intocontinuedev:mainfrom
yzlu0917:codex/issue-10340-guide-mode
Open

[codex] feat(slash): add guide mode#12027
yzlu0917 wants to merge 1 commit intocontinuedev:mainfrom
yzlu0917:codex/issue-10340-guide-mode

Conversation

@yzlu0917
Copy link
Copy Markdown

@yzlu0917 yzlu0917 commented Apr 3, 2026

Summary

  • add a built-in /guide slash command for Continue IDE experiences that turns rough ideas into structured implementation briefs
  • add matching /guide handling to Continue CLI so the feature works across interfaces instead of only in the GUI flow
  • document the new slash command and add regression tests for command registration and config loading

Why

Continue already has slash commands for specific workflows like onboarding a codebase, but there is no built-in workflow for helping a user clarify a vague project idea before implementation. This PR adds a lightweight Guide Mode that asks discovery questions, then helps the user arrive at a clearer project spec, implementation plan, and starter prompt.

User Impact

Users can now start with /guide and a rough idea such as build a portfolio site for junior developers, then let Continue refine that into something concrete before jumping into code. The command is available in both the IDE experience and cn.

Validation

  • ran npm test -- src/slashCommands.test.ts src/commands/commands.integration.test.ts in extensions/cli
  • ran npm run vitest -- config/profile/doLoadConfig.vitest.ts in core
  • ran npm run lint in extensions/cli (passes with 2 pre-existing warnings)
  • ran targeted Prettier formatting on the touched files
  • ran git diff --check

Closes #10340


Summary by cubic

Add Guide Mode via a built-in /guide slash command available in the IDE and cn to turn rough ideas into a structured implementation brief and plan. The command is now registered as a default system command and is covered by docs and tests.

  • New Features
    • Added /guide in IDE and cn; asks focused questions, then outputs a spec, 3–6 step plan, and a starter prompt.
    • Always included during config load alongside init; added to SYSTEM_SLASH_COMMANDS with a handler that accepts optional idea text.
    • Docs: CLI guide includes a /guide example; JSON reference documents the command.
    • Tests: added coverage for command registration and /guide handling in CLI and config loader.

Written for commit a7db9ed. Summary will update on new commits.

@yzlu0917 yzlu0917 requested a review from a team as a code owner April 3, 2026 09:58
@yzlu0917 yzlu0917 requested review from sestinj and removed request for a team April 3, 2026 09:58
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Apr 3, 2026
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 9 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="core/config/profile/doLoadConfig.ts">

<violation number="1" location="core/config/profile/doLoadConfig.ts:193">
P2: Built-in `/guide` is appended without duplicate-name guarding, allowing silent collisions with user-defined `/guide` slash commands.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review, or fix all with cubic.

}

newConfig.slashCommands.push(initSlashCommand);
newConfig.slashCommands.push(guideSlashCommand);
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Built-in /guide is appended without duplicate-name guarding, allowing silent collisions with user-defined /guide slash commands.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At core/config/profile/doLoadConfig.ts, line 193:

<comment>Built-in `/guide` is appended without duplicate-name guarding, allowing silent collisions with user-defined `/guide` slash commands.</comment>

<file context>
@@ -189,6 +190,7 @@ export default async function doLoadConfig(options: {
   }
 
   newConfig.slashCommands.push(initSlashCommand);
+  newConfig.slashCommands.push(guideSlashCommand);
 
   const proxyContextProvider = newConfig.contextProviders?.find(
</file context>
Suggested change
newConfig.slashCommands.push(guideSlashCommand);
if (!newConfig.slashCommands.some((cmd) => cmd.name === guideSlashCommand.name)) {
newConfig.slashCommands.push(guideSlashCommand);
}
Fix with Cubic

@chatgpt-codex-connector
Copy link
Copy Markdown

💡 Codex Review

if (options.tools?.length && ollamaMessages.at(-1)?.role === "user") {
chatOptions.tools = options.tools.map((tool) => ({

P1 Badge Restore Ollama template gate before attaching tools

The new condition now attaches chatOptions.tools whenever tools are present and the last message is from the user, but it no longer checks whether the model template advertises tool support. In this file, ensureModelInfo() still inspects template capabilities, so removing that guard regresses behavior for Ollama models whose templates do not support tools: tool-enabled chats can now hard-fail instead of falling back to plain chat. This is especially user-visible in agent/tool workflows with non-tool-capable Ollama models.


getConfigYamlPath();
const configFile = element?.sourceFile ?? profile.profileDescription.uri;

P2 Badge Avoid forcing global config writes for all local profiles

Calling getConfigYamlPath() unconditionally for every local profile introduces an unrelated filesystem side effect before opening the selected file. Workspace-local profiles (for example under .continue/agents or .continue/configs) now trigger a write/create attempt in ~/.continue, and in read-only or restricted home-directory environments that can throw and prevent ide.openFile(...) from running. Opening a workspace profile should not depend on mutating global config state.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

[Feature Request]: Guide Mode - Interactive Onboarding for New Developers

1 participant