- Зачем: - позволить агенту выполнять базовые операции анализа репозитория без лишних подтверждений. - Что: - в `readonly-commands.toml` добавлены правила `allow` для `git status`, `git diff` и `git add`. - Проверка: - запуск `git status` не должен вызывать диалог подтверждения (если политики применены).
Dotfiles
Персональные конфигурационные файлы для настройки рабочего окружения.
📦 Содержимое
Bash
- Файлы:
bash/.bash_custom,bash/.bash_functions,bash/.bash_prompt - Подключение кастомных bash-файлов (функции, prompt, секреты) поверх стандартного
~/.bashrc - Кастомный двухстрочный prompt (подключается из
~/.bash_prompt) - Поддержка цветного вывода и автодополнения
Tmux
- Файл:
tmux/.tmux.conf - Два префикса:
Ctrl+b(стандартный) иCtrl+Space(удобный) - Визуальный стиль с синей цветовой схемой
- Vi-режим для копирования
- Горячие клавиши:
|/-— разделение панелейAlt+стрелки— изменение размера панелей и переключение оконr— перезагрузка конфига
Vim
- Файл:
vim/.vimrc - Минималистичная конфигурация без плагинов
- 2 пробела вместо табов (оптимально для YAML/XML)
- Поддержка мыши и подсветка поиска
- Leader key:
Space<Space>w— сохранить<Space>h— убрать подсветку поиска<Space>p— вставка без форматирования
Zed
- Директория:
zed/.config/zed/ - Структура для конфигурации Zed редактора
VS Code (WSL)
- Файл:
vscode/.vscode-server/server-env-setup - Поддержка
~/.vscode-server/server-env-setupдля VS Code Server в WSL - Подгрузка
~/.env.secretsдля расширений, задач/debug и терминалов VS Code - Режим
fail-open: при проблеме с файлом выводится warning, запуск VS Code не блокируется
Opencode
- Директория:
opencode/.config/opencode/ - Конфигурация AI-ассистента opencode с MCP-серверами:
- context7 — документация библиотек
- web-reader — чтение веб-страниц
- web-search-prime — поиск в интернете
- zread — чтение GitHub репозиториев
- playwright — браузерная автоматизация
- Требует переменных окружения (см.
.env.example) - Скиллы берутся из общего пакета
agents/.agents/skills/через симлинк~/.config/opencode/skills
Agents (shared skills)
- Директория:
agents/.agents/skills/ - Каноничное место для общих скиллов в формате
~/.agents/skills/<name>/SKILL.md
Codex
- Директория:
codex/.codex/skills/ - Тонкие симлинки в
~/.codex/skills/на общие skills из~/.agents/skills/
Claude
- Директория:
claude/.claude/ - Тонкий симлинк
~/.claude/skillsна общие skills из~/.agents/skills/
🚀 Установка
Stow (рекомендуется)
# Установка stow
sudo apt install stow
# Применение конфигов
cd /path/to/dotfiles
stow bash tmux vim zed vscode agents opencode codex claude
Важно: bash пакет кладет файлы ~/.bash_custom, ~/.bash_functions, ~/.bash_prompt. Убедитесь, что ваш ~/.bashrc содержит строку:
[ -f ~/.bash_custom ] && source ~/.bash_custom
Ручная установка
# Bash
cp bash/.bash_custom ~/.bash_custom
cp bash/.bash_functions ~/.bash_functions
cp bash/.bash_prompt ~/.bash_prompt
# Подключите кастомные настройки в ~/.bashrc (один раз)
# [ -f ~/.bash_custom ] && source ~/.bash_custom
source ~/.bashrc
# Tmux
cp tmux/.tmux.conf ~/
tmux source-file ~/.tmux.conf
# Vim
cp vim/.vimrc ~/
# Zed
mkdir -p ~/.config/zed
cp zed/.config/zed/* ~/.config/zed/ 2>/dev/null || true
# VS Code (WSL)
mkdir -p ~/.vscode-server
cp vscode/.vscode-server/server-env-setup ~/.vscode-server/server-env-setup
chmod +x ~/.vscode-server/server-env-setup
# Opencode
mkdir -p ~/.config/opencode
cp opencode/.config/opencode/* ~/.config/opencode/
# Agents (shared skills)
mkdir -p ~/.agents/skills
cp -r agents/.agents/skills/* ~/.agents/skills/
# Codex (bridge to shared skills)
mkdir -p ~/.codex/skills
ln -snf ~/.agents/skills/conventional-commits ~/.codex/skills/conventional-commits
# Claude (bridge to shared skills)
mkdir -p ~/.claude
ln -snf ~/.agents/skills ~/.claude/skills
Windows (chezmoi)
Для Windows используется chezmoi — кросс-платформенный менеджер dotfiles.
💡 Примечание: chezmoi также работает на Linux/WSL, но stow предпочтительнее для полной функциональности.
⚠️ Требования:
- Developer Mode должен быть включён (для создания симлинков)
- PowerShell 5.0+ или PowerShell Core
Установка (два шага):
# 1. Установка chezmoi
winget install twpayne.chezmoi
# 2. Инициализация (клонирует репо)
chezmoi init ddmitry/dotfiles
# 3. Первое применение (подготавливает структуру)
chezmoi apply
# 4. Второе применение (копирует файлы в правильные места)
chezmoi apply
Примечания:
- После шага 4 все файлы будут на месте:
~/.vimrc,~/.agents/skills/,~/.config/opencode/, и т.д. - Симлинки для skills создаются автоматически только если включен Developer Mode
- Без Developer Mode AI-ассистенты будут работать с прямыми копиями skills
Что доступно на Windows:
- ✅ Vim
- ✅ Agents (shared skills)
- ✅ Codex (с симлинками на skills)
- ✅ Claude (с симлинками на skills)
- ✅ Opencode (с симлинками на skills)
Что НЕ доступно на Windows:
- ❌ Bash (Linux-only)
- ❌ Tmux (Linux-only)
- ❌ Zed (пути конфигурации отличаются)
🔧 Требования
Linux/WSL
- Linux (протестировано на Ubuntu)
- Bash 4.0+
- Tmux 2.0+
- Vim 8.0+
Windows
- Windows 10/11 с Developer Mode
- PowerShell 5.0+ или PowerShell Core
- chezmoi
📝 Дополнительные файлы
Для полной настройки создайте:
~/.bash_aliases— персональные алиасы~/.env.secrets— приватные переменные окружения (API ключи)
🔑 Переменные окружения
Кастомные функции bash
Файл bash/.bash_functions содержит пользовательские функции (proxy_on/off, myip и др.).
При использовании stow bash он будет доступен как ~/.bash_functions.
Приватные переменные (секреты)
- Скопируйте шаблон:
cp bash/.env.secrets.example ~/.env.secrets
- Отредактируйте и добавьте API ключи:
# Context7 API (https://context7.com)
export CONTEXT7_API_KEY="your_context7_api_key_here"
# Z.AI API для LLM, поиска и чтения (https://z.ai)
export ZAI_API_KEY="your_zai_api_key_here"
Файл ~/.env.secrets автоматически подгружается при старте shell.
VS Code Server в WSL
Для VS Code в WSL используется файл ~/.vscode-server/server-env-setup.
В этом репозитории он находится в vscode/.vscode-server/server-env-setup и подгружает ~/.env.secrets в окружение VS Code Server.
После установки/обновления файла сделайте одно из действий:
Developer: Reload Windowв VS Code- или
Remote-WSL: Reconnect to WSL
Если у вас уже есть локальный ~/.vscode-server/server-env-setup, stow может сообщить конфликт.
Тогда сохраните старую версию и примените stow повторно:
mv ~/.vscode-server/server-env-setup ~/.vscode-server/server-env-setup.bak.$(date +%Y%m%d%H%M%S)
stow -vt ~ vscode
Скрипт работает в режиме fail-open: если ~/.env.secrets отсутствует или содержит ошибку, VS Code продолжит запуск, а warning появится в логах.
См. .env.example для дополнительной информации.