{"id":14385023,"url":"https://github.com/arguseyes/argus-eyes","last_synced_at":"2026-01-12T02:27:07.258Z","repository":{"id":57183604,"uuid":"48484534","full_name":"arguseyes/argus-eyes","owner":"arguseyes","description":"A lightweight commandline tool for visual regression testing of UI components.","archived":false,"fork":false,"pushed_at":"2019-12-02T08:39:16.000Z","size":204,"stargazers_count":159,"open_issues_count":8,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-17T08:41:17.519Z","etag":null,"topics":["argus-eyes","phantomjs","regression-testing","screenshot","test-automation","testing","testing-tools","visual-regression","visualize-differences"],"latest_commit_sha":null,"homepage":"http://arguseyes.io/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arguseyes.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"contributing.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-23T10:25:59.000Z","updated_at":"2024-12-10T21:32:46.000Z","dependencies_parsed_at":"2022-08-23T01:31:21.064Z","dependency_job_id":null,"html_url":"https://github.com/arguseyes/argus-eyes","commit_stats":null,"previous_names":["branneman/argus-eyes"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/arguseyes/argus-eyes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arguseyes%2Fargus-eyes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arguseyes%2Fargus-eyes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arguseyes%2Fargus-eyes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arguseyes%2Fargus-eyes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arguseyes","download_url":"https://codeload.github.com/arguseyes/argus-eyes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arguseyes%2Fargus-eyes/sbom","scorecard":{"id":206423,"data":{"date":"2025-08-11","repo":{"name":"github.com/arguseyes/argus-eyes","commit":"0633e186c837457c1d481f4b66a23238336864ca"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 1/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T23:54:04.821Z","repository_id":57183604,"created_at":"2025-08-16T23:54:04.822Z","updated_at":"2025-08-16T23:54:04.822Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271762930,"owners_count":24816837,"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","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["argus-eyes","phantomjs","regression-testing","screenshot","test-automation","testing","testing-tools","visual-regression","visualize-differences"],"created_at":"2024-08-28T18:01:52.356Z","updated_at":"2026-01-12T02:27:07.251Z","avatar_url":"https://github.com/arguseyes.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# DEPRECATED - [Argus Eyes](http://arguseyes.io/) [![No Maintenance Intended](http://unmaintained.tech/badge.svg)](http://unmaintained.tech/)  [![npm version](https://badge.fury.io/js/argus-eyes.svg)](https://www.npmjs.org/package/argus-eyes) \n\n| Linux \u0026 Mac OS X | Windows |\n| --- | --- |\n|  |\n| [![build status](https://travis-ci.org/arguseyes/argus-eyes.svg?branch=dev)](https://travis-ci.org/arguseyes/argus-eyes) | [![build status](https://ci.appveyor.com/api/projects/status/github/arguseyes/argus-eyes?branch=dev\u0026svg=true)](https://ci.appveyor.com/project/BranvanderMeer/argus-eyes) |\n\nA lightweight commandline tool for visual regression testing of UI components.\n\n## Deprecated, why?\nArgus Eyes is based on the headless browser PhantomJS, which is not maintained anymore.\nShifting away from PhantomJS would be a massive rewrite and we currently have other priorities.\n\n## Alternatives\nWe see [BackstopJS](https://github.com/garris/BackstopJS) as a good open-source alternative.\n\n## Contents\n- [Overview](#overview)\n- [Introduction](#introduction)\n- [Authors](#authors)\n- [Guide](#guide)\n  - [Install](#install)\n  - [Step 1: Setup config file](#step-1-setup-config-file)\n  - [Step 2: Take screenshots](#step-2-take-screenshots)\n  - [Step 3: Test for visual differences](#step-3-test-for-visual-differences)\n  - [Gitflow: Testing separate branches](#gitflow-testing-separate-branches)\n- [Reference](#reference)\n  - [Config](#config)\n  - [Usage](#usage)\n  - [Options](#options)\n- [Contributing](#contributing)\n- [License](#license)\n\n\n## Overview\n\u003c!-- start --\u003e\nArgus eyes does 3 things for you:\n\n1. Take screenshots of UI components in different views and branches\n2. Test the screenshots for visual differences\n3. Create images of the visual differences\n\nScreenshots are caputured with [PhantomJS](http://phantomjs.org/), comparing sceenshots is done using\n[Blink-diff](http://yahoo.github.io/blink-diff/).\n\u003c!-- end --\u003e\n\n![Argus Eyes Example](http://arguseyes.io/static/img/argus-eyes-example.png)\n\n\n\u003c!-- start --\u003e\n## Introduction\n\nAfter installing, you want to tell argus eyes which pages and which components to check for visual regression.\nArgus eyes works by going over a straightforward JSON file containing the resolutions you want to capture, as well as\nthe pages with their url's, and the components with their CSS-selectors.\n\nOnce argus eyes knows where to find the components, it's time for some command line action. The first command you want\nto use is `$ argus-eyes capture master`. This makes argus eyes go over the config file and take screenshots of\nall specified components in there. The screenshots are saved in **`.argus-eyes/master`** and this set of screenshots can\nbe compared with another set.\n\nSay you want to compare the components in your dev branch with those in your master branch. Now is the time to switch\nbranches and do a new `$ argus-eyes capture dev`.\n\nTo compare the 2 sets you run `$ argus-eyes compare master dev`, that's it! Argus eyes now checks all supposedly\nidentical screenshots for visual differences. If differences were found, a new folder **`.argus-eyes/diff_master_dev`**\nis created. This folder contains overlay-images of the offending components, highlighting their differences in red.\n\u003c!-- end --\u003e\n\n\n\u003c!-- start --\u003e\n## Authors\n\nThe initial idea and continued vision is a shared responsibility between Maarten Groeneweg and\n[Bran van der Meer](http://bran.name/).\n\nWe strongly believe a visual regression testing tool should be looking for the sweet spot in collaboration between a\nFront-End Developer and a Test Engineer. That’s why we started working on Argus Eyes together.\n\nFor a list of all contributors, see the [contributor graph](https://github.com/arguseyes/argus-eyes/graphs/contributors).\n\u003c!-- end --\u003e\n\n\n\u003c!-- start --\u003e\n## Guide\n\n### Install\n\n- Install [Node.js](http://nodejs.org/), at least v4\n- Install argus-eyes using npm:\n\n```bash\n$ npm install argus-eyes -g\n```\n\n\n### Step 1: Setup config file\n\nBefore argus eyes can measure visual differences, it needs a list of pages and components. By\ndefault argus eyes expects an **`argus-eyes.json`** file in the current working directory.\n\nThe config file must be a valid JSON object, containing 3 arrays: **`sizes`**, **`pages`** and\n**`components`**. Sizes are simple strings. Page objects require a name, url and list of components. Components require\na name and a CSS-selector. Components can optionally take a list of selectors of elements to ignore, this selector is\nappended to the component selector. See the Reference section for a more detailed format description.\n\n**Example config file:**\n```json\n{\n  \"sizes\": [\"320x480\", \"1280x768\"],\n  \"pages\": [ {\n      \"name\": \"homepage\",\n      \"url\": \"http://localhost:3000/\",\n      \"components\": [ \"navigation\", \"news-items\" ]\n    }, {\n      \"name\": \"contact\",\n      \"url\": \"http://localhost:3000/contact.html\",\n      \"components\": [ \"navigation\" ]\n    } ],\n  \"components\": [ {\n      \"name\": \"navigation\",\n      \"selector\": \".nav\"\n    }, {\n      \"name\": \"news-items\",\n      \"selector\": \".news-items\",\n      \"ignore\": [ \".last-updated\" ]\n    } ]\n}\n```\n\n\n### Step 2: Take screenshots\n\nAfter setting up the JSON, argus eyes can be put to work. Let's create your first set of screenshots of the components\nwe specified. To do that, you can use the **`argus-eyes capture`** command:\n\n```bash\n$ argus-eyes capture \u003cname\u003e\n```\n\nIt's best to name your set of screenshots semantically, after your current git branch for example.\n\nArgus eyes now creates a folder called **`.argus-eyes/\u003cname\u003e/`**, and saves the screenshots of all components specified\nin the config file.\n\nNow, you can switch branches and save another set of screenshots.\n\n\n### Step 3: Test for visual differences\n\nWhen any 2 sets of screenshots were created, argus eyes can compare them for visual differences. Comparison is done with\nthe **`argus-eyes compare`** command:\n\n```bash\n$ argus-eyes compare \u003cleft\u003e \u003cright\u003e\n```\n\nIf visual differences between supposedly identical components are found, a new folder is created. This folder contains\nimages of the offending components, highlighting their differences in red.\n\n_Note:_ Please make sure to add **`'.argus-eyes'`** to your **`.gitignore`**!\n\n### Gitflow: Testing separate branches\n\nArgus eyes is especially useful for checking visual regression between different branches. Say you're working on a\nfeature branch and you want to make sure your changes have no unintended side effects:\n\n**On the `feature/navigation` branch:**\n```bash\n$ argus-eyes capture feature/navigation\n```\n\n**On the `develop` branch:**\n```bash\n$ argus-eyes capture develop\n$ argus-eyes compare develop feature/navigation\n```\n\nIf any differences are found, the visual diff images are stored in **`.argus-eyes/diff_develop_feature-navigation/`**\n\u003c!-- end --\u003e\n\n\n\u003c!-- start --\u003e\n## Reference\n\n### Config\n\nArgus eyes will look in the current working directory for a file named **`argus-eyes.json`**. This file contains your\nsizes, pages and components. You can specify a different location file using the **`--config`** argument, as described\nin [Options](#options).\n\nThe config needs to be valid [JSON](http://www.json.org/), and it needs to obey this format specification:\n\n```js\n{\n  \"sizes\": [\n    String                       // Size string, example: \"1024x768\"\n    // ...\n  ],\n  \"pages\": [\n    {\n      \"name\": String,            // Identifier, used in filenames\n      \"url\": String,             // Valid URL\n      \"components\": [\n        String                   // Component identifiers\n        // ...\n      ],\n      \"wait-for-delay\": Number,  // [Optional] Number of milliseconds to wait\n      \"wait-for-script\": String, // [Optional] Path to JS file with function body\n      \"run-script\": String       // [Optional] Path to JS file with script\n    }\n    // ...\n  ],\n  \"components\": [\n    {\n      \"name\": String,            // Identifier, used in page objects and filenames\n      \"selector\": String,        // CSS selector, to clip the screenshot\n      \"ignore\": [                // [Optional] Array of excluded child elements\n        String                   // CSS selector, to `display:none` a child element\n        // ...\n      ],\n      \"wait-for-delay\": Number,  // [Optional] Number of milliseconds to wait\n      \"wait-for-script\": String, // [Optional] Path to JS file with function body\n      \"run-script\": String       // [Optional] Path to JS file with script\n    }\n    // ...\n  ],\n  \"wait-for-delay\": Number,      // [Optional] Number of milliseconds to wait\n  \"wait-for-script\": String,     // [Optional] Path to JS file with function body\n  \"run-script\": String,          // [Optional] Path to JS file with script\n  \"credentials\": String,         // [Optional] HTTP Basic auth, example: \"john:secret\"\n  \"phantomjs-flags\": [           // [Optional] Array of PhantomJS flags\n    String                       // PhantomJS CLI flag\n    // ...\n  ]\n}\n```\n\nBy default, argus eyes takes the screenshots after the `window.onload` event. When parts of your site are still being\nloaded after that, you'll need to tell argus eyes what to wait for. This way you can make sure that everything has\nfinished loading, rendering and animating at the moment the screenshot is taken.\n\nTo simply wait for a fixed time, use `wait-for-delay`. For more complex conditions, you can write JavaScript that\nreturns a truthy value whenever the page is ready: see `wait-for-script`. If you've got any one-time actions such as\ncomponents to activate or dialogs to close, you should use `run-script`.\n\nYou are allowed to specify `wait-for-delay`, `wait-for-script` and `run-script` on 3 levels: global, page and component.\nThe highest delay is executed first, then all `wait-for-script` files in order, then all `run-script` files.\n\n**Be advised**: There's a global timeout of 10 seconds on the internal PhantomJS script, the screenshots of all\ncomponents on a page should be taken within that time.\n\n\n#### Wait for delay\n\nThis will delay taking the screenshots, specify the milliseconds as a JavaScript number. When multiple delays are found\nonly the highest delay is executed, the others are discarded.\n\n#### Wait for script\n\nYou can specify a JavaScript function body to tell argus eyes whenever the page and it's components are finished loading.\nThe `wait-for-script` string must contain a filename. If a relative path is given, it's relative to your config file.\n\nMultiple scripts will be executed in the order: global, page, component.\n\nThe contents of the script can be seen as a function body, without the `function() {` and `}` parts around it. You are\nrequired to return a truthy value to indicate argus eyes can take the screenshot. Your function is **invoked\ncontinuously** until it returns something truthy, so be careful with saving state.\n\nInternally, the contents of the file are passed as a string to the\n[`Function()` constructor](http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function),\nthus an entire function body as a string is expected, and multiple lines are allowed.\n\n**Example:**\n```json\n{ \"wait-for-script\": \"scripts/page-finished-loading.js\" }\n```\n\n**scripts/page-finished-loading.js:**\n```js\nvar isFinished = document.body.hasAttribute('data-finished-loading');\nreturn isFinished;\n```\n\n#### Run script\n\nThe `run-script` option differs from `wait-for-script` in that it's only executed once, after any `wait-for-script`\nand `wait-for-delay`.\n\nMultiple scripts will be executed in the order: global, page, component.\n\nInternally, the contents of the file are passed as a string to the\n[`Function()` constructor](http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function),\nthus an entire function body as a string is expected, and multiple lines are allowed.\n\n**Example:**\n```json\n{ \"run-script\": \"scripts/component-search-open.js\" }\n```\n\n**scripts/component-search-open.js:**\n```js\nvar search = document.querySelector('.header__search');\nsearch.classList.add('.header__search_is-open');\n```\n\n#### Credentials\n\nIt's possible to specify credentials to be used as HTTP Basic authentication. A string with the username and password\nseparated by a colon (`:`) is expected.\n\n**Example:**\n```json\n{ \"credentials\": \"john:secret\" }\n```\n\n#### PhantomJS flags\n\nIf you need to specify any PhantomJS commandline flags, it's possible to do so as an array of strings. See the official\n[PhantomJS CLI documentation](http://phantomjs.org/api/command-line.html) for all supported CLI options. If any relative\npaths are given, they're relative to your config file.\n\n**Example:**\n```json\n{ \"phantomjs-flags\": [\"--load-images=false\"] }\n```\n\n\n### Usage\n\n#### Capture\n\nRun argus eyes and save all the screenshots under **`.argus-eyes/\u003cname\u003e/`**\n\n#### Compare\n\nCompare the two sets of screenshots, creating overlay-images and reporting any difference. The process will exit with\ncode 0 when no significant differences were found, code 1 when differences were found.\n\n#### Configtest\n\nRun a config file syntax and test. It parses the config file and either reports *Config valid* or detailed information\nabout the error.\n\n\n### Options\n\nArgus eyes can take several optional arguments on the CLI. Because `capture` and `compare` take positional arguments, any\nof these options must be placed last.\n\n#### Config file\n\n_Default:_ **`argus-eyes.json`**\n\nUse a different config file.\n\n```bash\n$ argus-eyes capture feature/navigation --config=config.json\n```\n\n#### Threshold\n\n_Default:_ 0\n\nSet the threshold for comparison differences, expects a percentage between 0 and 100. If the difference between 2 files\nis bigger than this percentage, it will be treated as different and reported as such.\n\nWhen comparing screenshots, argus eyes checks if all pixels in screenshots are identical. The difference is calculated\nby dividing the number of different pixels by the total number of pixels, giving a percentage. The image is considered\ndifferent when this percentage exceeds the threshold percentage.\n\n**Be advised**: You can [exclude html elements](#config) from being captured! You might want to look into that before\nincreasing the threshold, since that will also increase the chance of unintended changes getting through.\n\n```bash\n$ argus-eyes compare develop feature/navigation --threshold=10\n```\n\n#### Concurrency\n\n_Default:_ 10\n\nSet the number of PhantomJS instances to run in parallel. This must be a number between 1 and 100. A single PhantomJS\ninstance is used for every page, not for every component. Screenshots of components are captured synchronously.\n\n**Be advised**: At this moment only the [Capture](#capture) uses this option, since PhantomJS is the biggest performance\nhit. The [Compare](#compare) action might be using this in the future as well.\n\n```bash\n$ argus-eyes capture feature/navigation --concurrency=25\n```\n\n**Be advised**: A higher concurrency isn’t always the better option. Be careful with increasing the concurrency,\nPhantomJS takes a lot of memory and it will affect the performance negatively if you run out of memory.\n\n#### Base\n\n_Default:_ **`.argus-eyes`**\n\nUse a different base directory for storing the screenshots and comparison results.\n\n```bash\n$ argus-eyes capture develop --base==visual-regression\n```\n\n#### Verbose\n\nTurn on verbose output. All output is prefixed with a date string in simplified ISO 8601 format.\n\n```bash\n$ argus-eyes compare develop feature/navigation --verbose\n```\n\n#### No color\n\nTurn off colored output. Output is colored by default.\n\n```bash\n$ argus-eyes capture develop --no-color\n```\n\n#### Help\n\nPrint usage information.\n\n```bash\n$ argus-eyes --help\n```\n\n#### Version\n\nPrint version.\n\n```bash\n$ argus-eyes --version\n```\n\u003c!-- end --\u003e\n\n\n## Contributing\n\nWant to contribute to argus-eyes? Awesome! You can contribute in multiple ways. Found a bug? Thought of a new feature?\nCheck the [contributing guidelines](contributing.md) and find out how to contribute.\n\n\n## License\n\nReleased under the [Creative Commons — Attribution 4.0 International license](https://creativecommons.org/licenses/by/4.0/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farguseyes%2Fargus-eyes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farguseyes%2Fargus-eyes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farguseyes%2Fargus-eyes/lists"}