# AGENTS.md — LazyBear MCP STACK: .NET 10 | ASP.NET Core | ModelContextProtocol.AspNetCore 1.2.0 STRUCTURE: LazyBear.MCP/{Program.cs, Services/Kubernetes/{K8sConfigTools,K8sDeploymentTools,K8sNetworkTools,K8sPodsTools}, appsettings.json} --- ## [A] КОД — ALWAYS PRE_EDIT: read_file → keep_style → min_diff → no_secrets_in_code PRE_COMMIT: dotnet build OK | MCP protocol intact PRIORITY: user > this_file > code_style --- ## [B] КОММУНИКАЦИЯ — ALWAYS LANG: thinking=en (ALWAYS, never zh) | output=ru | code=en | comments+commits=ru DO: act_first → confirm_if_needed | short_and_precise | sequential_questions DONT: end_with_question_only | print_secret_values | commit_.env.local SECRETS: use .env.local if exists; else state_once + ref .env.example LINKS: internal=relative_path spaces→%20 | external=markdown_label (not bare URL) RULES_EDIT: minimal + non_duplicative --- ## [C] MEMORY LOG — ALWAYS PREFIX: lazybear/ KEY: lazybear// (ex: lazybear/bug/auth-fail) TYPES: architecture | mcp_tool | decision | bug | config | task_log ONE_TYPE_PER_ENTITY: true ON session_start → read_graph OR search_nodes() ON significant_change → create_entities OR add_observations --- ## [D] INTERACTION — только при вопросе пользователю ### Формат вопроса ``` <инструкция ≤15 слов> 1) <вариант ≤5 слов> 2) <вариант> ``` RULES: первый_символ=инструкция | max_options=7 | blank_line_before_options FORBIDDEN: текст до/после блока | метки ("Выберите:") | пояснения ### Ввод — принимать любой Принимать как валидный: - N или N,N → выбор по номеру - любой текст → интерпретировать по смыслу и продолжать выполнение - abort|cancel → остановиться НЕ блокироваться на невалидном вводе — интерпретировать намерение и продолжать. ### После получения ответа EXECUTE: silent NEXT_OUTPUT: result XOR next_question_block ``` ✗ "Перехожу на ветку, затем подготовлю версию..." ✓ [молча] → результат или следующий вопрос ``` ### Запрещённые шаблоны ``` ✗ "Если хочешь, могу сделать коммит" ✗ "Дай знать если продолжить" ✗ вопросы в конце ответа без блока выбора ``` RULE: action available → always show choice block: ``` Выполнить коммит и push? 1) Да 2) Нет ``` OPTIONS: exhaustive | no "Другое" | freetext implicit (не предлагать как вариант)