@brantshi1/devspace 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/devspace +31 -4
- package/configs/claude/CLAUDE.md +18 -0
- package/configs/claude/settings.json +190 -0
- package/package.json +1 -1
- package/setup.sh +1 -1
package/README.md
CHANGED
package/bin/devspace
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
# │ │ lazygit │
|
|
8
8
|
# └──────────┴──────────┘
|
|
9
9
|
|
|
10
|
-
VERSION="1.
|
|
11
|
-
SCRIPT_DIR="${0:
|
|
10
|
+
VERSION="1.3.1"
|
|
11
|
+
SCRIPT_DIR="${0:A:h}"
|
|
12
12
|
REPO_DIR="${SCRIPT_DIR:h}"
|
|
13
13
|
CONFIGS_DIR="$REPO_DIR/configs"
|
|
14
14
|
|
|
@@ -76,14 +76,27 @@ do_sync() {
|
|
|
76
76
|
exit 1
|
|
77
77
|
fi
|
|
78
78
|
|
|
79
|
-
mkdir -p "$CONFIGS_DIR/ghostty/themes" "$CONFIGS_DIR/yazi"
|
|
79
|
+
mkdir -p "$CONFIGS_DIR/ghostty/themes" "$CONFIGS_DIR/yazi" "$CONFIGS_DIR/claude"
|
|
80
80
|
local count=0
|
|
81
81
|
|
|
82
|
+
# Ghostty
|
|
82
83
|
[[ -f "$HOME/.config/ghostty/config" ]] && cp "$HOME/.config/ghostty/config" "$CONFIGS_DIR/ghostty/config" && ((count++))
|
|
83
84
|
[[ -d "$HOME/.config/ghostty/themes" ]] && cp -R "$HOME/.config/ghostty/themes"/ "$CONFIGS_DIR/ghostty/themes"/ && ((count++))
|
|
85
|
+
|
|
86
|
+
# Yazi
|
|
84
87
|
[[ -f "$HOME/.config/yazi/yazi.toml" ]] && cp "$HOME/.config/yazi/yazi.toml" "$CONFIGS_DIR/yazi/yazi.toml" && ((count++))
|
|
85
88
|
[[ -f "$HOME/.config/yazi/package.toml" ]] && cp "$HOME/.config/yazi/package.toml" "$CONFIGS_DIR/yazi/package.toml" && ((count++))
|
|
86
89
|
|
|
90
|
+
# Claude Code
|
|
91
|
+
[[ -f "$HOME/.claude/CLAUDE.md" ]] && cp "$HOME/.claude/CLAUDE.md" "$CONFIGS_DIR/claude/CLAUDE.md" && ((count++))
|
|
92
|
+
if [[ -f "$HOME/.claude/settings.json" ]]; then
|
|
93
|
+
# 过滤敏感字段:ANTHROPIC_AUTH_TOKEN / ANTHROPIC_BASE_URL 替换为占位提醒
|
|
94
|
+
sed -e 's/"ANTHROPIC_AUTH_TOKEN": *"[^"]*"/"ANTHROPIC_AUTH_TOKEN": "<请自行配置>"/' \
|
|
95
|
+
-e 's/"ANTHROPIC_BASE_URL": *"[^"]*"/"ANTHROPIC_BASE_URL": "<请自行配置>"/' \
|
|
96
|
+
"$HOME/.claude/settings.json" > "$CONFIGS_DIR/claude/settings.json"
|
|
97
|
+
((count++))
|
|
98
|
+
fi
|
|
99
|
+
|
|
87
100
|
echo "已同步 $count 项配置到 $CONFIGS_DIR"
|
|
88
101
|
echo "下一步: cd $REPO_DIR && git add configs/ && git commit && git push"
|
|
89
102
|
}
|
|
@@ -191,6 +204,20 @@ do_setup() {
|
|
|
191
204
|
fi
|
|
192
205
|
fi
|
|
193
206
|
|
|
207
|
+
# Claude Code 配置
|
|
208
|
+
_section "Claude Code 配置"
|
|
209
|
+
if [[ -d "$CONFIGS_DIR/claude" ]]; then
|
|
210
|
+
mkdir -p "$HOME/.claude"
|
|
211
|
+
[[ -f "$CONFIGS_DIR/claude/CLAUDE.md" ]] && _copy_config "$CONFIGS_DIR/claude/CLAUDE.md" "$HOME/.claude/CLAUDE.md"
|
|
212
|
+
[[ -f "$CONFIGS_DIR/claude/settings.json" ]] && _copy_config "$CONFIGS_DIR/claude/settings.json" "$HOME/.claude/settings.json"
|
|
213
|
+
echo ""
|
|
214
|
+
echo "${YELLOW} ⚠${RESET} 请手动编辑 ${BOLD}~/.claude/settings.json${RESET} 配置以下字段:"
|
|
215
|
+
echo " - ANTHROPIC_AUTH_TOKEN"
|
|
216
|
+
echo " - ANTHROPIC_BASE_URL"
|
|
217
|
+
else
|
|
218
|
+
_ok "无 Claude Code 配置快照,跳过"
|
|
219
|
+
fi
|
|
220
|
+
|
|
194
221
|
# 完成
|
|
195
222
|
echo ""
|
|
196
223
|
echo "${GREEN}${BOLD}部署完成!${RESET}"
|
|
@@ -221,7 +248,7 @@ devspace - 在 Ghostty 中一键创建开发工作区
|
|
|
221
248
|
|
|
222
249
|
命令:
|
|
223
250
|
setup [-f] 部署开发环境(安装依赖 + 配置),-f 强制覆盖
|
|
224
|
-
sync 将本机 ghostty/yazi 配置同步到仓库 configs/ 目录
|
|
251
|
+
sync 将本机 ghostty/yazi/claude 配置同步到仓库 configs/ 目录
|
|
225
252
|
|
|
226
253
|
选项:
|
|
227
254
|
-h, --help 显示帮助
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
## 语言和称呼
|
|
4
|
+
- 使用中文回复
|
|
5
|
+
- 称呼用户为"长官"
|
|
6
|
+
|
|
7
|
+
## Git 规范
|
|
8
|
+
- ❌ **禁止自动提交**:只能由用户手动执行 git 操作,任何 skill(包括 executing-plans、subagent-driven-development 的 implementer subagent)均不得执行 `git commit`
|
|
9
|
+
- 代码修改完成后只允许执行 `git add`(stage 到暂存区),等待用户 review 后手动提交
|
|
10
|
+
- 提交指令默认使用 `/commit-push-pr`
|
|
11
|
+
- ❌ **禁止执行 `git clean`**:会删除未跟踪文件
|
|
12
|
+
|
|
13
|
+
## 编译规范
|
|
14
|
+
- 仅在重要代码修改后编译
|
|
15
|
+
- 文档修改不需要编译
|
|
16
|
+
|
|
17
|
+
## 网页获取
|
|
18
|
+
- 默认使用 `agent-browser` skill 获取网页内容,而非 WebFetch
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"ANTHROPIC_AUTH_TOKEN": "<请自行配置>",
|
|
4
|
+
"ANTHROPIC_BASE_URL": "<请自行配置>",
|
|
5
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4_5",
|
|
6
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-6",
|
|
7
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6",
|
|
8
|
+
"ANTHROPIC_MODEL": "claude-opus-4-6",
|
|
9
|
+
"ANTHROPIC_REASONING_MODEL": "claude-opus-4-6",
|
|
10
|
+
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
|
|
11
|
+
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1",
|
|
12
|
+
"DISABLE_PROMPT_CACHING": "0",
|
|
13
|
+
"ENABLE_TOOL_SEARCH": "false"
|
|
14
|
+
},
|
|
15
|
+
"permissions": {
|
|
16
|
+
"defaultMode": "bypassPermissions"
|
|
17
|
+
},
|
|
18
|
+
"model": "opus[1m]",
|
|
19
|
+
"hooks": {
|
|
20
|
+
"PostToolUse": [
|
|
21
|
+
{
|
|
22
|
+
"matcher": "Edit|Write|WriteFile|CreateFile|write-file|create-file|Bash",
|
|
23
|
+
"hooks": [
|
|
24
|
+
{
|
|
25
|
+
"type": "command",
|
|
26
|
+
"command": "bash /Users/brant/.r2c/scripts/claude-cli-hook.sh",
|
|
27
|
+
"timeout": 15
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"matcher": "",
|
|
33
|
+
"hooks": [
|
|
34
|
+
{
|
|
35
|
+
"type": "command",
|
|
36
|
+
"command": "node \"/Users/brant/.confirmo/hooks/confirmo-hook.js\"",
|
|
37
|
+
"timeout": 5
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"matcher": "Edit|Write",
|
|
43
|
+
"hooks": [
|
|
44
|
+
{
|
|
45
|
+
"type": "command",
|
|
46
|
+
"command": "codemap hook post-edit"
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"PreCompact": [
|
|
52
|
+
{
|
|
53
|
+
"hooks": [
|
|
54
|
+
{
|
|
55
|
+
"type": "command",
|
|
56
|
+
"command": "codemap hook pre-compact"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"PreToolUse": [
|
|
62
|
+
{
|
|
63
|
+
"matcher": "",
|
|
64
|
+
"hooks": [
|
|
65
|
+
{
|
|
66
|
+
"type": "command",
|
|
67
|
+
"command": "node \"/Users/brant/.confirmo/hooks/confirmo-hook.js\"",
|
|
68
|
+
"timeout": 5
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"matcher": "Edit|Write",
|
|
74
|
+
"hooks": [
|
|
75
|
+
{
|
|
76
|
+
"type": "command",
|
|
77
|
+
"command": "codemap hook pre-edit"
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"SessionEnd": [
|
|
83
|
+
{
|
|
84
|
+
"matcher": "",
|
|
85
|
+
"hooks": [
|
|
86
|
+
{
|
|
87
|
+
"type": "command",
|
|
88
|
+
"command": "node \"/Users/brant/.confirmo/hooks/confirmo-hook.js\"",
|
|
89
|
+
"timeout": 5
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"hooks": [
|
|
95
|
+
{
|
|
96
|
+
"type": "command",
|
|
97
|
+
"command": "codemap hook session-stop"
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"SessionStart": [
|
|
103
|
+
{
|
|
104
|
+
"matcher": "",
|
|
105
|
+
"hooks": [
|
|
106
|
+
{
|
|
107
|
+
"type": "command",
|
|
108
|
+
"command": "node \"/Users/brant/.confirmo/hooks/confirmo-hook.js\"",
|
|
109
|
+
"timeout": 5
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"type": "command",
|
|
113
|
+
"command": "codemap hook session-start"
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"Stop": [
|
|
119
|
+
{
|
|
120
|
+
"matcher": "",
|
|
121
|
+
"hooks": [
|
|
122
|
+
{
|
|
123
|
+
"type": "command",
|
|
124
|
+
"command": "node \"/Users/brant/.confirmo/hooks/confirmo-hook.js\"",
|
|
125
|
+
"timeout": 5
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"UserPromptSubmit": [
|
|
131
|
+
{
|
|
132
|
+
"matcher": "",
|
|
133
|
+
"hooks": [
|
|
134
|
+
{
|
|
135
|
+
"type": "command",
|
|
136
|
+
"command": "node \"/Users/brant/.confirmo/hooks/confirmo-hook.js\"",
|
|
137
|
+
"timeout": 5
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"hooks": [
|
|
143
|
+
{
|
|
144
|
+
"type": "command",
|
|
145
|
+
"command": "codemap hook prompt-submit"
|
|
146
|
+
}
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
},
|
|
151
|
+
"statusLine": {
|
|
152
|
+
"type": "command",
|
|
153
|
+
"command": "bash -c 'plugin_dir=$(ls -d \"${CLAUDE_CONFIG_DIR:-$HOME/.claude}\"/plugins/cache/claude-hud/claude-hud/*/ 2>/dev/null | awk -F/ '\"'\"'{ print $(NF-1) \"\\t\" $(0) }'\"'\"' | sort -t. -k1,1n -k2,2n -k3,3n -k4,4n | tail -1 | cut -f2-); exec \"/Users/brant/.nvm/versions/node/v22.21.1/bin/node\" \"${plugin_dir}dist/index.js\"'"
|
|
154
|
+
},
|
|
155
|
+
"enabledPlugins": {
|
|
156
|
+
"frontend-design@claude-plugins-official": true,
|
|
157
|
+
"superpowers@claude-plugins-official": true,
|
|
158
|
+
"claude-hud@claude-hud": true
|
|
159
|
+
},
|
|
160
|
+
"extraKnownMarketplaces": {
|
|
161
|
+
"claude-hud": {
|
|
162
|
+
"source": {
|
|
163
|
+
"source": "github",
|
|
164
|
+
"repo": "jarrodwatts/claude-hud"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"language": "中文",
|
|
169
|
+
"spinnerVerbs": {
|
|
170
|
+
"mode": "replace",
|
|
171
|
+
"verbs": [
|
|
172
|
+
"正在召唤骨灰",
|
|
173
|
+
"邦布充电中",
|
|
174
|
+
"正在挑战一心",
|
|
175
|
+
"正在读取存档",
|
|
176
|
+
"正在购买血瓶",
|
|
177
|
+
"正在匹配旗鼓相当的对手",
|
|
178
|
+
"少女祈祷中",
|
|
179
|
+
"大剑蓄力中",
|
|
180
|
+
"正在挖断电缆",
|
|
181
|
+
"正在切酱板鸭",
|
|
182
|
+
"正在接受九年义务教育",
|
|
183
|
+
"正在下技能五子棋",
|
|
184
|
+
"逃离地球"
|
|
185
|
+
]
|
|
186
|
+
},
|
|
187
|
+
"alwaysThinkingEnabled": true,
|
|
188
|
+
"effortLevel": "high",
|
|
189
|
+
"skipDangerousModePermissionPrompt": true
|
|
190
|
+
}
|
package/package.json
CHANGED