Getting started
Configuration
Configure Nyron for your project structure
Configuration
The nyron.config.ts
file defines your versioning strategy and project structure.
Configuration File
import { defineConfig } from "@nyron/cli/config"
export default defineConfig({
// GitHub repository (owner/repo)
repo: "your-org/your-repo",
// Projects to version (supports monorepos)
projects: {
// Key is the project name
backend: {
tagPrefix: "@my-app/backend@", // Git tag format
path: "apps/backend", // Path to project
},
frontend: {
tagPrefix: "@my-app/frontend@",
path: "apps/frontend",
},
},
// Automatically generate changelog on bump (default: true)
autoChangelog: true,
// Remind to push tags after creating them (default: true)
onPushReminder: true,
})
Configuration Options
repo
Type: string
Required: Yes
Your GitHub repository in the format owner/repo
.
repo: "your-org/your-repo"
projects
Type: Record<string, ProjectConfig>
Required: Yes
An object defining all projects in your repository. Each key is a project name, and the value contains:
tagPrefix
: The prefix used for git tags (e.g.,"v"
,"@pkg/name@"
)path
: The path to the project directory relative to repository root
autoChangelog
Type: boolean
Default: true
Automatically generate changelog when running nyron bump
.
onPushReminder
Type: boolean
Default: true
Show a reminder to push tags after creating them.
Monorepo Setup
For monorepos, define multiple projects with different tag prefixes:
import { defineConfig } from "@nyron/cli/config"
export default defineConfig({
repo: "your-org/monorepo",
projects: {
api: {
tagPrefix: "@monorepo/api@",
path: "packages/api",
},
sdk: {
tagPrefix: "@monorepo/sdk@",
path: "packages/sdk",
},
cli: {
tagPrefix: "@monorepo/cli@",
path: "packages/cli",
},
},
})
Nyron will track each project independently based on their tag prefixes.
Single Package Setup
For single-package repositories:
import { defineConfig } from "@nyron/cli/config"
export default defineConfig({
repo: "your-org/single-package",
projects: {
main: {
tagPrefix: "v",
path: ".",
},
},
})