Versioning System
The @edcalderon/versioning tool is a comprehensive versioning and changelog management system designed for this monorepo. It handles semantic versioning, synchronization across packages, and provides a powerful extension system.
Key Featuresโ
- ๐ Automated Versioning: Patch, minor, and major bumps with automated changelog generation.
- ๐ Extension System: Composable plugins for custom logic (Reentry, Cleanup, Secrets).
- ๐ Security Enforcement: Built-in secrets scanning to prevent sensitive data leaks.
- ๐งน Repo Cleanup: Automated organization of stray files in the repository root.
Core Commandsโ
Version Managementโ
# Bump version and generate changelog
npx versioning patch
npx versioning minor
npx versioning major
# Sync versions across monorepo packages
npx versioning sync
Security & Cleanupโ
# Scan staged files for secrets
npx versioning check-secrets
# Setup blocking pre-commit hook for secrets
npx versioning check-secrets husky
# Scan root directory for stray files
npx versioning cleanup scan
# Move stray files to designated folders
npx versioning cleanup move
Configurationโ
The system is configured via versioning.config.json in the repository root.
Example Configurationโ
{
"packages": ["apps/*", "packages/*"],
"ignorePackages": ["packages/versioning"],
"extensionConfig": {
"reentry-status": { "enabled": true },
"secrets-check": { "enabled": true },
"cleanup-repo": {
"defaultDestination": "docs",
"routes": {
".sh": "scripts",
".json": "config"
}
}
}
}
Extensionsโ
Reentry Statusโ
Maintains a two-layer status system:
- Fast layer: Current state + next micro-step in
REENTRY.md. - Slow layer: Long-term Roadmap in
ROADMAP.md.
Secrets Checkโ
Scans for AWS keys, GitHub tokens, private keys, and EVM mnemonics. It can be integrated into Husky to block non-compliant commits.
Cleanup Repoโ
Organizes the repository root by moving files into docs/, scripts/, config/, etc., based on extension-to-folder mapping.