# comate-cli

Comate terminal CLI package.

## Usage

```bash
uvx comate-cli
```

Or install globally:

```bash
uv tool install comate-cli
comate
```

## MCP

`comate mcp` supports Claude Code compatible MCP configuration commands for common add/list/get/remove flows.

```bash
comate mcp add firecrawl npx -y firecrawl-mcp
comate mcp add -t http sentry https://mcp.sentry.dev/mcp -H "Authorization: Bearer ..."
comate mcp add-json ctx '{"type":"http","url":"https://example.test/mcp"}'
```

Supported scopes are `local` (default), `project`, and `user`. Comate stores MCP configuration under `.agent` / `~/.agent`; it does not read or modify Claude Code configuration files.

## 排错 / Troubleshooting

### 看不到错误信息但行为异常

comate 在生产模式下会把若干无害但吵闹的 shutdown 噪音写入
`~/.comate/logs/agent.log`，而不是显示在终端里。这包括 Windows asyncio
shutdown 的 `ResourceWarning`、MCP 服务器违规向 stdout 写日志导致的 JSONRPC
解析失败，以及解释器退出阶段的 unraisable 异常。

如果你怀疑隐藏了真实错误，可以按下面顺序排查：

```bash
# 1. 看 noise 通道的最近 50 条
grep -E "\[unraisable\]|\[excepthook\]|\[warning\]" ~/.comate/logs/agent.log | tail -50

# 2. 看完整 agent.log 末尾
tail -200 ~/.comate/logs/agent.log

# 3. 临时关掉噪音接管器,看原始输出(开发场景)
COMATE_DEBUG_NOISE=1 comate
```

`COMATE_DEBUG_NOISE=1` 设置后，`_ShutdownNoiseGuard` 会跳过 install，
错误会像旧版本一样直接打印到 stderr。

## Author

andy

by andy
