探员Dock CLI
@cogito.ai/cli ——"脚手架"制作准备的人工智能编码代理项目为人类,CI管道,人工智能代理.
快速启动
# Interactive mode (for humans)
npx @cogito.ai/cli init
# Headless mode (for CI / AI agents)
npx @cogito.ai/cli init --name my-app --template web-nextjs --pm pnpm --json
# Workspace-member mode (existing pnpm workspace)
npx @cogito.ai/cli init --name my-app --template web-tanstackstart --dir apps/my-app --mode workspace --json
# Start MCP Stdio server (for AI agents via Model Context Protocol)
npx @cogito.ai/cli mcp
安装
# Run without installing (recommended)
npx @cogito.ai/cli <command>
# Global install
npm install -g @cogito.ai/cli
pnpm add -g @cogito.ai/cli
图标
agentdock init
脚手架从模板中复制出一个新项目. 自动检测环境 :
- 类型 + 交互式提示( 人模式)
- 非TTY 类型 /
--silent编号 :--json− 无头处决(代理/CI模式)
| 旗帜 | 类型 | 默认 | 说明 |
|---|---|---|---|
--name | 字符串 | 所需经费 | 项目名称和目标目录名称 |
--template | 字符串 | 所需经费 | 模板ID( 如. web-nextjs(中文(简体) ) |
--pm | 字符串 | pnpm | 软件包管理器 : pnpm 编号 : npm 编号 : yarn 编号 : bun |
--dir | 字符串 | ./<name> | 目标目录(绝对或相对 cwd) |
--mode | 字符串 | auto | 放置模式 : auto 编号 : workspace 编号 : standalone |
--integrations | 字符串 | 空 | 可选集成ID; 重复或逗号分隔. 当前支持 mastra |
--json | 布尔 | false | 输出 NDJSON 结果是 stdout |
--silent | 布尔 | false | 禁止所有输出 |
--mode auto 检测最近的 pnpm 工作空间,并检查目标是否与其匹配 packages glo. 工作空间成员产出不复制 pnpm-workspace.yaml, (中文(简体) ), pnpm-lock.yaml,或 .npmrc成员 packageManager 编号 : engines.pnpm 字段。 根号 allowBuilds 更改在 requiredRootChanges; CLI 不修改根配置.
JSON 输出( 成功) :
{
"ok": true,
"targetDir": "/path/to/my-app",
"name": "my-app",
"template": "web-nextjs",
"mode": "standalone",
"integrations": ["mastra"],
"lockfileOwner": "/path/to/my-app/pnpm-lock.yaml",
"requiredRootChanges": [],
"rootConfigConflicts": []
}
JSON 输出( 失败) :
{
"ok": false,
"error": "TARGET_DIR_EXISTS",
"message": "Directory already exists: /path/to/my-app"
}
错误代码 : MISSING_ARG • 妇女 TEMPLATE_NOT_FOUND • 妇女 TARGET_DIR_EXISTS • 妇女 CLI_VERSION_OUTDATED • 妇女 SCAFFOLD_FAILED • 妇女 INVALID_MODE • 妇女 WORKSPACE_MODE_UNSUPPORTED • 妇女 WORKSPACE_NOT_MATCHED • 妇女 WORKSPACE_STANDALONE_CONFLICT • 妇女 WORKSPACE_CONFIG_INVALID • 妇女 WORKSPACE_PACKAGE_MANAGER_INCOMPATIBLE • 妇女 WORKSPACE_NODE_INCOMPATIBLE • 妇女 INVALID_INTEGRATION • 妇女 INTEGRATION_NOT_SUPPORTED • 妇女 INTEGRATION_CONFLICT
agentdock mcp
启动 MCP( 模式背景协议) Stdio 服务器 。 曝光CLI能力作为AI代理直接调用的工具.
agentdock mcp
可用工具 :
| 工具 | 说明 |
|---|---|
list_templates | 列出项目模板和支持的集成ID |
scaffold_project | 脚手架,与无头入门相同的输入 |
VS 代码副驾驶 MCP 配置.vscode/mcp.json:
{
"servers": {
"agentdock": {
"type": "stdio",
"command": "npx",
"args": ["@cogito.ai/cli", "mcp"]
}
}
}
可用的模板
| 模板 ID | 说明 |
|---|---|
web-nextjs | Next.js 16 + Supabase + next-intl + Tailwind CSS v4 + Veste + Fumadocs – 全高单曲启动器 |
建筑
CLI使用一个 适应器模式 单一执行器核心服务于三个消费者表面:
agentdock init
│
├── TTY detected ──→ Human Adapter (Clack interactive UI)
└── Non-TTY / flags ──→ Agent Adapter (structured JSON output)
agentdock mcp ──→ MCP Adapter (MCP Stdio Server)
All adapters share the same Core Executor (scaffold + registry)
设计原则:
- 无头第一 ——执行器核心没有TTY的依赖性;人类UI是上层的薄壳.
- 结构化输出为协议 —— 说
--json模式生成稳定的机器可分解的NDJSON,而不是自然语言. - 一个能力,三个表面 —— 说
scaffold_project被执行一次并自动投放到 CLI 旗帜、 JSON 模式和 MCP 工具上.
技术堆栈 :
| 构成部分 | 作用 |
|---|---|
| 阿宝 | 构建: 单文件 Node.js 可执行文件 |
| 齐蒂 | 命令建模:子命令、旗帜图案、懒惰装入 |
| 阴道 | 人类互动: TTY 提示 |
| MCP 类型脚本 SDK | 代理协议: MCP Stdio 服务器 |
| 更改 | 发布治理:语义版本+更改日志 |
发展
# Install dependencies
pnpm install
# Regenerate template registry
pnpm --filter @cogito.ai/cli generate-registry
# Run from source (no build needed)
npx tsx packages/cli/bin/agentdock.ts init
# Run tests
pnpm --filter @cogito.ai/cli test
# Build
pnpm --filter @cogito.ai/cli build
添加模板
- 创建
templates/<id>/具有完整的项目结构. - 添加
package.json与"agentdock": { "minCliVersion": "x.y.z" }。 。 。 . - 运行
pnpm --filter @cogito.ai/cli generate-registry。 。 。 . - 发布一个新的CLI版本——模板被捆绑在npm包内.
支持嵌入 pnpm 工作空间的单包模板可以添加 agentdock.workspaceMember.rootAllowBuilds。Monorepo模板应保持单独.
支持不精确 pnpm 范围的模板 packageManager 针可以设置 agentdock.packageManagerEnforced: true 并宣布 engines.pnpm。这只保留 pnpm ,同时避免自动软件包管理切换.
出版新版本
pnpm changeset # describe the change
pnpm changeset version # bump version + update CHANGELOG
pnpm --filter @cogito.ai/cli build
pnpm --filter @cogito.ai/cli publish
许可证
麻省理工学院