{"id":13815617,"url":"https://github.com/ogham/specsheet","last_synced_at":"2025-06-30T07:33:57.963Z","repository":{"id":66117934,"uuid":"305202569","full_name":"ogham/specsheet","owner":"ogham","description":"The testing toolkit.","archived":false,"fork":false,"pushed_at":"2021-04-08T22:56:35.000Z","size":1053,"stargazers_count":58,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T04:35:06.885Z","etag":null,"topics":["command-line","rust","testing"],"latest_commit_sha":null,"homepage":"https://specsheet.software/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ogham.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"ogham"}},"created_at":"2020-10-18T21:47:01.000Z","updated_at":"2025-04-02T20:30:52.000Z","dependencies_parsed_at":"2023-02-20T19:45:39.062Z","dependency_job_id":null,"html_url":"https://github.com/ogham/specsheet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ogham/specsheet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogham%2Fspecsheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogham%2Fspecsheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogham%2Fspecsheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogham%2Fspecsheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ogham","download_url":"https://codeload.github.com/ogham/specsheet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogham%2Fspecsheet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262731785,"owners_count":23355424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line","rust","testing"],"created_at":"2024-08-04T04:03:40.654Z","updated_at":"2025-06-30T07:33:57.940Z","avatar_url":"https://github.com/ogham.png","language":"Rust","funding_links":["https://github.com/sponsors/ogham"],"categories":["Rust"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003especsheet\u003c/h1\u003e\n\n[Specsheet](https://specsheet.software/) is the software testing toolkit.\n\n\u003ca href=\"https://travis-ci.org/github/ogham/specsheet\"\u003e\n    \u003cimg src=\"https://travis-ci.org/ogham/specsheet.svg?branch=master\" alt=\"Build status\" /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://saythanks.io/to/ogham%40bsago.me\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg\" alt=\"Say thanks!\" /\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\n![Screenshots of Specsheet](screenshot.png)\n\n---\n\nSpecsheet is a command-line utility that abstracts over the general testing pattern: running commands, examining their output, and collecting the results.\n\nIt can be used to test software, your computing environment, your cloud servers, and other things.\n\n---\n\n\u003ca id=\"options\"\u003e\n\u003ch1\u003eCommand-line options\u003c/h1\u003e\n\u003c/a\u003e\n\n### Running modes\n\n- **-c**, **--syntax-check**: don’t run, just check the syntax of the input documents\n- **-C**, **--list-commands**: don’t run, just list the commands that would be executed\n- **-l**, **--list-checks**: don’t run, just list the checks that would be run\n- **--list-tags**: don’t run, just list the tags defined in the input documents\n- **-random-order**: run the checks in the random order\n- **-continual**: run checks indefinitely\n- **-delay=DURATION**: amount of time to delay between checks\n- **-j**, **--threads=NUM**: number of threads to use in parallel\n- **-O**, **--option=KEY=VAL**: set a global option, or override something in the environment\n- **-R**, **--rewrite=THIS-\u003eTHAT**: add a rule to rewrite values in input documents\n- **-z**, **--analysis**: run analysis after running checks if there are errors\n\n### Side process options\n\n- **-x**, **--exec=CMD**: process to run in the background during execution\n- **--exec-delay=DURATION**: wait an amount of time before running checks\n- **--exec-port=PORT**: wait until a TCP port becomes open before running checks\n- **--exec-file=FILE**: wait until a file exists before running checks\n- **--exec-line=REGEX**: wait until the process outputs a string before running checks\n- **--exec-kill-signal=SIGNAL**: signal to send the background process after finishing\n\n### Filtering options\n\n- **-t**, **--tags**: comma-separated list of tags to run\n- **--skip-tags**: comma-separated list of tags to skip\n- **-T**, **--types**: comma-separated list of check types to run\n- **--skip-types**: comma-separated list of check types to skip\n\n### Console output options\n\n- **-s**, **--successes**: how to show successful results (hide, show, expand)\n- **-f**, **--failures**: how to show failed results (hide, show, expand)\n- **--summaries=SHOW**: when to show the summary lines (hide, show)\n- **-P**, **--print**: change the output format (ansi, dots, json-lines, tap)\n- **--color**, **--colour=WHEN**: when to colourise the output\n\n### Results document options\n\n- **--html-doc=PATH**: produce an output HTML document\n- **--json-doc=PATH**: produce an output JSON document\n- **--toml-doc=PATH**: produce an output TOML document\n\n\n---\n\n\u003ca id=\"development\"\u003e\n\u003ch1\u003eDevelopment\n\n\u003ca href=\"https://blog.rust-lang.org/2020/03/12/Rust-1.42.html\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/rustc-1.42+-lightgray.svg\" alt=\"Rust 1.42+\" /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://github.com/ogham/specsheet/blob/master/LICENCE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/licence-EUPL-green.svg\" alt=\"European Union Public Licence\" /\u003e\n\u003c/a\u003e\n\u003c/h1\u003e\u003c/a\u003e\n\nSpecsheet is written in [Rust](https://www.rust-lang.org/).\nYou will need rustc version 1.42.0 or higher.\nThe recommended way to install Rust for development is from the [official download page](https://www.rust-lang.org/tools/install), using rustup.\n\nOnce Rust is installed, you can compile Specsheet with Cargo:\n\n    $ cargo build\n    $ cargo test\n\n- The [just](https://github.com/casey/just) command runner can be used to run some helpful development commands, in a manner similar to `make`.\nRun `just --tasks` to get an overview of what’s available.\n\n- If you are compiling a copy for yourself, be sure to run `cargo build --release` or `just build-release` to benefit from release-mode optimisations.\nCopy the resulting binary, which will be in the `target/release` directory, into a folder in your `$PATH`.\n`/usr/local/bin` is usually a good choice.\n\n- To compile and install the manual pages, you will need [pandoc](https://pandoc.org/).\nThe `just man` command will compile the Markdown into manual pages, which it will place in the `target/man` directory.\nTo use them, copy them into a directory that `man` will read.\n`/usr/local/share/man` is usually a good choice.\n\nSpecsheet is licenced under the [European Union Public Licence](https://choosealicense.com/licenses/eupl-1.2/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fogham%2Fspecsheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fogham%2Fspecsheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fogham%2Fspecsheet/lists"}