1.1 KiB
1.1 KiB
SF Command Surface
When to Use
This reference applies when:
- Adding or modifying SF slash commands (
/mode,/tasks,/skills, etc.) - Changing command handlers in
src/resources/extensions/sf/commands/handlers/ - Updating command catalog descriptions
- Ensuring web/TUI/headless command parity
- Modifying command dispatch routing
Instructions
- Check existing handlers — Look in
commands/handlers/core.jsandcommands/handlers/ops.jsfor the pattern - Update catalog — Add to
commands/catalog.jsTOP_LEVEL_SUBCOMMANDS - Update help text — Add to
showHelp()incommands/handlers/core.js - Wire dispatch — Add routing in
handleCoreCommand()orhandleOpsCommand() - Test — Verify with
node --checkand manual test
Verification
- Command appears in
/help - Command appears in
/help all - Handler file passes
node --check - No
/sfprefix in user-facing strings
Examples
// Adding a new command
if (trimmed === "mycommand" || trimmed.startsWith("mycommand ")) {
await handleMyCommand(trimmed.replace(/^mycommand\s*/, "").trim(), ctx);
return true;
}