2.4 KiB
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 | use question tool for all user choices (plain-text numbered options)
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
QUESTION_TOOL:
- вопрос: "Полный текст вопроса" (строка)
- header: "Краткий заголовок (макс 30 симв.)" (строка)
- options: массив объектов QuestionOption с полями:
- label: "Отображаемый текст (1-5 слов)" (строка)
- description: "Объяснение выбора" (строка)
- multiple: false (для одиночного выбора) или true (для多选题)
Пример использования:
{
"question": "Выберите ID ресурса:",
"header": "Выберите ID:",
"options": [
{"label": "Ресурс А", "description": "Первый вариант"},
{"label": "Ресурс B", "description": "Второй вариант"},
{"label": "Ресурс C", "description": "Третий вариант"}
],
"multiple": false
}
Валидация:
- все required поля заполнены
- label не превышает 5 слов
- description поясняет choice
[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