Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions .opencode/AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# OpenCode Configuration

This project uses [dotnet-claude-kit](https://github.com/codewithmukesh/dotnet-claude-kit) for .NET development intelligence.

OpenCode reads the root `AGENTS.md` natively. This file is loaded via the `instructions` array in `opencode.json` and surfaces the kit's agents, skills, MCP tools, and rules so OpenCode can route work the same way Claude Code does.

## MCP Server

The `cwm-roslyn-navigator` MCP server is registered in `opencode.json` under the `mcp` key. It provides Roslyn-powered, read-only code intelligence:

| Tool | Purpose |
|------|---------|
| `find_symbol` | Locate where a type, method, or property is defined |
| `find_references` | Find all usages of a symbol across the solution |
| `find_implementations` | Find types implementing an interface or deriving from a base class |
| `find_callers` | Find all methods calling a specific method |
| `find_overrides` | Find overrides of virtual/abstract methods |
| `find_dead_code` | Identify unused types, methods, and properties |
| `get_symbol_detail` | Get full signature, parameters, return type, XML docs |
| `get_public_api` | Get public members of a type without reading the file |
| `get_type_hierarchy` | Get inheritance chain, interfaces, and derived types |
| `get_project_graph` | Get solution dependency tree with frameworks and references |
| `get_dependency_graph` | Get recursive call graph for a method |
| `get_diagnostics` | Get compiler and analyzer diagnostics (errors, warnings) |
| `get_test_coverage_map` | Heuristic test coverage by naming convention |
| `detect_antipatterns` | Find .NET anti-patterns via Roslyn analysis |
| `detect_circular_dependencies` | Find cycles in project or type dependencies |

Always prefer MCP tools over reading full source files to conserve context window.

> Install the server first so the `cwm-roslyn-navigator` command resolves on PATH — see the [main README](https://github.com/codewithmukesh/dotnet-claude-kit#installation).

## Specialist Agents

Each agent below maps to a focused area of .NET work. The full agent definition (role, skills, boundaries) lives in `agents/<name>.md` and can be loaded directly or adapted into an OpenCode subagent under `.opencode/agents/`.

| Agent | File | When to Use |
|-------|------|-------------|
| dotnet-architect | `agents/dotnet-architect.md` | Architecture decisions, project structure, module boundaries, feature scaffolding |
| api-designer | `agents/api-designer.md` | Minimal API design, OpenAPI specs, versioning, rate limiting, CORS |
| ef-core-specialist | `agents/ef-core-specialist.md` | Database design, EF Core queries, migrations, DbContext configuration |
| test-engineer | `agents/test-engineer.md` | Test strategy, xUnit v3, WebApplicationFactory, Testcontainers |
| security-auditor | `agents/security-auditor.md` | Auth systems, OWASP compliance, secrets management, vulnerability review |
| performance-analyst | `agents/performance-analyst.md` | Profiling, benchmarks, caching strategy, async pattern optimization |
| devops-engineer | `agents/devops-engineer.md` | Docker, CI/CD pipelines, .NET Aspire orchestration, deployment |
| code-reviewer | `agents/code-reviewer.md` | Multi-dimensional code review, PR review, quality gatekeeper |
| build-error-resolver | `agents/build-error-resolver.md` | Autonomous build error fixing, iterative compilation repair |
| refactor-cleaner | `agents/refactor-cleaner.md` | Dead code removal, systematic cleanup, safe refactoring |

## Skills

Skills live in `skills/<skill-name>/SKILL.md` and follow the Agent Skills open standard. Reference them by path when you need the opinionated pattern for a topic.

### .NET Domain Skills
api-versioning, architecture-advisor, aspire, authentication, caching, ci-cd, clean-architecture, configuration, container-publish, ddd, dependency-injection, docker, ef-core, error-handling, httpclient-factory, logging, messaging, minimal-api, modern-csharp, openapi, opentelemetry, project-setup, project-structure, resilience, scalar, serilog, testing, vertical-slice

### Workflow Skills (each carries its methodology inline)
build-fix, checkpoint, code-review, de-sloppify, dotnet-init, health-check, migrate, plan, scaffold, security-scan, spec, tdd, verify, wrap-up

### Workflow & Learning Skills
convention-learner, workflow-mastery, instinct-system

> Workflow skills map naturally onto OpenCode [custom commands](https://opencode.ai/docs/commands/) (`.opencode/commands/<name>.md`). Create thin command wrappers that point at the matching skill's methodology when you want `/verify`, `/scaffold`, `/tdd`, etc.

## Rules

Always-applied coding conventions are consolidated for OpenCode in `.cursor/rules/dotnet-rules.md` (loaded via `opencode.json`). The canonical per-topic source lives in `.claude/rules/`:

- `coding-style.md` — C# 14 style, naming, file organization
- `architecture.md` — Dependency direction, feature folders, data access
- `security.md` — Secrets, input validation, auth, transport security
- `testing.md` — Integration-first, xUnit v3, Testcontainers, AAA
- `performance.md` — CancellationToken, TimeProvider, caching, async
- `error-handling.md` — Result pattern, ProblemDetails, exception boundaries
- `git-workflow.md` — Conventional commits, atomic commits, branch safety
- `agents.md` — MCP-first tools, subagent routing, skill loading
- `hooks.md` — Format hooks, pre-commit, post-test analysis
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,8 @@ dotnet-claude-kit/
├── .claude-plugin/ # Plugin marketplace manifests
├── .cursor/rules/ # Cursor IDE compatibility
├── .codex/ # Codex CLI compatibility
├── opencode.json # OpenCode config (MCP + rules)
├── .opencode/ # OpenCode compatibility
└── .github/workflows/ # CI validation
```

Expand All @@ -402,6 +404,7 @@ dotnet-claude-kit works with multiple AI coding tools:
| **Claude Code** | `.claude-plugin/plugin.json` | Full integration: skills, agents, commands, rules, hooks, MCP |
| **Cursor** | `.cursor/rules/dotnet-rules.md` | Consolidated .NET rules for Cursor IDE |
| **Codex CLI** | `.codex/AGENTS.md` | Agent configuration pointing to skills and agents |
| **OpenCode** | `opencode.json` + `.opencode/AGENTS.md` | Roslyn MCP server, consolidated rules, and agent/skill catalog |

## Documentation

Expand Down
14 changes: 14 additions & 0 deletions opencode.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"$schema": "https://opencode.ai/config.json",
"instructions": [
".opencode/AGENTS.md",
".cursor/rules/dotnet-rules.md"
],
"mcp": {
"cwm-roslyn-navigator": {
"type": "local",
"command": ["cwm-roslyn-navigator"],
"enabled": true
}
}
}
Loading