50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
## AGENTS.md
|
|
|
|
### Scope & Source of Truth
|
|
- Work in `LazyBear.MCP/`.
|
|
- Ignore `Libraries/Confluence/` unless the user explicitly asks for it.
|
|
- 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.
|
|
- 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.
|