JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 499
  • Score
    100M100P100Q55173F
  • License MIT

Praetorian CLI – A universal multi-environment configuration validator for DevSecOps teams. Validate, compare, and secure YAML/ENV files with ease.

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

    npm version
    build status
    license


    β–‘       β–‘β–‘β–‘       β–‘β–‘β–‘β–‘      β–‘β–‘β–‘        β–‘β–‘        β–‘β–‘β–‘      β–‘β–‘β–‘       β–‘β–‘β–‘        β–‘β–‘β–‘      β–‘β–‘β–‘   β–‘β–‘β–‘  β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘      β–‘β–‘β–‘  β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘        β–‘
    β–’  β–’β–’β–’β–’  β–’β–’  β–’β–’β–’β–’  β–’β–’  β–’β–’β–’β–’  β–’β–’  β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’  β–’β–’β–’β–’β–’  β–’β–’β–’β–’  β–’β–’  β–’β–’β–’β–’  β–’β–’β–’β–’β–’  β–’β–’β–’β–’β–’  β–’β–’β–’β–’  β–’β–’    β–’β–’  β–’β–’β–’β–’β–’β–’β–’β–’  β–’β–’β–’β–’  β–’β–’  β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’  β–’β–’β–’β–’
    β–“       β–“β–“β–“       β–“β–“β–“  β–“β–“β–“β–“  β–“β–“      β–“β–“β–“β–“β–“β–“β–“  β–“β–“β–“β–“β–“  β–“β–“β–“β–“  β–“β–“       β–“β–“β–“β–“β–“β–“  β–“β–“β–“β–“β–“  β–“β–“β–“β–“  β–“β–“  β–“  β–“  β–“β–“β–“β–“β–“β–“β–“β–“  β–“β–“β–“β–“β–“β–“β–“β–“  β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“  β–“β–“β–“β–“
    β–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆ        β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ        β–ˆβ–ˆ  β–ˆβ–ˆ    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆ
    β–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ        β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ      β–ˆβ–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ        β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆβ–ˆ  β–ˆβ–ˆ  β–ˆβ–ˆβ–ˆ   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ      β–ˆβ–ˆβ–ˆ        β–ˆβ–ˆ        β–ˆ
                                                                                                                                            
    
    
    πŸ›‘οΈ  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.yaml for 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 validate

    Output:

    βœ… 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/db

    Example 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.yaml

    Example 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


    πŸ”— Connect