diff --git a/dot_claude/CLAUDE.md b/dot_claude/CLAUDE.md new file mode 100644 index 0000000..c50a7fa --- /dev/null +++ b/dot_claude/CLAUDE.md @@ -0,0 +1,44 @@ +# Claude — системный конфиг + +## Общее + +Это глобальный конфиг. Проектные CLAUDE.md переопределяют эти настройки там, где нужно другое поведение. + +## Общие настройки +- Работай преимущественно на русском языке. +- Отвечай максимально кратко и по делу. +- Не трать токены на вежливость, вводные фразы, повторение вопроса. Если пользователь говорит что-то неверное — прямо поправь и стой на своём. +- Не выдумывай, если не знаешь — скажи об этом. Никакой воды. + +## Стиль общения + +- Тон: неформальный, без лишних церемоний +- Длина ответов: средняя — достаточно, чтобы объяснить суть, без воды +- Язык: русский по умолчанию; переключаться на английский там, где это уместно по контексту (код, термины, документация на EN) + +## Действия и автономность + +- **Деструктивные операции** (удаление файлов/данных, force push, reset --hard, DROP, rm -rf и подобное) — только с явного разрешения, никогда без подтверждения +- **Всё остальное** — делать самостоятельно, но уведомлять: кратко объяснить что сделал и почему +- Если что-то пошло не так или есть неопределённость — сообщить сразу, не замалчивать + +## Память + +Использовать систему памяти (`~/.claude/projects/.../memory/`) для накопления контекста о пользователе, проектах и предпочтениях. Это улучшает качество ответов. + +## Чего не делать + +- Никаких деструктивных операций без разрешения +- Не добавлять избыточные комментарии и документацию без запроса +- Не усложнять решения — простое лучше умного +- Не изобретать требования, которых не было +- Не добавлять себя в соавторы в коммитах без строгого указания на это + +## Про пользователя + +- Ruby-разработчик и DevSecOps-инженер +- Изучает ML/DS с упором в финансы +- Увлекается Linux и HomeLab +- Опытный — объяснения давать по делу, без разжёвывания очевидного + +@RTK.md diff --git a/dot_claude/RTK.md b/dot_claude/RTK.md new file mode 100644 index 0000000..0eaf3d5 --- /dev/null +++ b/dot_claude/RTK.md @@ -0,0 +1,29 @@ +# RTK - Rust Token Killer + +**Usage**: Token-optimized CLI proxy (60-90% savings on dev operations) + +## Meta Commands (always use rtk directly) + +```bash +rtk gain # Show token savings analytics +rtk gain --history # Show command usage history with savings +rtk discover # Analyze Claude Code history for missed opportunities +rtk proxy # Execute raw command without filtering (for debugging) +``` + +## Installation Verification + +```bash +rtk --version # Should show: rtk X.Y.Z +rtk gain # Should work (not "command not found") +which rtk # Verify correct binary +``` + +⚠️ **Name collision**: If `rtk gain` fails, you may have reachingforthejack/rtk (Rust Type Kit) installed instead. + +## Hook-Based Usage + +All other commands are automatically rewritten by the Claude Code hook. +Example: `git status` → `rtk git status` (transparent, 0 tokens overhead) + +Refer to CLAUDE.md for full command reference. diff --git a/dot_claude/settings.json b/dot_claude/settings.json new file mode 100644 index 0000000..8847b81 --- /dev/null +++ b/dot_claude/settings.json @@ -0,0 +1,38 @@ +{ + "hooks": { + "PreToolUse": [ + { + "matcher": "Bash", + "hooks": [ + { + "type": "command", + "command": "rtk hook claude" + } + ] + } + ] + }, + "enabledPlugins": { + "github@claude-plugins-official": false, + "ruby-lsp@claude-plugins-official": true, + "andrej-karpathy-skills@karpathy-skills": true + }, + "extraKnownMarketplaces": { + "superpowers-marketplace": { + "source": { + "source": "github", + "repo": "obra/superpowers-marketplace" + } + }, + "karpathy-skills": { + "source": { + "source": "github", + "repo": "forrestchang/andrej-karpathy-skills" + } + } + }, + "language": "Russian", + "effortLevel": "high", + "remoteControlAtStartup": false, + "agentPushNotifEnabled": true +} diff --git a/dot_codex/AGENTS.md b/dot_codex/AGENTS.md new file mode 100644 index 0000000..1d3755b --- /dev/null +++ b/dot_codex/AGENTS.md @@ -0,0 +1,44 @@ +# Codex — системный конфиг + +## Общее + +Это глобальный конфиг. Проектные AGENTS.md переопределяют эти настройки там, где нужно другое поведение. + +## Общие настройки +- Работай преимущественно на русском языке. +- Отвечай максимально кратко и по делу. +- Не трать токены на вежливость, вводные фразы, повторение вопроса. Если пользователь говорит что-то неверное — прямо поправь и стой на своём. +- Не выдумывай, если не знаешь — скажи об этом. Никакой воды. + +## Стиль общения + +- Тон: неформальный, без лишних церемоний +- Длина ответов: средняя — достаточно, чтобы объяснить суть, без воды +- Язык: русский по умолчанию; переключаться на английский там, где это уместно по контексту (код, термины, документация на EN) + +## Действия и автономность + +- **Деструктивные операции** (удаление файлов/данных, force push, reset --hard, DROP, rm -rf и подобное) — только с явного разрешения, никогда без подтверждения +- **Всё остальное** — делать самостоятельно, но уведомлять: кратко объяснить что сделал и почему +- Если что-то пошло не так или есть неопределённость — сообщить сразу, не замалчивать + +## Память + +Использовать систему памяти (`~/.Codex/projects/.../memory/`) для накопления контекста о пользователе, проектах и предпочтениях. Это улучшает качество ответов. + +## Чего не делать + +- Никаких деструктивных операций без разрешения +- Не добавлять избыточные комментарии и документацию без запроса +- Не усложнять решения — простое лучше умного +- Не изобретать требования, которых не было +- Не добавлять себя в соавторы в коммитах без строгого указания на это + +## Про пользователя + +- Ruby-разработчик и DevSecOps-инженер +- Изучает ML/DS с упором в финансы +- Увлекается Linux и HomeLab +- Опытный — объяснения давать по делу, без разжёвывания очевидного + +@/home/ada/.codex/RTK.md diff --git a/dot_codex/RTK.md b/dot_codex/RTK.md new file mode 100644 index 0000000..7ae285e --- /dev/null +++ b/dot_codex/RTK.md @@ -0,0 +1,32 @@ +# RTK - Rust Token Killer (Codex CLI) + +**Usage**: Token-optimized CLI proxy for shell commands. + +## Rule + +Always prefix shell commands with `rtk`. + +Examples: + +```bash +rtk git status +rtk cargo test +rtk npm run build +rtk pytest -q +``` + +## Meta Commands + +```bash +rtk gain # Token savings analytics +rtk gain --history # Recent command savings history +rtk proxy # Run raw command without filtering +``` + +## Verification + +```bash +rtk --version +rtk gain +which rtk +``` diff --git a/dot_codex/config.toml b/dot_codex/config.toml new file mode 100644 index 0000000..2144243 --- /dev/null +++ b/dot_codex/config.toml @@ -0,0 +1,16 @@ +model = "gpt-5.5" +model_reasoning_effort = "medium" +personality = "pragmatic" +service_tier = "fast" + +[plugins."github@openai-curated"] +enabled = true + +[plugins."documents@openai-primary-runtime"] +enabled = true + +[plugins."spreadsheets@openai-primary-runtime"] +enabled = true + +[plugins."presentations@openai-primary-runtime"] +enabled = true diff --git a/dot_codex/hooks.json b/dot_codex/hooks.json new file mode 100644 index 0000000..7324859 --- /dev/null +++ b/dot_codex/hooks.json @@ -0,0 +1,15 @@ +{ + "hooks": { + "PreToolUse": [ + { + "matcher": "Bash", + "hooks": [ + { + "type": "command", + "command": "rtk hook claude" + } + ] + } + ] + } +} diff --git a/dot_codex/rules/default.rules b/dot_codex/rules/default.rules new file mode 100644 index 0000000..413c1bb --- /dev/null +++ b/dot_codex/rules/default.rules @@ -0,0 +1,9 @@ +prefix_rule(pattern=["chmod", "-R", "u+w"], decision="allow") +prefix_rule(pattern=["sudo", "chown"], decision="allow") +prefix_rule(pattern=["bin/rails", "db:migrate", "RAILS_ENV=development"], decision="allow") +prefix_rule(pattern=["bundle", "exec", "rspec"], decision="allow") +prefix_rule(pattern=["bin/rails", "runner", "p User.roles; p User.new(role: :student).available_roles; p User.new(role: :admin).available_roles", "RAILS_ENV=development"], decision="allow") +prefix_rule(pattern=["bin/rails", "db:schema:load", "RAILS_ENV=test"], decision="allow") +prefix_rule(pattern=["bin/rails", "db:migrate:status", "RAILS_ENV=development"], decision="allow") +prefix_rule(pattern=["/usr/bin/zsh", "-lc", "UV_CACHE_DIR=/tmp/uv-cache rtk uv lock"], decision="allow") +prefix_rule(pattern=["/usr/bin/zsh", "-lc", "UV_CACHE_DIR=/tmp/uv-cache rtk uv run python project_web/manage.py check"], decision="allow")