1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
# Basic Package Tools Configuration
# This example shows the minimal configuration needed for a simple single-package project.
# All settings shown here are the default values - you can omit sections you don't need to customize.
[]
# Directory where active changesets are stored
= ".changesets"
# Directory where archived changesets (release history) are stored
= ".changesets/history"
# List of valid environment names for deployment targeting
= ["production"]
# Default environments to use when none are specified
= ["production"]
[]
# Versioning strategy: "independent" (each package versioned separately) or "unified" (all packages share version)
= "independent"
# Default version bump when not specified in changeset: "major", "minor", "patch", or "none"
= "patch"
# Format template for snapshot versions (pre-release versions)
# Placeholders: {version}, {branch}, {timestamp}, {short_hash}
= "{version}-{branch}.{timestamp}"
[]
# Version bump to apply when propagating changes through dependencies
# Valid values: "major", "minor", "patch", "none"
= "patch"
# Whether to propagate version changes to regular dependencies
= true
# Whether to propagate version changes to devDependencies
= false
# Whether to propagate version changes to peerDependencies
= true
# Maximum depth to traverse when propagating changes (prevents infinite loops)
= 10
# Whether to fail the operation if circular dependencies are detected
= true
# Skip version specs using workspace protocol (workspace:*)
= true
# Skip version specs using file protocol (file:...)
= true
# Skip version specs using link protocol (link:...)
= true
# Skip version specs using portal protocol (portal:...)
= true
[]
# Automatically create a changeset when upgrades are applied
= true
# Default bump type for automatic changeset when upgrades are applied
= "patch"
[]
# Default npm registry URL
= "https://registry.npmjs.org"
# Request timeout in seconds
= 30
# Number of retry attempts for failed requests
= 3
# Delay between retry attempts in milliseconds
= 1000
# Whether to read and respect .npmrc configuration
= true
# Scoped registries (optional)
# [package_tools.upgrade.registry.scoped]
# "@myorg" = "https://npm.pkg.github.com"
[]
# Whether to create backups before applying upgrades
= true
# Directory where backups are stored (default: ".workspace-backups")
= ".workspace-backups"
# Whether to keep backups after successful upgrades
= false
# Maximum number of backups to retain
= 5
[]
# Whether changelog generation is enabled
= true
# Changelog format: "keep-a-changelog", "conventional", or "custom"
= "keep-a-changelog"
# Changelog filename
= "CHANGELOG.md"
# Include links to commits in the changelog
= true
# Include links to issues/PRs in the changelog
= true
# Include author names in changelog entries
= false
# Repository URL for generating links (optional)
# repository_url = "https://github.com/org/repo"
# Monorepo mode: "per-package" (one changelog per package), "root" (single root changelog), or "both"
= "per-package"
# Version tag format for detecting versions from git tags
# Placeholders: {version}, {package}
= "{package}@{version}"
# Root tag format for unified versioning
= "v{version}"
[]
# Enable conventional commits parsing
= true
# Map commit types to changelog sections
[]
= "Features"
= "Bug Fixes"
= "Performance Improvements"
= "Code Refactoring"
= "Documentation"
= "Build System"
= "Continuous Integration"
= "Tests"
= "Chores"
# Section name for breaking changes
= "BREAKING CHANGES"
[]
# Glob patterns to exclude from changelog
= [
"**/node_modules/**",
"**/dist/**",
"**/.git/**",
]
# Author emails to exclude from changelog (e.g., bots)
= []
[]
# Custom template for changelog header (optional)
# header = "# Changelog\n\nAll notable changes to this project will be documented in this file.\n"
# Custom template for version header (optional)
# Placeholders: {version}, {date}
# version_header = "## [{version}] - {date}"
# Custom template for section header (optional)
# Placeholders: {section}
# section_header = "### {section}"
# Custom template for entry format (optional)
# Placeholders: {description}, {commit}, {author}
# entry_format = "- {description} ({commit})"
[]
# Template for merge commit messages
# Placeholders: {version}, {package}, {bump}, {environments}, {changelog}
= """
Release {package} v{version}
{changelog}
"""
# Template for monorepo merge commits with multiple packages
# Placeholders: {packages}, {summary}
= """
Release multiple packages
{summary}
"""
# Include breaking change warnings in commit messages
= true
# Template for breaking change warning
# Placeholders: {count}
= """
⚠️ BREAKING CHANGES: This release contains {count} breaking change(s).
Please review the changelog carefully before upgrading.
"""
[]
# Whether audit functionality is enabled
= true
# Minimum severity level to report: "critical", "warning", or "info"
= "warning"
[]
# Enable individual audit sections
= true
= true
= true
= true
= true
[]
# Include patch version upgrades in audit
= true
# Include minor version upgrades in audit
= true
# Include major version upgrades in audit
= true
# Treat deprecated packages as critical issues
= true
[]
# Check for circular dependencies
= true
# Check for missing dependencies (used but not declared)
= true
# Check for unused dependencies (declared but not used)
= true
# Check for version conflicts across packages
= true
[]
# Check conventional commits for breaking changes
= true
# Check changelog for breaking changes
= true
[]
# Fail the audit if version inconsistencies are found
= false
# Warn about version inconsistencies
= true
[]
# Default timeout for execute commands in seconds
# A value of 0 disables the global timeout (not recommended for CI)
= 300
# Timeout per individual package in seconds
# A value of 0 disables per-package timeout
= 60
# Maximum number of parallel executions
# Must be at least 1
= 8