Files
Joywayer dd3eb24d0f refactor: 拆分 claude-dev-stack 为 windows-dev-stack 和 wsl-dev-stack
将原 claude-dev-stack 目录拆分为独立的 Windows 和 WSL 部署栈,便于分别维护和使用。

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-29 01:11:20 +08:00

43 lines
1.7 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { readFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import { dirname, resolve } from "node:path";
const FALLBACK_INSTRUCTIONS = `# Godot MCP Pro
You have access to the Godot MCP Pro toolset for building and testing Godot games through the editor.
## Critical rules
- Tools are split into **editor** (always available) and **runtime** (require \`play_scene\` first).
- Never edit \`project.godot\` directly — use \`set_project_setting\`.
- For input simulation, use short \`simulate_key\` durations (0.30.5s), not integer seconds.
- \`execute_editor_script\` / \`execute_game_script\` must be valid GDScript; use \`_mcp_print(value)\` to return output.
## Getting oriented
- \`get_project_info\` — project overview
- \`get_scene_tree\` — current scene structure
- For a full usage guide, see \`instructions/CLAUDE.md\` in the installed package.
`;
/**
* Loads CLAUDE.md from the shipped `instructions/` directory so Claude has
* the essential usage guide from message #1 of every session. Falls back to
* a terse built-in string if the file can't be located (e.g. custom layouts).
*/
export function loadInstructions() {
const here = dirname(fileURLToPath(import.meta.url));
const candidates = [
resolve(here, "../../instructions/CLAUDE.md"),
resolve(here, "../../../instructions/CLAUDE.md"),
resolve(here, "../../../../instructions/CLAUDE.md"),
];
for (const path of candidates) {
try {
const content = readFileSync(path, "utf8");
if (content.trim().length > 0)
return content;
}
catch {
// try next
}
}
return FALLBACK_INSTRUCTIONS;
}
//# sourceMappingURL=load-instructions.js.map