Skip to content

A command-line tool for enforcing YAML|JSON|TOML|text file contents.

Notifications You must be signed in to change notification settings

aatifsyed/you-must-conform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

you-must-conform

crates-io docs-rs github

A command-line tool for enforcing YAML|JSON|TOML|text file contents.

Usage

# conform.yaml
config:
- file: Cargo.toml
  format: toml
  schema:                   # Ensure these nested keys are set
    package:
      edition: "2021"
- file: Cargo.lock
  exists: true              # Ensure this file exists
- file: src/lib.rs
  matches-regex: '(?m)^use' # Ensure this regex is matched in the file

include:                    # (Recursively) merge config from these urls
- https://example.com/another-conform.yaml
$ you-must-conform --help
you-must-conform 1.1.0
A command-line tool for enforcing YAML|JSON|TOML|text file contents.

USAGE:
    you-must-conform [OPTIONS] <--file <FILE>|--url <URL>>

OPTIONS:
    -c, --context <CONTEXT>    The folder to check against the config file [default: .]
    -f, --file <FILE>          The config file to check [default: conform.yaml]
    -h, --help                 Print help information
    -u, --url <URL>            A url to fetch the config file from instead
    -V, --version              Print version information

$ you-must-conform
Schema not matched in ./Cargo.toml:
    "package" is a required property
File ./Cargo.lock does not exist
File ./src/lib.rs does not match regex (?m)^use
Error: Found 3 problems

License: MIT

About

A command-line tool for enforcing YAML|JSON|TOML|text file contents.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages