Skip to content

Supported Environments

Chronus supports multiple monorepo environments across different ecosystems.

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 default
packages:
- path: "."
type: auto
# Explicit packages
packages: ["pkgs/pkg-a", "pkgs/pkg-b"]
# Multiple ecosystems: npm workspace + Cargo workspace + standalone packages
packages:
- path: "node-pkgs"
type: npm
- path: "rust-pkgs"
type: cargo
- path: "others/*"
type: npm

When set to auto (default), Chronus detects the workspace type based on files present in the repository root.

  • Type: node or node:npm
  • Aliases: npm
  • Detection file: package.json with workspaces field
{
"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
}
]
}
  • Type: rust:cargo
  • Aliases: cargo
  • Detection file: Cargo.toml with workspace section
[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"

When using auto detection, Chronus checks for workspace types in this order:

  1. pnpm — Looks for pnpm-workspace.yaml
  2. Rush — Looks for rush.json
  3. npm — Looks for package.json with workspaces field
  4. Cargo — Looks for Cargo.toml with workspace section

The first matching workspace type is used.

FeaturenpmpnpmRushCargo
Version bumping🚧
Changelog generation
Dependency updates🚧
Change file tracking

Legend: ✅ Fully supported · 🚧 In progress / partial support