Supported Environments
Chronus supports multiple monorepo environments across different ecosystems.
Configuration
Section titled “Configuration”In your .chronus/config.yaml, specify where packages and workspaces are located:
Simple case — single workspace at the top level
Section titled “Simple case — single workspace at the top level”workspaceType: auto # or a specific type like "pnpm", "rush", "cargo"Complex case — multiple workspaces or no workspace manager
Section titled “Complex case — multiple workspaces or no workspace manager”# Equivalent to the defaultpackages: - path: "." type: auto
# Explicit packagespackages: ["pkgs/pkg-a", "pkgs/pkg-b"]
# Multiple ecosystems: npm workspace + Cargo workspace + standalone packagespackages: - path: "node-pkgs" type: npm - path: "rust-pkgs" type: cargo - path: "others/*" type: npmWhen set to auto (default), Chronus detects the workspace type based on files present in the repository root.
Node.js Ecosystems
Section titled “Node.js Ecosystems”npm Workspaces
Section titled “npm Workspaces”- Type:
nodeornode:npm - Aliases:
npm - Detection file:
package.jsonwithworkspacesfield
{ "name": "my-monorepo", "workspaces": ["packages/*"]}- Type:
node:pnpm - Aliases:
pnpm - Detection file:
pnpm-workspace.yaml
packages: - "packages/*" - "apps/*"- Type:
node:rush - Aliases:
rush - Detection file:
rush.json
{ "projects": [ { "packageName": "@my-scope/my-package", "projectFolder": "packages/my-package", "shouldPublish": true } ]}Rust Ecosystem
Section titled “Rust Ecosystem”Cargo Workspaces
Section titled “Cargo Workspaces”- Type:
rust:cargo - Aliases:
cargo - Detection file:
Cargo.tomlwithworkspacesection
[workspace]resolver = "2"members = [ "crates/*", "tools/*"]exclude = [ "examples/*"]Each crate’s Cargo.toml must have a package section with name and version:
[package]name = "my-crate"version = "1.0.0"
[dependencies]some-dep = "1.2.3"Auto-detection priority
Section titled “Auto-detection priority”When using auto detection, Chronus checks for workspace types in this order:
- pnpm — Looks for
pnpm-workspace.yaml - Rush — Looks for
rush.json - npm — Looks for
package.jsonwithworkspacesfield - Cargo — Looks for
Cargo.tomlwithworkspacesection
The first matching workspace type is used.
Feature support by environment
Section titled “Feature support by environment”| Feature | npm | pnpm | Rush | Cargo |
|---|---|---|---|---|
| Version bumping | ✅ | ✅ | ✅ | 🚧 |
| Changelog generation | ✅ | ✅ | ✅ | ✅ |
| Dependency updates | ✅ | ✅ | ✅ | 🚧 |
| Change file tracking | ✅ | ✅ | ✅ | ✅ |
Legend: ✅ Fully supported · 🚧 In progress / partial support