vibe-gate-mcp 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +17 -3
- package/CHANGELOG.md +32 -0
- package/README.md +29 -11
- package/dist/index.mjs +859 -123
- package/docs/CLI_PROVIDERS.md +130 -0
- package/docs/INSTALLATION.md +21 -7
- package/docs/ROADMAP.md +19 -0
- package/docs/SEMANTIC_DIFF_PAYLOAD.md +9 -0
- package/docs/TROUBLESHOOTING.md +20 -5
- package/docs/USAGE.md +23 -3
- package/docs/VIBE-GATE.md +1 -1
- package/docs/project/VARIABLES.md +24 -18
- package/docs/project/api/mcp-tools.md +7 -3
- package/examples/cursor-mcp.codex-cli.json +12 -0
- package/package.json +3 -1
package/.env.example
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# =============================================================================
|
|
2
2
|
# Vibe-Gate — copy to `.env` next to this package (or set the same keys in MCP env)
|
|
3
|
-
# NEVER commit real keys.
|
|
3
|
+
# NEVER commit real keys. Pick one API provider with a key OR a signed-in local CLI.
|
|
4
4
|
# =============================================================================
|
|
5
5
|
|
|
6
6
|
# --- Required: Critic provider ---
|
|
7
|
-
# One of: openai | anthropic | google | minimax | opencode
|
|
7
|
+
# One of: openai | anthropic | google | minimax | opencode | codex-cli | claude-code | cursor-agent | opencode-cli
|
|
8
8
|
CRITIC_PROVIDER=openai
|
|
9
9
|
|
|
10
|
-
# ---
|
|
10
|
+
# --- API key for direct API providers (uncomment ONE block when needed) ---
|
|
11
11
|
|
|
12
12
|
# OpenAI
|
|
13
13
|
OPENAI_API_KEY=
|
|
@@ -25,6 +25,20 @@ OPENAI_API_KEY=
|
|
|
25
25
|
# OPENCODE_API_KEY=
|
|
26
26
|
# OPENCODE_PLAN=go
|
|
27
27
|
|
|
28
|
+
# --- Local CLI providers (no separate API key; install and sign in first) ---
|
|
29
|
+
# CRITIC_PROVIDER=codex-cli
|
|
30
|
+
# CRITIC_PROVIDER=claude-code
|
|
31
|
+
# CRITIC_PROVIDER=cursor-agent
|
|
32
|
+
# CRITIC_PROVIDER=opencode-cli
|
|
33
|
+
# For opencode-cli, set CRITIC_MODEL to a provider/model ID from `opencode models`
|
|
34
|
+
|
|
35
|
+
# Optional executable paths when the MCP host PATH cannot find the CLI
|
|
36
|
+
# CODEX_CLI_PATH=/absolute/path/to/codex
|
|
37
|
+
# CLAUDE_CODE_CLI_PATH=/absolute/path/to/claude
|
|
38
|
+
# CURSOR_AGENT_CLI_PATH=/absolute/path/to/cursor-agent
|
|
39
|
+
# OPENCODE_CLI_PATH=/absolute/path/to/opencode
|
|
40
|
+
# CRITIC_CLI_TIMEOUT_MS=120000
|
|
41
|
+
|
|
28
42
|
# --- Optional: model / persona ---
|
|
29
43
|
# CRITIC_MODEL=gpt-5.4
|
|
30
44
|
# CRITIC_PERSONA=clean-code-monk
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,38 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.1.5] - 2026-09-23
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Enforce bounded review inputs, close the conflict loop as deadlocked after a rejected third round, and avoid duplicating or persisting source payloads between rounds.
|
|
15
|
+
- Load Critic `REQUEST:` paths from the workspace with path, file-count, file-size, line-count, and total-context limits; reject traversal and symlink escapes in changed-file reads.
|
|
16
|
+
- Use the OpenAI Responses API so current reasoning models work without model-specific request parameters or a Vibe-Gate model allowlist.
|
|
17
|
+
|
|
18
|
+
### Docs
|
|
19
|
+
|
|
20
|
+
- Document the review limits and requested-context behavior, and add a release checklist and scope review.
|
|
21
|
+
|
|
22
|
+
## [0.1.4] - 2026-09-21
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- Add local Critic providers for Codex CLI, Claude Code, Cursor Agent, and OpenCode CLI, reusing existing CLI sign-ins without requiring separate API keys.
|
|
27
|
+
- Add CLI path overrides, bounded execution time, and temporary per-run working directories.
|
|
28
|
+
- Isolate OpenCode CLI config, deny agent tools, and remove OpenCode sessions after each request.
|
|
29
|
+
- Document CLI provider setup, authentication, process restrictions, and researched adapter candidates.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- Reject malformed CLI JSON and JSONL responses instead of accepting partial output, and preserve provider errors if OpenCode session cleanup also fails.
|
|
34
|
+
- Send Cursor Agent's review conversation through stdin in the form expected by its CLI.
|
|
35
|
+
|
|
36
|
+
### Tests
|
|
37
|
+
|
|
38
|
+
- Add coverage for CLI authentication reuse, process isolation, output parsing, malformed streams, and OpenCode session cleanup.
|
|
39
|
+
|
|
8
40
|
## [0.1.3] - 2026-09-04
|
|
9
41
|
|
|
10
42
|
### Added
|
package/README.md
CHANGED
|
@@ -4,17 +4,26 @@ An **Adversarial Quality Gate** for AI-assisted IDEs: the IDE agent and a Critic
|
|
|
4
4
|
|
|
5
5
|
## Quick start (npm / npx)
|
|
6
6
|
|
|
7
|
-
### 1. Critic
|
|
7
|
+
### 1. Choose a Critic provider
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Use a direct API provider with its key, or use a local CLI that is already installed and signed in. Local CLI providers do not need a separate provider API key.
|
|
10
10
|
|
|
11
11
|
Copy from the package’s [`.env.example`](.env.example):
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
#
|
|
14
|
+
# Direct API example
|
|
15
15
|
CRITIC_PROVIDER=openai
|
|
16
16
|
OPENAI_API_KEY=YOUR_OPENAI_API_KEY
|
|
17
17
|
|
|
18
|
+
# Or use the signed-in Codex CLI account (no API key)
|
|
19
|
+
# CRITIC_PROVIDER=codex-cli
|
|
20
|
+
|
|
21
|
+
# Or another signed-in local CLI (no separate API key)
|
|
22
|
+
# CRITIC_PROVIDER=claude-code
|
|
23
|
+
# CRITIC_PROVIDER=cursor-agent
|
|
24
|
+
# CRITIC_PROVIDER=opencode-cli
|
|
25
|
+
# CRITIC_MODEL=provider/model # required for opencode-cli; see `opencode models`
|
|
26
|
+
|
|
18
27
|
# Or OpenCode (https://opencode.ai/auth)
|
|
19
28
|
# CRITIC_PROVIDER=opencode
|
|
20
29
|
# OPENCODE_API_KEY=...
|
|
@@ -22,19 +31,27 @@ OPENAI_API_KEY=YOUR_OPENAI_API_KEY
|
|
|
22
31
|
# CRITIC_MODEL=minimax-m3
|
|
23
32
|
```
|
|
24
33
|
|
|
25
|
-
| Provider | `CRITIC_PROVIDER` |
|
|
34
|
+
| Provider | `CRITIC_PROVIDER` | Authentication |
|
|
26
35
|
| ------------- | ----------------- | ----------------------------------------------- |
|
|
27
36
|
| OpenAI | `openai` | `OPENAI_API_KEY` |
|
|
28
37
|
| Anthropic | `anthropic` | `ANTHROPIC_API_KEY` |
|
|
29
38
|
| Google Gemini | `google` | `GOOGLE_GENERATIVE_AI_API_KEY` |
|
|
30
39
|
| MiniMax | `minimax` | `MINIMAX_API_KEY` |
|
|
31
40
|
| OpenCode | `opencode` | `OPENCODE_API_KEY` (+ optional `OPENCODE_PLAN`) |
|
|
41
|
+
| Codex CLI | `codex-cli` | Existing `codex login` session |
|
|
42
|
+
| Claude Code | `claude-code` | Existing Claude Code account session |
|
|
43
|
+
| Cursor Agent | `cursor-agent` | Existing `cursor-agent login` session |
|
|
44
|
+
| OpenCode CLI | `opencode-cli` | Saved `opencode auth login` credentials + model |
|
|
45
|
+
|
|
46
|
+
`opencode` is still the separate Zen/Go HTTP provider and needs `OPENCODE_API_KEY`. `opencode-cli` runs the local CLI and requires a `provider/model` value in `CRITIC_MODEL`; see the CLI guide for details.
|
|
47
|
+
|
|
48
|
+
`CRITIC_MODEL` is passed to the selected provider or CLI without a Vibe-Gate model allowlist; the provider must support that model ID. The OpenAI API provider uses the Responses API. See [provider configuration](docs/USAGE.md#configuration--providers).
|
|
32
49
|
|
|
33
|
-
Full list: [docs/project/VARIABLES.md](docs/project/VARIABLES.md).
|
|
50
|
+
See [CLI provider setup and alternatives](docs/CLI_PROVIDERS.md) for CLI installation, login, configuration, OpenCode session details, and other candidates we evaluated. Full variable list: [docs/project/VARIABLES.md](docs/project/VARIABLES.md).
|
|
34
51
|
|
|
35
|
-
### 2. Cursor MCP (any consumer repo)
|
|
52
|
+
### 2. Configure Cursor MCP (any consumer repo)
|
|
36
53
|
|
|
37
|
-
Project or user [`.cursor/mcp.json`](examples/cursor-mcp.project.json):
|
|
54
|
+
Project or user [`.cursor/mcp.json`](examples/cursor-mcp.codex-cli.json) for Codex CLI (or use the [API-key example](examples/cursor-mcp.project.json)):
|
|
38
55
|
|
|
39
56
|
```json
|
|
40
57
|
{
|
|
@@ -44,15 +61,14 @@ Project or user [`.cursor/mcp.json`](examples/cursor-mcp.project.json):
|
|
|
44
61
|
"args": ["-y", "vibe-gate-mcp"],
|
|
45
62
|
"env": {
|
|
46
63
|
"VIBE_WORKSPACE_ROOT": "${workspaceFolder}",
|
|
47
|
-
"CRITIC_PROVIDER": "
|
|
48
|
-
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
|
|
64
|
+
"CRITIC_PROVIDER": "codex-cli"
|
|
49
65
|
}
|
|
50
66
|
}
|
|
51
67
|
}
|
|
52
68
|
}
|
|
53
69
|
```
|
|
54
70
|
|
|
55
|
-
|
|
71
|
+
For direct providers, prefer keys in a local `.env` next to the package or in the consumer project under `VIBE_WORKSPACE_ROOT` (never commit secrets). MCP `env` overrides `.env`. For a CLI provider, install and sign in to that CLI as the same OS user running the MCP server.
|
|
56
72
|
|
|
57
73
|
### 3. Call the tool (agents)
|
|
58
74
|
|
|
@@ -105,8 +121,10 @@ Probes: `updateStatus: false` or `phaseId` prefixes `mcp-smoke-` / `vibe-gate-pr
|
|
|
105
121
|
| Doc | Description |
|
|
106
122
|
| -------------------------------------------------------------- | ------------------------- |
|
|
107
123
|
| [docs/INSTALLATION.md](docs/INSTALLATION.md) | Install + multi-repo MCP |
|
|
108
|
-
| [docs/USAGE.md](docs/USAGE.md) | First run
|
|
124
|
+
| [docs/USAGE.md](docs/USAGE.md) | First run and providers |
|
|
125
|
+
| [docs/CLI_PROVIDERS.md](docs/CLI_PROVIDERS.md) | Local CLI providers |
|
|
109
126
|
| [docs/SEMANTIC_DIFF_PAYLOAD.md](docs/SEMANTIC_DIFF_PAYLOAD.md) | `files[]` contract |
|
|
127
|
+
| [docs/ROADMAP.md](docs/ROADMAP.md) | Release checklist |
|
|
110
128
|
| [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) | Stale MCP, path errors |
|
|
111
129
|
| [docs/project/VARIABLES.md](docs/project/VARIABLES.md) | Env SSoT |
|
|
112
130
|
| [examples/](examples/) | Cursor mcp.json templates |
|