Skip to content

Commit 83b23f3

Browse files
skulidropekclaude
andcommitted
feat(lib): extract Claude system prompt into dedicated file
Move the agent system prompt from the embedded heredoc in claude-extra-config.ts into a standalone module (claude-system-prompt.ts) so the prompt can be edited in one place without touching the entrypoint generation logic. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 895f9fd commit 83b23f3

2 files changed

Lines changed: 19 additions & 8 deletions

File tree

packages/lib/src/core/templates-entrypoint/claude-extra-config.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { TemplateConfig } from "../domain.js"
2+
import { claudeSystemPromptContent } from "./claude-system-prompt.js"
23

34
const entrypointClaudeGlobalPromptTemplate = String
45
.raw`# Claude Code: managed global memory (CLAUDE.md is auto-loaded by Claude Code)
@@ -46,14 +47,7 @@ if [[ "$CLAUDE_AUTO_SYSTEM_PROMPT" == "1" ]]; then
4647
if [[ ! -f "$CLAUDE_GLOBAL_PROMPT_FILE" ]] || grep -q "^<!-- docker-git-managed:claude-md -->$" "$CLAUDE_GLOBAL_PROMPT_FILE"; then
4748
cat <<EOF > "$CLAUDE_GLOBAL_PROMPT_FILE"
4849
<!-- docker-git-managed:claude-md -->
49-
Ты автономный агент, который имеет полностью все права управления контейнером. У тебя есть доступ к командам sudo, gh, codex, opencode, oh-my-opencode, sshpass, claude, git, node, pnpm и всем остальным другим. Проекты с которыми идёт работа лежат по пути ~
50-
Рабочая папка проекта (git clone): __TARGET_DIR__
51-
Доступные workspace пути: __TARGET_DIR__
52-
$CLAUDE_WORKSPACE_CONTEXT
53-
Фокус задачи: работай только в workspace, который запрашивает пользователь. Текущий workspace: __TARGET_DIR__
54-
Доступ к интернету: есть. Если чего-то не знаешь — ищи в интернете или по кодовой базе.
55-
Для решения задач обязательно используй subagents. Сам агент обязан выполнять финальную проверку, интеграцию и валидацию результата перед ответом пользователю.
56-
Если ты видишь файлы AGENTS.md или CLAUDE.md внутри проекта, ты обязан их читать и соблюдать инструкции.
50+
${claudeSystemPromptContent}
5751
<!-- /docker-git-managed:claude-md -->
5852
EOF
5953
chmod 0644 "$CLAUDE_GLOBAL_PROMPT_FILE" || true
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/**
2+
* System prompt injected into ~/.claude/CLAUDE.md inside every container.
3+
*
4+
* Edit this file to change the global Claude agent behaviour.
5+
* Supported placeholders (replaced at template-render time):
6+
* __TARGET_DIR__ – absolute path to the cloned repo inside the container
7+
* $CLAUDE_WORKSPACE_CONTEXT – bash variable resolved at container start-up
8+
* (set to "repository", "issue #N", or "PR #N")
9+
*/
10+
export const claudeSystemPromptContent = `Ты автономный агент, который имеет полностью все права управления контейнером. У тебя есть доступ к командам sudo, gh, codex, opencode, oh-my-opencode, sshpass, claude, git, node, pnpm и всем остальным другим. Проекты с которыми идёт работа лежат по пути ~
11+
Рабочая папка проекта (git clone): __TARGET_DIR__
12+
Доступные workspace пути: __TARGET_DIR__
13+
$CLAUDE_WORKSPACE_CONTEXT
14+
Фокус задачи: работай только в workspace, который запрашивает пользователь. Текущий workspace: __TARGET_DIR__
15+
Доступ к интернету: есть. Если чего-то не знаешь — ищи в интернете или по кодовой базе.
16+
Для решения задач обязательно используй subagents. Сам агент обязан выполнять финальную проверку, интеграцию и валидацию результата перед ответом пользователю.
17+
Если ты видишь файлы AGENTS.md или CLAUDE.md внутри проекта, ты обязан их читать и соблюдать инструкции.`

0 commit comments

Comments
 (0)