Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@syntropysoft/praetorian) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Praetorian CLI ποΈ
Guardian of Configurations β Universal Validation Framework for DevSecOps
β βββ ββββ βββ ββ βββ βββ βββ βββ βββ βββ βββββββββ βββ ββββββββ β
β ββββ ββ ββββ ββ ββββ ββ βββββββββββ βββββ ββββ ββ ββββ βββββ βββββ ββββ ββ ββ ββββββββ ββββ ββ βββββββββββ ββββ
β βββ βββ ββββ ββ βββββββ βββββ ββββ ββ ββββββ βββββ ββββ ββ β β ββββββββ ββββββββ βββββββββββ ββββ
β ββββββββ βββ βββ ββ βββββββββββ βββββ ββββ ββ βββ ββββββ βββββ ββ ββ ββββββββ ββββ ββ βββββββββββ ββββ
β ββββββββ ββββ ββ ββββ ββ βββββ ββββββ βββ ββββ ββ ββ ββββ ββ βββ βββββββββ βββ ββ β
π‘οΈ Guardian of Configurations & Securityβ οΈ MVP ALPHA VERSION WARNING
π¨ This is an MVP ALPHA version (0.0.1-alpha.7) - Limited functionality!
β CURRENTLY WORKING FEATURES:
- CLI with professional banner - Beautiful ASCII art with security colors
- Key comparison - Compare keys across multiple configuration files (JSON/YAML/.env)
- Basic validation - Detect missing or extra keys between files
- Configuration file -
praetorian.yamlfor defining files to compare- Exit codes - Proper exit codes for CI/CD integration
π§ NOT YET IMPLEMENTED:
- Schema validation, pattern matching, security rules
- Plugin system, custom rules, audit engine
- Advanced validation features mentioned in examples
For production use, wait for stable releases (1.0.0+)
π Description
Praetorian CLI is a multi-environment configuration validation tool designed for DevSecOps teams.
It ensures that your configuration files (YAML/ENV) remain consistent across environments and detects critical differences before production deployments.
β¨ Features
- π‘οΈ Multi-file, multi-environment validation (
dev,staging,prod). - π Detects missing keys or inconsistent values.
- π Simple setup with
praetorian.yaml. - π¦ CI/CD and security pipeline friendly.
- π Supports ignored keys and future advanced rules (types, patterns).
π¦ Installation
npm install -g @syntropysoft/praetorianβοΈ Basic Configuration
File praetorian.yaml:
files:
- config-dev.yaml
- config-prod.yaml
- config-staging.yaml
ignore_keys:
- debug
- temp
environments:
dev: config-dev.yaml
prod: config-prod.yaml
staging: config-staging.yamlπ οΈ Usage
Validate that all configuration files have matching keys:
praetorian validateOutput:
β
All configuration files are consistent!In case of differences:
β Missing key 'database.url' in config-staging.yamlπ Simple Examples
Example 1: Basic Configuration Files
# config-dev.yaml
app:
name: my-app
debug: true
port: 3000
database:
host: localhost
port: 5432# config-prod.yaml
app:
name: my-app
port: 80
database:
host: prod-db.example.com
port: 5432
url: postgresql://user:pass@prod-db.example.com:5432/dbExample 2: Praetorian Configuration
# praetorian.yaml
files:
- config-dev.yaml
- config-prod.yaml
ignore_keys:
- app.debug # Ignore debug-specific keys
environments:
dev: config-dev.yaml
prod: config-prod.yamlExample 3: CLI Output
$ praetorian validate
π Validation Results:
β Key inconsistencies found:
β’ Key 'database.url' is missing in config-dev.yaml
β οΈ 1 warning(s):
β’ Key 'app.debug' is only present in config-dev.yaml
π Summary:
β’ Files compared: 2
β’ Total keys: 8
β’ Duration: 2msπ§© CI/CD Integration
Example with GitHub Actions:
- name: Validate Configs
run: praetorian validateπΊοΈ Roadmap
- Type and pattern validation.
- JSON and HTML reports.
- Custom rule plugins.
- Integration with secret management systems.
π License
MIT Β© SyntropySoft