Skip to content

Command

The muffy command validates websites given either a configuration file or command line options. It also provides subcommands to initialize a configuration file and manage its cache persisted on the file system.

Running the muffy command without any subcommand is equivalent to running the muffy check subcommand. The global options below are available in all the subcommands.

The static website validator
Usage: muffy [OPTIONS] [COMMAND]
Commands:
check Validates websites with a configuration file
check-site Validates a website
cache Manages the persistent cache
init Initializes a configuration file in the current directory
help Print this message or the help of the given subcommand(s)
Options:
--format <FORMAT>
Set an output format
Possible values:
- text: Human-readable text
- json: JSON
[default: text]
--open-file-limit <OPEN_FILE_LIMIT>
Set an open file limit capped at a hard limit of an operating system
[default: 65536]
--verbose
Be verbose
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version

The muffy init subcommand initializes a configuration file named muffy.toml in the current directory. It fails if the file already exists there.

Initializes a configuration file in the current directory
Usage: muffy init [OPTIONS]
Options:
--format <FORMAT>
Set an output format
Possible values:
- text: Human-readable text
- json: JSON
[default: text]
--open-file-limit <OPEN_FILE_LIMIT>
Set an open file limit capped at a hard limit of an operating system
[default: 65536]
--verbose
Be verbose
-h, --help
Print help (see a summary with '-h')

The muffy check subcommand validates websites defined in a configuration file.

Validates websites with a configuration file
Usage: muffy check [OPTIONS] [CONFIG]
Arguments:
[CONFIG]
A configuration file
Options:
--format <FORMAT>
Set an output format
Possible values:
- text: Human-readable text
- json: JSON
[default: text]
--open-file-limit <OPEN_FILE_LIMIT>
Set an open file limit capped at a hard limit of an operating system
[default: 65536]
--verbose
Be verbose
-h, --help
Print help (see a summary with '-h')

The muffy check-site subcommand validates a single website given its root URLs. All its options are set as command line flags without any configuration file.

Validates a website
Usage: muffy check-site [OPTIONS] <URL>...
Arguments:
<URL>...
Website URLs
Options:
--cache
Use a persistent cache
--max-age <MAX_AGE>
Set a maximum cache age
[default: 0s]
--stale-while-revalidate <STALE_WHILE_REVALIDATE>
Set a period to serve cached responses stale beyond their maximum age while revalidating them
[default: 0s]
--accept-status <ACCEPT_STATUS>
Set accepted status codes
[default: 200]
--accept-scheme <ACCEPT_SCHEME>
Set accepted schemes
[default: http https]
--format <FORMAT>
Set an output format
Possible values:
- text: Human-readable text
- json: JSON
[default: text]
--header <HEADER>
Set request headers
--open-file-limit <OPEN_FILE_LIMIT>
Set an open file limit capped at a hard limit of an operating system
[default: 65536]
--max-redirects <MAX_REDIRECTS>
Set a maximum number of redirects
[default: 16]
--verbose
Be verbose
--timeout <TIMEOUT>
Set an HTTP timeout
[default: 30s]
--concurrency <CONCURRENCY>
Set concurrency. It defaults to a half of an open file limit
--ignore <IGNORE>
Set URL patterns to ignore from validation
--rate-limit-count <RATE_LIMIT_COUNT>
Set a rate limit count
[default: 18446744073709551615]
--rate-limit-window <RATE_LIMIT_WINDOW>
Set a rate limit window
[default: 1s]
--retry-count <RETRY_COUNT>
Set a retry count
[default: 0]
--retry-factor <RETRY_FACTOR>
Set a retry factor
[default: 2]
--initial-retry-interval <INITIAL_RETRY_INTERVAL>
Set an initial retry interval
[default: 1s]
--retry-interval-cap <RETRY_INTERVAL_CAP>
Set a retry interval cap
[default: 10s]
--retry-status <RETRY_STATUS>
Set a list of status codes to retry on
--experimental-validation
Enable experimental HTML and SVG validation
-h, --help
Print help (see a summary with '-h')

The muffy cache subcommand manages the persistent cache. The cache is enabled by the cache.persistent option in a configuration file or the --cache flag of the muffy check-site subcommand.

Manages the persistent cache
Usage: muffy cache [OPTIONS] <COMMAND>
Commands:
clean Deletes the cache directory
path Shows the cache directory path
help Print this message or the help of the given subcommand(s)
Options:
--format <FORMAT>
Set an output format
Possible values:
- text: Human-readable text
- json: JSON
[default: text]
--open-file-limit <OPEN_FILE_LIMIT>
Set an open file limit capped at a hard limit of an operating system
[default: 65536]
--verbose
Be verbose
-h, --help
Print help (see a summary with '-h')