contentrain

中文文档
0.18.26发布于 2026/11/03MITES Module构建来源已验证

CLI for contenttrain——团队和AI代理的内容治理生态系统

中文使用文档
文档目录20 节
  1. 安装
  2. 全球旗帜
  3. 命令
  4. 国旗矩阵
  5. 典型的流
  6. serve 模式
  7. 本地评审UI(默认)
  8. MCP工作室(IDE代理)
  9. MCP HTTP (Studio、CI、远程驱动程序)
  10. generate 和 #contentrain
  11. IDE设置和AI技能
  12. 评审工作流程
  13. Studio集成
  14. contentrain import
  15. contentrain delta
  16. 公共静态构建
  17. 文档
  18. 发展
  19. 内容列车生态系统的一部分
  20. 许可证

contentrain

npm version GitHub source Docs

用于contenttrain的CLI。

从这里开始:

contentrain 是contenttrain项目的本地操作面:

  • 初始化 .contentrain/ 在现有的回购中
  • 检查项目运行状况和验证状态
  • 生成类型化 #contentrain SDK客户机
  • 回顾等待 cr/* 分支机构
  • 运行本地审核UI
  • 通过Studio (IDE代理)或HTTP (Studio、CI、远程驱动程序)公开MCP服务器

这个包是人性化的伴侣:

安装

使用 npx:

npx contentrain init

或全局安装:

pnpm add -g contentrain
contentrain status

要求:

  • node . js 22 +
  • 在 PATH

全球旗帜

国旗Env var描述
--debugCONTENTRAIN_DEBUG=1详细调试日志记录到stderr(适用于每个子命令)

例子: contentrain --debug status 或 CONTENTRAIN_DEBUG=1 contentrain validate。

命令

命令目的
contentrain init初始化 .contentrain/, git工作流,模板和IDE规则
contentrain import <source>导入WordPress站点(WXR导出文件或REST URL)到 .contentrain 商店
contentrain status显示项目概述、模型、分支压力和验证摘要
contentrain doctor检查设置运行状况、SDK新鲜度、孤立内容和分支限制
contentrain validate根据模式验证内容,可以选择创建审查分支修复
contentrain generate生成 .contentrain/client/ 和 #contentrain 包进口
contentrain diff检查和合并或拒绝挂起 cr/* 分支交互
contentrain merge <branch>合并一个待处理的 cr/* 非交互式分支(CI/agents);删除其远程副本
contentrain reconcile发散内容的有内容意识的三向合并↔基对(干式计划,交互式决策)
contentrain prune删除合并 cr/* 本地和远程分支(排空积压)
contentrain describe <model>检查模型的模式、状态和导入片段
contentrain delta <delta.json> --dry-run针对存储计划一个WordPress源增量:位置,字段更改,冲突,墓碑,重定向(仅计划)
contentrain describe-format打印contenttrain内容格式规范
contentrain scaffold --template应用模板(blog, landing, docs, ecommerce, saas, i18n, mobile)
contentrain setup <agent|--all>为IDE配置MCP服务器+ AI规则(Claude Code, Cursor, Windsurf, VSCode, Copilot, Codex)
contentrain skills安装、更新或列出contenttrain AI技能和IDE规则
contentrain serve启动本地评审UI (REST + WS), MCP工作室服务器(--stdio),或MCP HTTP服务器(--mcpHttp)
contentrain studio connect将存储库连接到Studio项目
contentrain studio login使用contenttrain Studio进行认证
contentrain studio logout退出Studio
contentrain studio whoami显示当前认证状态
contentrain studio status从Studio显示项目概述
contentrain studio activity显示最近的活动提要
contentrain studio usage显示工作区使用指标
contentrain studio branches管理远程内容分支
contentrain studio cdn-init为内容分发设置CDN
contentrain studio cdn-build触发CDN重建
contentrain studio webhooks管理的人
contentrain studio submissions管理表单提交

国旗矩阵

每个读命令都支持 --json 供CI使用;写命令界面 --watch 或 --yes 它们适用于:

命令显著的标志
init--yes, --locales <csv> (默认 en), --domains <csv> (默认 marketing,blog,system)
import--out <dir>, --auth <user>, --force, --include-emails, --json
status--json
doctor--json, --usage -失败时非零退出;包括一个遥控器 cr/* 部门检查
validate--json, --fix, --interactive, --watch, --model <id>
generate--json, --watch, --published, --at <ISO timestamp>, --require-status, --mediaBaseUrl <url>
diff--json
merge--yes (不确定)
reconcile--yes (在没有提示的情况下执行一个清晰的计划) --json (管制计划)
prune--dry-run, --yes, --json (只与 --yes)
delta--dry-run (必需的;没有应用模式), --incoming <dir>, --store <dir>, --taxonomy <csv>, --json
describe--sample, --locale, --json
describe-format--json
scaffold--template <id>, --locales <csv>, --no-sample, --json
serve--port 3333年(默认), --host (默认主机), --no-open, --demo, --stdio, --mcpHttp, --authToken

典型的流

初始化项目:

contentrain init

检查项目状态(CI使用可选JSON):

contentrain status
contentrain status --json

contentrain doctor
contentrain doctor --json
contentrain doctor --usage  # Analyze content key usage

生成类型SDK客户端:

contentrain generate
contentrain generate --watch    # Watch for changes
contentrain generate --json     # CI-friendly JSON output

验证内容并创建评审分支修复:

contentrain validate
contentrain validate --fix
contentrain validate --watch    # Live validation in dev mode
contentrain validate --json     # CI output

审查未完成的更改:

contentrain diff
contentrain diff --json  # CI integration

打开本地UI:

contentrain serve
contentrain serve --demo  # Start with a temporary demo project

启用详细日志记录:

contentrain --debug status
CONTENTRAIN_DEBUG=1 contentrain validate  # Via environment variable

serve 模式

contentrain serve 有三个角色。

本地评审UI(默认)

contentrain serve
contentrain serve --port 3333 --host localhost
contentrain serve --demo  # Temporary project (no setup needed)

为状态/内容/验证/分支/ normalize /医生/ description -format / preview-merge提供REST端点,为实时更新提供WebSocket流,以及嵌入式Vue serve-ui 应用程序与CLI捆绑在一起。

WebSocket事件类型: connected, config:changed, context:changed, meta:changed, model:changed, content:changed, branch:created, branch:merged, branch:rejected, branch:merge-conflict, sync:warning, validation:updated, normalize:plan-updated, file-watch:error。

MCP工作室(IDE代理)

contentrain serve --stdio

当连接Claude Code, Cursor, Windsurf或其他MCP客户端到本地项目时,使用stdio模式。

MCP HTTP (Studio、CI、远程驱动程序)

contentrain serve --mcpHttp --authToken $(openssl rand -hex 32)
contentrain serve --mcpHttp --port 3333 --host 0.0.0.0 --authToken $TOKEN

向上旋转 可流式HTTP MCP 服务器在 POST /mcp. 持票人认证 要求 在非环回绑定上:像审查UI一样,CLI拒绝在任何主机上启动 localhost / 127.0.0.1 / ::1 没有 --authToken (或 CONTENTRAIN_AUTH_TOKEN). 在以下情况下使用HTTP模式:

  • 工作室的代理远程驱动MCP
  • CI运行器需要确定性的内容操作
  • 另一台机器上的代理协调内容更改

HTTP会话使用相同的方法 LocalProvider 后台是演播室——传输不同,行为不变。远程git-host提供程序(GitHubProvider, GitLabProvider)由嵌入式程序构建,嵌入式程序以编程方式实例化MCP服务器;请参阅MCP包文档了解该流程。

要让外部代理操作连接的Studio项目而无需自己运行服务器,请使用托管端点, Studio MCP Cloud。

generate 和 #contentrain

contentrain generate 将类型化客户端写入 .contentrain/client/ 和注入 #contentrain 导入到 package.json。

又一代:

import { query, singleton, dictionary, document } from '#contentrain'

在本地模型/内容工作期间以手表模式运行:

contentrain generate --watch

IDE设置和AI技能

配置你的IDE使用contenttrain的MCP服务器和AI代理规则:

contentrain setup claude-code
contentrain setup cursor
contentrain setup vscode
contentrain setup --all  # Configure all detected IDEs

安装或更新AI代理技能和IDE规则:

contentrain skills
contentrain skills --update  # Force update
contentrain skills --list    # List installed skills

这个安装:

  • 内容训练代理技能(Claude, Cursor等的任务指导)
  • IDE规则文件: .claude/rules/, .cursor/rules/, .windsurf/rules/, .github/copilot-instructions.md, AGENTS.md 为食品

评审工作流程

大多数写操作都是从专用对象创建特性分支的 contentrain 分支。在评审模式下,这些分支被推送到远程进行团队评审。在自动合并模式下,它们被合并到 contentrain branch和baseBranch是通过update-ref升级的。

当baseBranch分叉时(提交) contentrain 缺乏(双域迁移PR留下的状态),写是一个 部分成功:它落在 contentrain 和报告 base_advance: "blocked_diverged" 而不是失败。 contentrain status 表示两个方向的关系; contentrain reconcile 合并分支内容感知(双亲合并提交),以便快速前进再次工作。

合并一个审查分支(通过) contentrain merge, contentrain diff(service UI,或MCP工具)也会删除它的远程副本,因此合并的分支永远不会堆积成等待审查的幻影。这同样适用于被拒绝/删除的草案。这是尽最大努力—脱机或权限失败只会产生警告—并且可以使用 remoteBranchCleanup: false 在 config.json. 在本地模式下("git": { "push": false } 在 config.json,或 CONTENTRAIN_NO_PUSH=1)在远程上没有推送或删除任何内容,并且 merge/prune 打印他们跳过了。注意,删除推送的分支会关闭其上所有打开的PR/MR。

使用:

contentrain status
contentrain diff
contentrain prune --dry-run   # preview merged local/remote leftovers, then run with --yes

理解:

  • 有多少活动 cr/* 审查分支存在于 contentrain 分支(和远程) contentrain doctor)
  • 分支运行状况是否阻止新的写操作(警告为50,阻塞为80)
  • 在合并或删除分支之前更改了什么

Studio集成

这个 studio 命令组用于连接CLI Contentrain工作室,受治理内容的团队操作界面。

验证和连接:

contentrain studio login
contentrain studio whoami
contentrain studio connect

这个 connect 命令将本地存储库链接到Studio项目。它检测git远程,验证GitHub应用程序安装,扫描 .contentrain/ 配置,并创建项目-所有这些都在一个交互流程中。

contentrain studio connect --workspace ws-123

设置CDN内容分发:

contentrain studio cdn-init
contentrain studio cdn-build --wait

监控项目活动和使用情况;

contentrain studio status
contentrain studio activity --limit 10
contentrain studio usage

管理分支、webhook和表单提交:

contentrain studio branches
contentrain studio webhooks
contentrain studio submissions --form contact-form

中安全地存储凭据 ~/.contentrain/credentials.json 与 0o600 权限。使用 CONTENTRAIN_STUDIO_TOKEN 用于CI/CD的环境变量。

contentrain import

导入WordPress站点到 .contentrain 内容库:

contentrain import export.xml            # WXR export file (highest offline fidelity)
contentrain import https://site.example  # public REST
contentrain import https://site.example --auth editor  # authenticated REST: prompts for the Application Password
CONTENTRAIN_WP_APP_PASSWORD=… contentrain import https://site.example --auth editor
CONTENTRAIN_WP_AUTH=editor:… contentrain import https://site.example
contentrain import export.xml --include-emails  # also write author/commenter e-mails

写入规范存储加号 import-report.json, entry-source-map.json (WP id→条目地址)和-当源有注释时- comments-export.json (contentrain-comments@1,准备接受评论服务)。现有的 .contentrain 只是被 --force. 由 @contentrain/wp-import。

个人数据。 该商店保存作者姓名和登录名、评论者姓名、网站url和评论文本。WXR导出还携带作者和评论者的电子邮件地址;他们被排除在商店之外 comments-export.json 除非你通过 --include-emails. 评论ip,用户代理和头像url(包括Akismet的评论元)从来没有写。默认情况下,电子邮件不会出现,因为存储通常以git(有时是公开的repo)结束。REST路径永远不会看到它们。

凭证。 读取应用程序密码 CONTENTRAIN_WP_APP_PASSWORD (与 --auth <user>),从 CONTENTRAIN_WP_AUTH=user:password,或从隐藏的提示符。 --auth user:password 仍然可以工作,但已弃用并警告:argv进入shell历史和进程列表。

contentrain delta

计划一下WordPress更新对已经交付的商店意味着什么:

contentrain delta bridge-delta.json --incoming ./next-export --dry-run         # report
contentrain delta bridge-delta.json --incoming ./next-export --dry-run --json  # the planned SourceDeltaPlan

该命令读取存储(--store(默认:当前目录)及其 entry-source-map.json,从存储根或从 bridge/. 它以同样的方式读取新导出。对于每条记录,它报告它在存储中的位置,哪些字段不同,哪些地址移动(每条记录都变成301)。垃圾和清除的删除是分开保存的。在存储库中也编辑过的记录是冲突的,并且它不会被覆盖。没有应用模式:without --dry-run 指挥部拒绝了,因为实施计划要经过审查。分类法来自于桥 inventory.json 当它在出口旁边时;给其他人命名 --taxonomy。

公共静态构建

contentrain generate --published 排除其之外的草稿和内容 publish_at/expire_at 窗口。 --at 2026-10-01T12:00:00Z 修复了公共建筑 时钟可重复的测试和暗示 --published。 --require-status 也 排除在meta中没有状态的条目,对于每个条目都有状态的项目 (WordPress导入);这意味着 --published. 没有这些旗帜, 编辑生成保持其现有行为。观察模式观察元数据 编辑;计划的静态发布仍然需要构建/部署触发器。

文档

完整文件载于 ai.contentrain.io /包/ cli。

发展

源自monorepo词根:

pnpm --filter contentrain test -- --run
pnpm --filter contentrain exec tsc --noEmit
pnpm --filter contentrain build

内容列车生态系统的一部分

contenttrain是团队和人工智能代理的内容治理生态系统;代理通过 MCP服务器. 这个命令行是 开源工具 (文档). 工作室 在同一存储库上添加团队审阅和角色; 迁移 将WordPress网站移动到Astro,并且 桥 是一个免费的WordPress插件,可以将网站导出为内容仓库。

许可证

麻省理工学院

版本与发布记录

contentrain 共发布 147 个版本,首次发布于 2026/03/17;过去 12 个月发布了 147 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.18.26latest2026/11/03今天
0.18.252026/11/02今天
0.18.242026/10/312 天前
0.18.232026/10/313 天前
0.18.222026/10/313 天前
0.18.212026/10/303 天前

关于 contentrain 的常见问题

contentrain 是什么?

CLI for contenttrain——团队和AI代理的内容治理生态系统

如何安装 contentrain?

在项目目录运行 npm install contentrain,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 contentrain,可以用 npx contentrain 直接运行。

contentrain 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/contentrain 是否存在。

contentrain 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

contentrain 可以商用吗?

contentrain 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

contentrain 还在维护吗?

最新版本 0.18.26 发布于 2026/11/03(今天);至今共发布 147 个版本,其中过去 12 个月发布了 147 个;首次发布于 2026/03/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。