Skip to content

Commit 268329a

Browse files
sestinjclaude
andauthored
feat(cli): enhance /init command to create custom slash command (#7888)
* feat(cli): enhance /init command to create custom slash command Update the /init slash command prompt to also create a custom "review" slash command file at .continue/rules/review.md with invokable frontmatter and review-focused instructions. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * fix: address feedback --------- Co-authored-by: Claude <[email protected]>
1 parent 72ad501 commit 268329a

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed

core/config/markdown/utils.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,24 @@ import {
44
} from "@continuedev/config-yaml";
55
import { joinPathsToUri } from "../../util/uri";
66

7+
function createRelativeRuleFilePathParts(ruleName: string): string[] {
8+
const safeRuleName = sanitizeRuleName(ruleName);
9+
return [".continue", "rules", `${safeRuleName}.${RULE_FILE_EXTENSION}`];
10+
}
11+
12+
export function createRelativeRuleFilePath(ruleName: string): string {
13+
return createRelativeRuleFilePathParts(ruleName).join("/");
14+
}
15+
716
/**
817
* Creates the file path for a rule in the workspace .continue/rules directory
918
*/
1019
export function createRuleFilePath(
1120
workspaceDir: string,
1221
ruleName: string,
1322
): string {
14-
const safeRuleName = sanitizeRuleName(ruleName);
1523
return joinPathsToUri(
1624
workspaceDir,
17-
".continue",
18-
"rules",
19-
`${safeRuleName}.${RULE_FILE_EXTENSION}`,
25+
...createRelativeRuleFilePathParts(ruleName),
2026
);
2127
}

extensions/cli/src/commands/init.ts

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import { type AssistantConfig } from "@continuedev/sdk";
2+
import { createRelativeRuleFilePath } from "core/config/markdown/utils.js";
23

34
import { SlashCommandResult } from "../ui/hooks/useChat.types.js";
45

56
function createInitPrompt(): string {
6-
return `Please analyze this repository and create a comprehensive AGENTS.md file. Use your available tools to understand the project structure, read important files like README.md, package.json, requirements.txt, and other configuration files to understand the technology stack and setup.
7+
const relativeRuleFilepath = createRelativeRuleFilePath("review");
8+
return `Please analyze this repository and create a comprehensive AGENTS.md file, along with a custom slash command. Use your available tools to understand the project structure, read important files like README.md, package.json, requirements.txt, and other configuration files to understand the technology stack and setup.
79
810
Create an AGENTS.md file with the following structure:
911
@@ -30,7 +32,23 @@ Create an AGENTS.md file with the following structure:
3032
- Development environment setup
3133
- Lint and format commands
3234
33-
Please create the AGENTS.md file using the Write tool after analyzing the repository. Focus on providing actionable information that would help both AI agents and human developers understand and work effectively with this codebase. Keep the file concise but informational.`;
35+
Additionally, create a slash command file at ${relativeRuleFilepath} with the following structure:
36+
37+
\`\`\`md
38+
---
39+
invokable: true
40+
---
41+
42+
Review this code for potential issues, including:
43+
44+
<insert custom things to look for based on the repository details you find>
45+
46+
Provide specific, actionable feedback for improvements.
47+
\`\`\`
48+
49+
This slash command will be invokable using /review and will provide instructions for code review tasks common to this repository.
50+
51+
Please create both the AGENTS.md file and the .continue/rules/review.md file using the Write tool after analyzing the repository. Focus on providing actionable information that would help both AI agents and human developers understand and work effectively with this codebase. Keep the files concise but informational.`;
3452
}
3553

3654
export async function handleInit(

0 commit comments

Comments
 (0)