This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+8 more
Summary
AI summaryDocumentation and test updates align tools across @contentrain packages; no behavioural changes.
Full changelog
Minor Changes
-
95eb6dc: fix(rules,skills,mcp): align rules/skills catalogs with MCP tool surface +
cr/*branches, lock with parity testsCloses the two P1 drift findings and installs a drift-detection
mechanism so they don't come back:- Missing
contentrain_merge—@contentrain/rulespublic
MCP_TOOLSlisted 15 tools.@contentrain/mcpregisters 17
(includingmergeand the newdoctor).@contentrain/skills
tool reference also jumped fromsubmitstraight tobulk. - Legacy
contentrain/{operation}/...branch namespace —
MCP'sbuildBranchName()returnscr/...(Phase 7 migration)
andcheckBranchHealthfilters oncr/, but essential rules,
review/normalize prompts, and multiple skills still taught the
old prefix. Agents following the shipped guidance would look
for branches that don't exist.
@contentrain/mcp- New public export
TOOL_NAMES: readonly string[]in
./tools/annotations, frozen and derived fromTOOL_ANNOTATIONS.
Single source of truth — parity tests in sibling packages now
import this instead of hardcoding. - New
./tools/annotationssubpath export inpackage.json. - Build script now emits the new subpath.
@contentrain/rulesMCP_TOOLSextended to 17 tools (contentrain_merge,
contentrain_doctoradded in catalog order).essential/contentrain-essentials.md— tool table gainsdoctor
row; feature-branch pattern rewritten tocr/{operation}/...;
health-threshold language mentionscr/*.prompts/review-mode.md— every legacycontentrain/<op>/...
reference →cr/<op>/...(pattern + type examples).prompts/normalize-mode.md— branch pattern table rewritten.shared/workflow-rules.md— branch pattern spec rewritten.tests/mcp-parity.test.ts(new) — 4 tests:MCP_TOOLS↔TOOL_NAMESexact match- Essential guardrails mention every MCP tool
buildBranchName()output starts withcr/(sampled across scopes)- Rules docs do not contain the legacy
contentrain/<op>/...
branch prefix (false-positive filter excludes.contentrain/paths)
package.json—@contentrain/mcp: workspace:*added as devDep
for the parity test.
@contentrain/skillsskills/contentrain/references/mcp-tools.md— new sections for
contentrain_merge(after submit) andcontentrain_doctor
(new Doctor Tools subsection). Submit description updated to
cr/*branches.skills/contentrain/references/mcp-pipelines.md+workflow.md
— branch-naming spec + examples rewritten tocr/*.skills/contentrain-normalize/SKILL.md+references/extraction.mdreferences/reuse.md— 4 stalecontentrain/normalize/*
references →cr/normalize/*.
skills/contentrain-translate/SKILL.md— translate branch pattern
updated.tests/mcp-parity.test.ts(new) — 2 tests:references/mcp-tools.mdhas an### <tool>heading for every
MCP tool- 7 key skill docs do not contain the legacy branch prefix
package.json—@contentrain/mcp: workspace:*devDep.
Monorepo
tsconfig.jsonpaths —@contentrain/mcp/tools/*alias added so
TypeScript + vitest resolve the new subpath from source during dev.
Verification
oxlintacross rules + skills + mcp/tools → 0 warnings.tsc --noEmitacross rules, skills, mcp → 0 errors.@contentrain/rulesvitest → 16/16 (was 12 — 4 new parity tests).@contentrain/skillsvitest → 85/85 (was 83 — 2 new parity tests).
Tool surface
No MCP tool behaviour changes. The new
TOOL_NAMESexport is
additive; everything else is documentation + tests. - Missing
Patch Changes
-
ca54941: docs: phase R2 — align every package README with current public surface
Each package README was cross-checked against its
src/exports,
package.jsonexportsmap, and (for MCP) theTOOL_ANNOTATIONS
registry. Every claim in the rewritten READMEs is verified against the
current codebase.@contentrain/types- Adds the provider-contracts section (
RepoProvider,RepoReader,
RepoWriter,ProviderCapabilities,Commit,Branch,FileDiff,
MergeResultwith optionalsync?: SyncResult,LOCAL_CAPABILITIES). - Documents
NormalizePlan*types,CONTENTRAIN_BRANCHconstant,
SECRET_PATTERNS,ModelSummary. - Keeps the browser-compatible validate/serialize surface described
for Studio integration.
@contentrain/mcp- Tool count corrected to 17 (was 13/16 depending on section).
contentrain_doctorrow added to the annotations table. - Subpath export list now lists every entry in
package.json:
/core/doctor,/core/contracts,/core/ops,/core/overlay-reader,
/tools/annotations. mergeBranchdescription notes thecr/*branch naming.- Capability gates section mentions doctor alongside scan/apply.
contentrain(CLI)- Global
--debugflag +CONTENTRAIN_DEBUGenv var documented. - New flags table:
--jsonon status/doctor/validate/generate/diff/
describe/scaffold;--watchon validate/generate;--demoand
--mcpHttp/--authTokenon serve. setup,skills,merge,describe,describe-format,scaffold
commands added to the command table.- Secure-by-default HTTP transport auth described.
@contentrain/query- Clarified that
contentrain generate(CLI) is the recommended entry
point andcontentrain-query generateis the programmatic path. - Added TypeScript snippet for the programmatic
generate()API.
@contentrain/rulesMCP_TOOLSlength corrected to 17 (includescontentrain_merge
andcontentrain_doctor).- New Parity section that explains how drift is prevented by
tests/mcp-parity.test.ts. shared/directory catalog added (11 rule files, previously
undocumented).- Context bridge section includes the 4 stack templates.
@contentrain/skills- Reference discovery pattern documented (
references/*.mdloaded on
demand, tier table for progressive disclosure). - New Parity section mirroring the rules package.
- Quick discovery snippet added to Public Exports.
No code changes — READMEs only.
- Adds the provider-contracts section (
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Contentrain/ai
Local-first MCP server for AI content governance — 13 tools for model/content CRUD, validation, normalization, and i18n across any framework.
Related context
Related tools
Beta — feedback welcome: [email protected]