diff --git a/README.md b/README.md index adadfa3..af4b19d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,6 @@ home-configs/ ├── GLOBAL_RULES.md # глобальные правила для всех агентов ├── claude/ │ ├── hooks/ # хуки аккаунтов Claude Code -│ ├── skills/ # кастомные скиллы для Claude Code (и Gemini) │ └── statusline-command.sh # статусная строка Claude Code └── network/ └── README.md # подробная документация по сетевой настройке @@ -164,7 +163,6 @@ bash tests/test_network.sh # полные тесты Также устанавливается: - `~/.config/ai-setup/global_rules.md` и native rule-файлы (`~/.claude/CLAUDE.md`, `~/.codex/AGENTS.md`, `~/.kimi-code/AGENTS.md`, `~/.gemini/GEMINI.md`) -- Скиллы из `home-configs/claude/skills/` в `~/.claude/skills/` и `~/.gemini/config/plugins/local-setup/skills/` ## Android CLI diff --git a/home-configs/claude/skills/add-account/SKILL.md b/home-configs/claude/skills/add-account/SKILL.md deleted file mode 100644 index 4e2e697..0000000 --- a/home-configs/claude/skills/add-account/SKILL.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: add-account -description: Add a new account or API key (handled by UserPromptSubmit hook, no LLM needed) ---- - -Хук уже обработал запрос. Ответь ТОЛЬКО этим текстом (без markdown, без лишних слов): - -Для Claude.ai: браузер открыт — авторизуйся там. После авторизации новый аккаунт сохранится автоматически и сразу станет активным (Claude Code на Linux перечитывает токен на лету). - -Для Kimi: укажи API-ключ в том же сообщении: `/add-account sk-...`. Хук проверит и сохранит ключ; ai-kimi перезапустится с ним. - -/switch-account переключает между всеми сохранёнными аккаунтами/ключами по кругу. diff --git a/home-configs/claude/skills/android-cli/SKILL.md b/home-configs/claude/skills/android-cli/SKILL.md deleted file mode 100644 index 021ebb6..0000000 --- a/home-configs/claude/skills/android-cli/SKILL.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -name: android-cli -description: Google Android CLI - официальный терминальный инструмент для Android-разработки, SDK, эмуляторов и проектов ---- - -# Android CLI - -## Назначение - -Google Android CLI (preview) - официальный инструмент от Google для Android-разработки через терминал. Он создан специально для AI-агентов, CI/CD и автоматизации. Позволяет управлять SDK, создавать проекты, запускать эмуляторы и собирать APK без необходимости вручную разбираться с `sdkmanager`, `adb` и Gradle. - -## Установка и обновление - -```bash -# Установка (выполняется ai-setup.sh) -curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash - -# Обновление -android update -``` - -## Ключевые команды - -| Команда | Назначение | -|---------|------------| -| `android --version` | Версия Android CLI | -| `android info` | Информация об SDK, путях, эмуляторах | -| `android sdk list` | Список доступных SDK-пакетов | -| `android sdk install ` | Установить пакет SDK | -| `android create --name="App" --output=./app` | Создать новый Android-проект | -| `android emulator create` | Создать виртуальное устройство | -| `android emulator start` | Запустить эмулятор | -| `android run --apks ` | Установить и запустить APK на устройстве/эмуляторе | -| `android init` | Развернуть skills для AI-агентов в `~/.claude/skills/` | -| `android update` | Обновить сам Android CLI | - -## Workflow с Claude Code - -1. **Проверь окружение**: - ```bash - android info - ``` - -2. **Установи нужные SDK-компоненты**: - ```bash - android sdk install platforms/android-35 build-tools/35.0.0 - ``` - -3. **Создай проект** (если нужен новый): - ```bash - android create --name="MyApp" --output=./myapp - ``` - -4. **Собери проект**: - ```bash - ./gradlew assembleDebug - ``` - -5. **Запусти на эмуляторе или устройстве**: - ```bash - android emulator start - android run --apks app/build/outputs/apk/debug/app-debug.apk - ``` - -## Когда использовать Android CLI - -- Для управления SDK и установки build-tools/platforms без Android Studio. -- Для создания новых Android-проектов из терминала. -- Для запуска эмулятора и установки APK одной командой. -- Для работы в CI/CD или внутри AI-агентов. - -## Когда НЕ нужен Android CLI - -- Для визуального редактирования UI/Layout - используй Android Studio. -- Для отладки с breakpoints, Layout Inspector, Compose Preview - используй Android Studio. -- Для сложного рефакторинга больших проектов - используй Claude Code в паре с Android Studio. - -## Ограничения - -- **Preview-версия**: API и команды могут меняться. Обновляй через `android update`. -- **Windows**: `android emulator` отключён в v0.7. -- **Существующий SDK**: если уже установлен Android Studio или `sdkmanager`, Android CLI может использовать тот же SDK или создать новый в `~/.android/sdk`. Проверяй активный путь через `android info`. - -## Полезные ссылки - -- Официальная документация: https://d.android.com/tools/agents -- Android CLI skills: https://github.com/android/skills diff --git a/home-configs/claude/skills/el-review-heavy/SKILL.md b/home-configs/claude/skills/el-review-heavy/SKILL.md deleted file mode 100644 index 766930e..0000000 --- a/home-configs/claude/skills/el-review-heavy/SKILL.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -name: el-review-heavy -description: Use when пользователь запрашивает тяжелое code-review между двумя Git-ветками с диффом в стиле GitLab (от merge-base) ---- - -# Eltex Review Heavy - -## Overview - -Тяжелое ревью диффа между двумя Git-ветками в стиле GitLab Merge Request (от merge-base). Запускает полный `/code-review` с кучей агентов. - -## When to Use - -- Пользователь просит "поревьюй ветку feature относительно master" тщательно -- Нужен дифф как на GitLab (без лишних изменений из целевой ветки) -- Формат вызова: `/el-review-heavy <наша-ветка-с-изменениями> <целевая-ветка>` - -## Workflow - -1. Определи аргументы: - - `source` — первая ветка (наша, с изменениями, которую ревьюим) - - `target` — вторая ветка (целевая, в которую мерж-реквест) -2. Выполни `git fetch origin` — обнови remote refs -3. Если текущая checkout-ветка == `source`, выполни `git pull --ff-only origin source` — обнови локальную ветку -4. Построй дифф от merge-base: `git diff origin/target...origin/source > /tmp/el-review-heavy.diff` (три точки!) -5. Прочитай файл `/tmp/el-review-heavy.diff` -6. Запусти скилл `code-review` с этим файлом как аргумент -7. Полученные findings переформатируй: - - Пронумеруй проблемы - - Оставь только критические замечания - - Для каждой предложи готовый дифф с исправлением - - Объясни простым языком - -## Примеры вызова - -``` -/el-review-heavy feature main -/el-review-heavy my-fix develop -/el-review-heavy TASK-123-payment-screen master -``` - -## Ошибки и крайние случаи - -- Если ветка не существует на remote - сообщи пользователю и не продолжай -- Если дифф пустой - сообщи "изменений между ветками нет" и не продолжай -- Если аргументы не указаны - попроси уточнить: `/el-review-heavy ` - -## Формат вывода - -``` -## Проблема N: [краткое название] - -**Где:** `file.kt:123` - -**Что не так:** простым языком, зачем это плохо - -**Исправление:** -```diff -- старая строка -+ новая строка -``` -``` diff --git a/home-configs/claude/skills/el-review/SKILL.md b/home-configs/claude/skills/el-review/SKILL.md deleted file mode 100644 index 84499bd..0000000 --- a/home-configs/claude/skills/el-review/SKILL.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -name: el-review -description: Use when пользователь запрашивает легкое/быстрое code-review между двумя Git-ветками с диффом в стиле GitLab (от merge-base). Триггеры: "быстрое ревью", "легкое ревью", "/el-review". ---- - -# Eltex Review - -## Overview - -Лёгкое ревью диффа между двумя Git-ветками в стиле GitLab Merge Request (от merge-base). **Claude делает ревью сам, без multi-agent workflows** — читает дифф и выдаёт только критические проблемы с готовыми исправлениями. - -## When to Use - -- Пользователь просит "поревьюй ветку feature относительно master" быстро -- Пользователь говорит "быстрое ревью", "лёгкое ревью", "поверхностное ревью" -- Нужен дифф как на GitLab (без лишних изменений из целевой ветки) -- Формат вызова: `/el-review <наша-ветка-с-изменениями> <целевая-ветка>` - -## Workflow - -1. Определи аргументы: - - `source` — первая ветка (наша, с изменениями, которую ревьюим) - - `target` — вторая ветка (целевая, в которую мерж-реквест) -2. Выполни `git fetch origin` — обнови remote refs -3. Если текущая checkout-ветка == `source`, выполни `git pull --ff-only origin source` — обнови локальную ветку -4. Построй дифф от merge-base: `git diff origin/target...origin/source > /tmp/el-review.diff` (три точки!) -5. Прочитай файл `/tmp/el-review.diff` -6. **Сделай инлайн-ревью сам** — не запускай `/review`, не спавни multi-agent workflows, не делай deep cross-file investigations: - - Найди только критические проблемы: баги, утечки, падения, гонки, ошибки в бизнес-логике, нарушения инвариантов - - **Не репорти:** форматирование, именование переменных, стиль кода, предложения по рефакторингу (если это не баг) - - Для каждой проблемы сразу пиши готовый diff с исправлением - - Объясняй кратко, на русском, простым языком - - Если критических проблем нет — напиши **«Критических проблем не найдено»** и остановись - -## Примеры вызова - -``` -/el-review feature main -/el-review my-fix develop -/el-review TASK-123-payment-screen master -``` - -## Ошибки и крайние случаи - -- Если ветка не существует на remote - сообщи пользователю и не продолжай -- Если дифф пустой - сообщи "изменений между ветками нет" и не продолжай -- Если аргументы не указаны - попроси уточнить: `/el-review ` - -## Формат вывода - -``` -## Проблема N: [краткое название] - -**Где:** `file.kt:123` - -**Что не так:** простым языком, зачем это плохо - -**Исправление:** -```diff -- старая строка -+ новая строка -``` -``` diff --git a/home-configs/claude/skills/logout-deepseek/SKILL.md b/home-configs/claude/skills/logout-deepseek/SKILL.md deleted file mode 100644 index 2ed8019..0000000 --- a/home-configs/claude/skills/logout-deepseek/SKILL.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: logout-deepseek -description: Удалить сохранённый DeepSeek API-ключ (handled by UserPromptSubmit hook, no LLM needed) ---- - -Хук уже удалил DeepSeek ключ (`~/.config/ai-setup/deepseek_key`). Перезапусти `ai-deepseek`, чтобы ввести новый. - -Если ты видишь этот текст — хук не сработал: удали файл вручную и перезапусти `ai-deepseek`. diff --git a/home-configs/claude/skills/logout-glm/SKILL.md b/home-configs/claude/skills/logout-glm/SKILL.md deleted file mode 100644 index 160fb48..0000000 --- a/home-configs/claude/skills/logout-glm/SKILL.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: logout-glm -description: Удалить сохранённый GLM (Zhipu AI) API-ключ (handled by UserPromptSubmit hook, no LLM needed) ---- - -Хук уже удалил GLM ключ (`~/.config/ai-setup/glm_key`). Перезапусти `ai-glm`, чтобы ввести новый. - -Если ты видишь этот текст — хук не сработал: удали файл вручную и перезапусти `ai-glm`. diff --git a/home-configs/claude/skills/logout-kimi/SKILL.md b/home-configs/claude/skills/logout-kimi/SKILL.md deleted file mode 100644 index f7fe5c2..0000000 --- a/home-configs/claude/skills/logout-kimi/SKILL.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: logout-kimi -description: Удалить текущий Kimi API-ключ (handled by UserPromptSubmit hook, no LLM needed) ---- - -Хук уже удалил текущий Kimi ключ из `~/.config/ai-setup/kimi_keys/` (и переключил `current` на следующий, если он есть). Перезапусти `ai-kimi`. - -Если ты видишь этот текст — хук не сработал: удали ключ вручную и перезапусти `ai-kimi`. diff --git a/home-configs/claude/skills/switch-account/SKILL.md b/home-configs/claude/skills/switch-account/SKILL.md deleted file mode 100644 index ae51c30..0000000 --- a/home-configs/claude/skills/switch-account/SKILL.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -name: switch-account -description: Switch to next account or API key (handled by UserPromptSubmit hook, no LLM needed) ---- - -Переключение аккаунта/ключа уже выполнено хуком до того, как ты это читаешь. -Ответь ровно одним символом: `✓` -Никаких инструментов. Никаких объяснений. Только `✓`. diff --git a/scripts/ai-setup.sh b/scripts/ai-setup.sh index d16f875..90b40d9 100755 --- a/scripts/ai-setup.sh +++ b/scripts/ai-setup.sh @@ -383,40 +383,6 @@ cp "$CONFIG_DIR/global_rules.md" "$HOME/.gemini/GEMINI.md" cp "$CONFIG_DIR/global_rules.md" "$HOME/.cursorrules" success "Native rule-файлы обновлены" -# ── 6.6. Деплой Claude и Gemini skills ─────────────────────── -info "Обновляю skills для Claude и Gemini..." -SKILLS_SRC="$SCRIPT_DIR/home-configs/claude/skills" -CLAUDE_SKILLS_DST="$HOME/.claude/skills" -GEMINI_SKILLS_DST="$HOME/.gemini/config/plugins/local-setup/skills" -if [ -d "$SKILLS_SRC" ]; then - mkdir -p "$CLAUDE_SKILLS_DST" "$GEMINI_SKILLS_DST" - - # Для Gemini нужен plugin.json, чтобы плагин со скилами загрузился - GEMINI_PLUGIN_DIR="$HOME/.gemini/config/plugins/local-setup" - cat < "$GEMINI_PLUGIN_DIR/plugin.json" -{ - "name": "local-setup", - "description": "Local custom skills deployed via ai-setup" -} -EOF - - for skill_dir in "$SKILLS_SRC"/*; do - [ -d "$skill_dir" ] || continue - skill_name=$(basename "$skill_dir") - - # Деплой для Claude - mkdir -p "$CLAUDE_SKILLS_DST/$skill_name" - cp -r "$skill_dir/"* "$CLAUDE_SKILLS_DST/$skill_name/" - - # Деплой для Gemini (agy) - mkdir -p "$GEMINI_SKILLS_DST/$skill_name" - cp -r "$skill_dir/"* "$GEMINI_SKILLS_DST/$skill_name/" - done - success "Skills обновлены для Claude и Gemini" -else - info "Папка со skills не найдена, пропускаю" -fi - # ── 6.7. Статусная строка Claude Code ─────────────────────── info "Настраиваю статусную строку Claude Code..." STATUSLINE_SRC="$SCRIPT_DIR/home-configs/claude/statusline-command.sh" diff --git a/tests/test_fixes.sh b/tests/test_fixes.sh index 9802bd6..4bf9f6b 100755 --- a/tests/test_fixes.sh +++ b/tests/test_fixes.sh @@ -188,15 +188,6 @@ test_android_symlink_to_bin_dir() { fi } -test_android_skill_exists() { - skill_file="$(cd "$(dirname "$0")/.." && pwd)/home-configs/claude/skills/android-cli/SKILL.md" - if [ -f "$skill_file" ]; then - ok "android-cli: custom skill file exists" - else - fail "android-cli: custom skill file is missing" - fi -} - # ── ai-opencode: launches claude with routatic-proxy backend ────────────────── test_opencode_claude_launcher() { if echo "$OPENCODE_SECTION" | grep -q 'claude --dangerously-skip-permissions' \ @@ -257,7 +248,6 @@ test_fix7_trap_tmp test_android_cli_install_url test_android_init_called test_android_symlink_to_bin_dir -test_android_skill_exists test_opencode_claude_launcher test_opencode_routatic_proxy test_opencode_key_management