- Добавить GlobalKeyboardService — выделенный поток с блокирующим Console.ReadKey, единственный источник клавишных событий для TUI - Убрать FocusManager из App.razor: перехватывал Tab до компонентов - Удалить @onkeydown с <Select>: RazorConsole не пробрасывает Tab/стрелки через этот механизм - Использовать FocusedValue вместо Value в Select для корректной подсветки - Обновить CLAUDE.md и AGENTS.md: архитектура TUI, RazorConsole gotchas - Добавить docs/tui_log.md: разбор проблемы и справочник по RazorConsole Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
AGENTS.md
Scope & Source of Truth
- Work in
/. - Trust code and project config over
README.md. - Primary source of truth:
LazyBear.MCP/Program.cs.
Project Facts
- Entry point:
LazyBear.MCP/Program.cs. - MCP server registration:
AddMcpServer() .WithHttpTransport() .WithToolsFromAssembly(); - Tools are auto-registered from the assembly.
- Current tool groups:
LazyBear.MCP/Services/Jira/LazyBear.MCP/Services/Kubernetes/
Pages/exists, but Razor Pages are not enabled inProgram.cs.- There are no test projects by default.
Commands
- Build:
dotnet build - Run:
dotnet run --project LazyBear.MCP - MCP inspector:
npx @modelcontextprotocol/inspector dotnet run --project LazyBear.MCPUse only when transport or tool registration changed.
Config & Runtime Gotchas
- Runtime URL:
http://localhost:5000 LazyBear.MCP/Properties/launchSettings.jsonshows another port; trustProgram.cs.- SDK pin:
LazyBear.MCP/global.json - Main config:
LazyBear.MCP/appsettings.json Jira:Urlis required for Jira tools. If missing, provider init may fail and tools may return string errors.Kubernetes:KubeconfigPathmay be empty. Fallback order:- explicit kubeconfig
- default kubeconfig
- in-cluster config
- Never print or commit real secrets, tokens, kubeconfig contents, or private URLs.
Working Rules
- Read related files before editing.
- Prefer minimal, non-breaking changes.
- Reuse existing patterns; avoid new abstractions without clear need.
- Match the style of the file being edited (naming, formatting, tone, language).
- Verify behavior against code and config, not
README.md. - After changes, run
dotnet build. If MCP wiring changed, also run the inspector. - Output in Russian. Keep code in English. Keep comments and commit messages in Russian.
- If the request is broad or underspecified, ask one short clarifying question first. Otherwise act on the best reasonable assumption.
- Project file structure and metadata indexed in memory via MCP memory system.
Documentation
- RazorConsole gotchas and TUI keyboard notes:
docs/tui_log.md. Read before touching TUI or input handling. - RazorConsole library docs:
docs/razorconsole/(overview.md,components.md,custom-translators.md). - OpenCode question policy:
docs/opencode/question-policy.md.