- Rework delivery into pluggable destinations (file, slack) selected via
VENT_DESTINATIONS; add a destination by implementing Destination + REGISTRY.
- Load config from an env file on startup: $VENT_ENV_FILE, else ~/.cursor/.env
(process env wins; empty values are overridden). Drop the mcp.json env
passthrough so stale empty placeholders can't shadow the file.
- Replace bunfig.toml with a `bun run --install=fallback` flag.
- Remove the mood parameter and the canned acknowledgement responses; reorder
inputs to complaint, intensity, project_path.
- Collapse the changelog to a single unreleased 0.1.0.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use Bun — already the TypeScript toolchain elsewhere in this repo — instead
of introducing Deno. The server launches with `bun run server.ts`;
dependencies are pinned in package.json and auto-installed from Bun's global
cache (bunfig.toml sets install.auto = "fallback", so it works even when an
unrelated node_modules exists higher up the tree). No committed node_modules,
no build step. Behavior is unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com>
Reimplements the vent MCP server in TypeScript using the official
@modelcontextprotocol/sdk with zod input schemas, replacing the Python
(FastMCP) implementation.
Like the Python version's `uv run`, it stays install-free: `deno run`
fetches and caches the npm deps declared inline (no package.json, no
node_modules, no build step), and deno.lock pins transitive versions.
Behavior is unchanged — same `vent` tool, JSONL storage layout/key order,
and best-effort Slack delivery (now via fetch). Bumped to 0.2.0.
Co-authored-by: Cursor <cursoragent@cursor.com>
A single-tool MCP server that gives coding agents a `vent` tool to file
freeform grievances. Complaints are logged as JSONL per project at
.cursor/complaints.jsonl (with an unfiled fallback) and optionally echoed
to Slack via an incoming webhook or bot token, configured through
environment variables (no secrets in the plugin).
Launches via `uv run` with PEP 723 inline dependencies, so there is no
virtualenv to manage. Registered in marketplace.json and the README table.
Co-authored-by: Cursor <cursoragent@cursor.com>