refactor(claude): settings.json отдан Claude Code, базовые настройки в settings.local.json
- Зачем:
- Claude Code перезаписывает settings.json при каждом «always allow», что создавало
конфликт с managed-копией из dotfiles при повторном запуске install.sh.
- Что:
- settings.json удалён из репозитория, Claude Code владеет им полностью.
- создан settings.local.json (базовые permissions + statusLine), деплоится через симлинк.
- install.sh: копирование + шаблон заменены на ln -sf с бэкапом и guard для edge cases.
- check.sh: проверка обновлена под симлинк вместо «файл + chmod 444».
- тесты: старый тест копирования заменён на 4 новых (симлинк, бэкап, директория, stow-миграция).
- Проверка:
- bash tests/test_install.sh (15 тестов).
- bash agents/.agents/skills/dotfiles-check/check.sh.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
bdccd889fe
commit
9341853479
6 files changed
+117
-69
No files matched your search
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(cat *)",
|
||||
"Bash(ls)",
|
||||
"Bash(ls *)",
|
||||
"Bash(wc *)",
|
||||
"Bash(head *)",
|
||||
"Bash(tail *)",
|
||||
"Bash(find *)",
|
||||
"Bash(tree)",
|
||||
"Bash(tree *)",
|
||||
"Bash(file *)",
|
||||
"Bash(stat *)",
|
||||
"Bash(diff *)",
|
||||
"Bash(realpath *)",
|
||||
"Bash(readlink *)",
|
||||
"Bash(basename *)",
|
||||
"Bash(dirname *)",
|
||||
"Bash(sort *)",
|
||||
"Bash(uniq *)",
|
||||
"Bash(cut *)",
|
||||
"Bash(awk *)",
|
||||
"Bash(sed *)",
|
||||
"Bash(grep *)",
|
||||
"Bash(rg *)",
|
||||
"Bash(jq *)",
|
||||
"Bash(yq *)",
|
||||
"Bash(tr *)",
|
||||
"Bash(echo *)",
|
||||
"Bash(printf *)",
|
||||
"Bash(which *)",
|
||||
"Bash(type *)",
|
||||
"Bash(command -v *)",
|
||||
"Bash(env)",
|
||||
"Bash(env *)",
|
||||
"Bash(printenv)",
|
||||
"Bash(printenv *)",
|
||||
"Bash(pwd)",
|
||||
"Bash(uname *)",
|
||||
"Bash(whoami)",
|
||||
"Bash(id)",
|
||||
"Bash(date)",
|
||||
"Bash(date *)",
|
||||
"Bash(hostname)",
|
||||
"Bash(git log*)",
|
||||
"Bash(git diff*)",
|
||||
"Bash(git status*)",
|
||||
"Bash(git show*)",
|
||||
"Bash(git branch*)",
|
||||
"Bash(git remote -v*)",
|
||||
"Bash(git remote show*)",
|
||||
"Bash(git tag*)",
|
||||
"Bash(git stash list*)",
|
||||
"Bash(git rev-parse*)",
|
||||
"Bash(git ls-files*)",
|
||||
"Bash(git blame*)",
|
||||
"Bash(git shortlog*)",
|
||||
"Bash(git config --get*)",
|
||||
"Bash(git config --list*)",
|
||||
"Bash(git fetch*)",
|
||||
"Bash(git add*)",
|
||||
"Bash(docker ps*)",
|
||||
"Bash(docker logs*)",
|
||||
"Bash(docker inspect*)",
|
||||
"Bash(docker images*)",
|
||||
"Bash(docker stats*)",
|
||||
"Bash(docker info*)",
|
||||
"Bash(docker version*)",
|
||||
"Bash(docker compose ps*)",
|
||||
"Bash(docker compose logs*)",
|
||||
"Bash(docker compose:*)",
|
||||
"Bash(docker restart:*)",
|
||||
"Bash(docker exec:*)",
|
||||
"Bash(docker run:*)",
|
||||
"Bash(docker stop:*)",
|
||||
"Bash(docker rm:*)",
|
||||
"Bash(curl *)",
|
||||
"Bash(wget *)",
|
||||
"Bash(mkdir *)",
|
||||
"Bash(cp *)",
|
||||
"Bash(mv *)",
|
||||
"Bash(touch *)",
|
||||
"Bash(chmod *)",
|
||||
"Bash(ln *)",
|
||||
"Bash(npm *)",
|
||||
"Bash(npx *)",
|
||||
"Bash(yarn *)",
|
||||
"Bash(pnpm *)",
|
||||
"Bash(bun *)",
|
||||
"Bash(go *)",
|
||||
"Bash(cargo *)",
|
||||
"Bash(make *)",
|
||||
"Bash(python *)",
|
||||
"Bash(python3 *)",
|
||||
"Bash(pip *)",
|
||||
"Bash(pip3 *)",
|
||||
"Bash(pytest *)",
|
||||
"Bash(node *)",
|
||||
"Bash(deno *)",
|
||||
"Bash(stow *)",
|
||||
"Bash(gh api:*)",
|
||||
"Bash(gh search:*)",
|
||||
"Bash(gh issue:*)",
|
||||
"Bash(gh repo:*)",
|
||||
"Bash(codex *)",
|
||||
"WebSearch",
|
||||
"mcp__claude_ai_Context7__resolve-library-id",
|
||||
"Write(/tmp/claude-plan-*)"
|
||||
]
|
||||
},
|
||||
"statusLine": {
|
||||
"type": "command",
|
||||
"command": "bash ~/.claude/statusline-command.sh"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user