Зачем: Claude загружает user skills из ~/.claude/skills и не видел общий каталог ~/.agents/skills. Что: добавлен пакет claude с symlink ~/.claude/skills на общие skills, исправлен YAML frontmatter skill conventional-commits, обновлен README с новой схемой и stow командой. Проверка: stow -nvv claude и проверка лога rg "Loaded 1 unique skills" /tmp/claude-skills-check-2.log.
157 lines
5.6 KiB
Markdown
157 lines
5.6 KiB
Markdown
# 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 редактора
|
|
|
|
### 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/`
|
|
|
|
## 🚀 Установка
|
|
|
|
### Ручная установка
|
|
|
|
```bash
|
|
# 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
|
|
|
|
# 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
|
|
```
|
|
|
|
### Stow (рекомендуется)
|
|
|
|
```bash
|
|
# Установка stow
|
|
sudo apt install stow
|
|
|
|
# Применение конфигов
|
|
cd /path/to/dotfiles
|
|
stow bash tmux vim zed agents opencode codex claude
|
|
```
|
|
|
|
Важно: `bash` пакет кладет файлы `~/.bash_custom`, `~/.bash_functions`, `~/.bash_prompt`. Убедитесь, что ваш `~/.bashrc` содержит строку:
|
|
```bash
|
|
[ -f ~/.bash_custom ] && source ~/.bash_custom
|
|
```
|
|
|
|
## 🔧 Требования
|
|
|
|
- Linux (протестировано на Ubuntu)
|
|
- Bash 4.0+
|
|
- Tmux 2.0+
|
|
- Vim 8.0+
|
|
|
|
## 📝 Дополнительные файлы
|
|
|
|
Для полной настройки создайте:
|
|
- `~/.bash_aliases` — персональные алиасы
|
|
- `~/.env.secrets` — приватные переменные окружения (API ключи)
|
|
|
|
## 🔑 Переменные окружения
|
|
|
|
### Кастомные функции bash
|
|
|
|
Файл `bash/.bash_functions` содержит пользовательские функции (proxy_on/off, myip и др.).
|
|
При использовании `stow bash` он будет доступен как `~/.bash_functions`.
|
|
|
|
### Приватные переменные (секреты)
|
|
|
|
1. Скопируйте шаблон:
|
|
```bash
|
|
cp bash/.env.secrets.example ~/.env.secrets
|
|
```
|
|
|
|
2. Отредактируйте и добавьте API ключи:
|
|
```bash
|
|
# 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.
|
|
|
|
См. `.env.example` для дополнительной информации.
|