@codluv/versionguard 0.9.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,7 +20,8 @@ VersionGuard turns those into enforceable checks with repair-oriented feedback.
20
20
 
21
21
  - validates SemVer and CalVer formats with configurable rules
22
22
  - keeps configured files synced from your manifest (package.json, Cargo.toml, pyproject.toml, etc.)
23
- - scans the entire repo for stale version literals (`vg validate --scan`)
23
+ - scans the entire repo for stale version literals (enabled by default)
24
+ - verifies publish status against your package registry (npm, crates.io, PyPI, etc.)
24
25
  - validates Keep a Changelog structure with section enforcement
25
26
  - installs cooperative git hooks for `pre-commit`, `pre-push`, and `post-tag`
26
27
  - provides CLI commands for validation, sync, bumps, and tagging
@@ -67,18 +68,12 @@ Run a basic version check:
67
68
  vg check
68
69
  ```
69
70
 
70
- Run full repository validation:
71
+ Run full repository validation (includes scan, guard, and publish checks by default):
71
72
 
72
73
  ```bash
73
74
  vg validate
74
75
  ```
75
76
 
76
- Scan entire repo for stale version literals:
77
-
78
- ```bash
79
- vg validate --scan
80
- ```
81
-
82
77
  For CI or agent workflows:
83
78
 
84
79
  ```bash
@@ -164,8 +159,16 @@ changelog:
164
159
  - Fixed
165
160
  - Security
166
161
 
162
+ # All checks below are enabled by default — opt OUT via config
163
+ guard:
164
+ enabled: true # hook bypass detection
165
+
166
+ publish:
167
+ enabled: true # registry publish status verification
168
+ timeout: 5000 # ms, fail-open on timeout
169
+
167
170
  scan:
168
- enabled: false
171
+ enabled: true # repo-wide stale version detection
169
172
  allowlist: []
170
173
 
171
174
  git:
@@ -223,9 +226,7 @@ Set `manifest.source: auto` for automatic detection.
223
226
  | --- | --- |
224
227
  | `vg init` | Create `.versionguard.yml` (interactive wizard or headless) |
225
228
  | `vg check` | Validate the current version with actionable feedback |
226
- | `vg validate` | Run version, sync, changelog, and optional scan validation |
227
- | `vg validate --scan` | Include repo-wide stale version detection |
228
- | `vg validate --strict` | Include guard checks for hook bypass detection |
229
+ | `vg validate` | Run all checks: version, sync, changelog, scan, guard, publish |
229
230
  | `vg doctor` | Report repository readiness in one pass |
230
231
  | `vg fix` | Apply deterministic fixes for common drift |
231
232
  | `vg fix-changelog` | Fix Changesets-mangled changelogs to Keep a Changelog format |
@@ -286,6 +287,11 @@ The JSON payload includes:
286
287
  - `versionValid`
287
288
  - `syncValid`
288
289
  - `changelogValid`
290
+ - `scanValid`
291
+ - `guardValid`
292
+ - `publishValid`
293
+ - `publishCheck`
294
+ - `guardReport`
289
295
  - `errors`
290
296
  - `hook`
291
297
  - `postTag`
@@ -304,6 +310,21 @@ It can refuse to proceed when:
304
310
 
305
311
  That keeps release tags from becoming a bypass around normal validation.
306
312
 
313
+ ## Stability Policy
314
+
315
+ 1.x maintains backward compatibility for all CLI commands and configuration formats. Breaking changes only occur in 2.0+.
316
+
317
+ Deprecated flags (`--strict`, `--scan`) continue to work in 1.x and print a warning. Their behavior is now the default. To opt out of specific checks, use config:
318
+
319
+ ```yaml
320
+ guard:
321
+ enabled: false
322
+ scan:
323
+ enabled: false
324
+ publish:
325
+ enabled: false
326
+ ```
327
+
307
328
  ## Typical workflows
308
329
 
309
330
  ### Validate before committing
@@ -343,6 +364,7 @@ VersionGuard and [Changesets](https://github.com/changesets/changesets) are comp
343
364
  | Sync version across files | No | Yes (regex-based sync) |
344
365
  | Validate changelog structure | No | Yes (Keep a Changelog + section enforcement) |
345
366
  | Scan repo for stale versions | No | Yes |
367
+ | Verify publish status on registry | No | Yes (fail-open) |
346
368
  | Git hooks enforcement | No | Yes |
347
369
  | Publish to npm | Yes | No |
348
370