All notable changes to ConfigDrift CLI will be documented in this file.
--strictflag forcheckandscancommands: exits 1 on ANY drift (not just breaking changes), useful for zero-tolerance CI/CD pipelines- 5 tests covering
--strictbehavior (check/scan, table/silent, drift/no-drift) - CLI test suite with comprehensive coverage for Change.__str__() and loader fallback paths
- npm wrapper (
package.json+cli.js) for npm publishing - GitHub Actions: npm publish workflow (release or manual dispatch)
- GitHub Actions: GitHub Pages deployment workflow
CONTRIBUTING.mdwith development setup and PR guidelinesSECURITY.mdwith security policy- Homebrew and Scoop install methods
- Directory listing badges: Open Source Alternative, LibHunt, Awesome Python
- npm keywords optimized for discoverability (15 terms)
revenueholdings-licensegating on all CLI commands- Beta badge and star CTA in README header
- CI test matrix expanded to include Python 3.13
- CI security hardened:
persist-credentials: false, restricted permissions - Documentation branding updated from DevForge to Revenue Holdings
- README expanded with CI/CD examples and alternatives comparison
- README tool count updated (8 → 11)
- npm install placement and formatting fixed in README
project.urlsmetadata added topyproject.toml
- CI lint workflow: removed redundant ruff install and deprecated
--target-versionflag - GitHub Actions version mismatches in CI and publish workflows
- UTF-8 encoding (mojibake) in file output
- Ruff lint issues:
datetime.UTC,X | Nonesyntax,E501,B904,F821 - Missing
ruffdev dependency inpyproject.toml - Broken PyPI badges replaced with GitHub release badge (not yet on PyPI)
revenueholdings-licenseimport made optional (fixes CI failures on open-source PRs)- Dependencies bumped via Dependabot (checkout@v6, setup-node@v6, setup-python@v6)
- README install section formatting (broken Homebrew/Scoop code blocks)
- Initial release
- Configuration file comparison across formats (YAML, JSON, TOML, .env)
configdrift check— compare two config files with auto-flattening and diff outputconfigdrift scan— compare environment directories against a baselineconfigdrift init— generate.configdrift.yamlscaffolding- Three output formats: rich
table, machine-readablejson,silent(exit code only) - Severity-level drift classification: Info, Warning, Breaking
- Breaking-change heuristics for critical keys
- CI/CD integration with non-zero exit on breaking drift
- Python 3.10+ support