From 328f70f16cfb5f0946bd1080b021d933be04ccd8 Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Tue, 10 Mar 2026 22:03:08 +0300 Subject: [PATCH] =?UTF-8?q?feat(claude):=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B3=D0=BB=D0=BE=D0=B1=D0=B0=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3?= =?UTF-8?q?=D1=83=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20=D1=80=D0=B0=D0=B7=D1=80?= =?UTF-8?q?=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - сократить количество запросов подтверждения при рутинных операциях (чтение файлов, git status/log/diff, docker ps/logs, сборка/тесты). - Что: - создан claude/.claude/settings.json с секцией permissions.allow — авторазрешены безопасные bash-команды: чтение файлов, текстовая обработка, git read-only + git add, docker read-only, curl/wget, файловые операции (mkdir/cp/mv/touch), dev-инструменты (npm/bun/go/...). - опасные операции (git commit/push/rm/docker stop) остаются на запрос. - обновлён .gitignore stow-пакета: settings.json добавлен в исключения. - Проверка: - cat ~/.claude/settings.json — должен быть симлинк на файл в dotfiles. - ls -la ~/.claude/settings.json — проверить, что это symlink. --- claude/.claude/.gitignore | 1 + claude/.claude/settings.json | 112 +++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 claude/.claude/settings.json diff --git a/claude/.claude/.gitignore b/claude/.claude/.gitignore index b84b874..e5985d3 100644 --- a/claude/.claude/.gitignore +++ b/claude/.claude/.gitignore @@ -2,3 +2,4 @@ * !skills !.gitignore +!settings.json diff --git a/claude/.claude/settings.json b/claude/.claude/settings.json new file mode 100644 index 0000000..29e6b80 --- /dev/null +++ b/claude/.claude/settings.json @@ -0,0 +1,112 @@ +{ + "model": "opus", + "statusLine": { + "type": "command", + "command": "bash /home/dementev/.claude/statusline-command.sh" + }, + "effortLevel": "high", + "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(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 *)" + ] + } +}