Files
LazyBearWorks/AGENTS.md
Shahovalov MIkhail 9b27cd7dc2 fix: исправить навигацию клавиатуры в TUI через GlobalKeyboardService
- Добавить 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>
2026-04-13 23:31:53 +03:00

56 lines
2.3 KiB
Markdown

## 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:
```csharp
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 in `Program.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.MCP`
Use only when transport or tool registration changed.
### Config & Runtime Gotchas
- Runtime URL: `http://localhost:5000`
- `LazyBear.MCP/Properties/launchSettings.json` shows another port; trust `Program.cs`.
- SDK pin: `LazyBear.MCP/global.json`
- Main config: `LazyBear.MCP/appsettings.json`
- `Jira:Url` is required for Jira tools. If missing, provider init may fail and tools may return string errors.
- `Kubernetes:KubeconfigPath` may be empty. Fallback order:
1. explicit kubeconfig
2. default kubeconfig
3. 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`.