diff --git a/AGENTS.md b/AGENTS.md index 3e080e5..bcf31c6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -60,7 +60,20 @@ All Go formatting is enforced by `mise run lint` (golangci-lint with gofmt). Key ## Git workflow -A new provider PR always commits **all 6 files atomically** (see Provider testdata fixtures below). +A new provider PR always commits all files atomically: + +| File | Purpose | +|------|---------| +| `internal/providers/.go` | Provider implementation | +| `internal/providers/_test.go` | Tests (Config, Parse, Generate, Exists) | +| `internal/providers/fixtures/_input.json` | Realistic on-disk config | +| `internal/providers/fixtures/_expected.json` | Exact iris output | +| `internal/types/provider.go` | Add `NameXxx` constant | +| `cmd/iris/main.go` | Register `NewProvider()` | +| `docs/providers/.md` | Provider documentation | +| `README.md` | Add to supported providers table | + +Create a feature branch, push, open a PR. Run `mise run test` and `mise run lint` at session end to confirm no regressions. ## Provider testdata fixtures diff --git a/README.md b/README.md index d50dc48..b3bef6e 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,8 @@ The `providers` field is written automatically by `iris init -I` and tells `iris | Kimi Code (`kimi`) | — | `~/.kimi/mcp.json` | | Mistral Vibe (`mistral-vibe`) | `.vibe/config.toml` | `~/.vibe/config.toml` | | IntelliJ IDEA (`intellij`) | `.idea/mcp.json` | — | +| Cline (`cline`) | — | `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json` | +| Kiro (`kiro`) | `.kiro/settings/mcp.json` | `~/.kiro/settings/mcp.json` | ## Development diff --git a/docs/providers/cline.md b/docs/providers/cline.md new file mode 100644 index 0000000..72eee46 --- /dev/null +++ b/docs/providers/cline.md @@ -0,0 +1,30 @@ +# Cline + +**iris provider name:** `cline` + +## Config file + +| Scope | Path | +|---------|------| +| Project | — | +| Global | `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json` | + +Project-level config is not supported. + +## Format + +```json +{ + "mcpServers": { + "server-name": { + "command": "npx", + "args": ["-y", "@modelcontextprotocol/server-filesystem"], + "env": { "KEY": "value" } + } + } +} +``` + +Root key: `mcpServers` (standard MCP JSON format). Both stdio (`command`/`args`/`env`) and HTTP (`url`/`headers`) transports are supported. + +## References diff --git a/docs/providers/kiro.md b/docs/providers/kiro.md new file mode 100644 index 0000000..0fc083b --- /dev/null +++ b/docs/providers/kiro.md @@ -0,0 +1,30 @@ +# Kiro + +**iris provider name:** `kiro` + +## Config file + +| Scope | Path | +|---------|------| +| Project | `.kiro/settings/mcp.json` | +| Global | `~/.kiro/settings/mcp.json` | + +Both project-level and global configs are supported. + +## Format + +```json +{ + "mcpServers": { + "server-name": { + "command": "npx", + "args": ["-y", "@modelcontextprotocol/server-filesystem"], + "env": { "KEY": "value" } + } + } +} +``` + +Root key: `mcpServers` (standard MCP JSON format). Both stdio (`command`/`args`/`env`) and HTTP (`url`/`headers`) transports are supported. + +## References