## 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
- **TUI work:** read `AGENT.tui.md` first — keyboard, localization, RazorConsole gotchas, component contract.
- RazorConsole gotchas and session notes: `docs/tui_log.md`.
- RazorConsole library docs: `docs/razorconsole/` (`overview.md`, `components.md`, `custom-translators.md`).
- OpenCode question policy: `docs/opencode/question-policy.md`.
