{"_id":"@4awpawz/snitch","_rev":"3-96d854b4a5de9893abd352faf0bf139c","name":"@4awpawz/snitch","dist-tags":{"latest":"3.2.0"},"versions":{"2.0.0":{"name":"@4awpawz/snitch","version":"2.0.0","keywords":["reports","github","cli","gh","issues","list","format","markdown"],"author":{"name":"4awpawz, aka Jeff Schwartz"},"license":"MIT","_id":"@4awpawz/snitch@2.0.0","maintainers":[{"name":"jeffreyschwartz","email":"jefftschwartz@gmail.com"}],"homepage":"https://github.com/4awpawz/snitch#readme","bugs":{"url":"https://github.com/4awpawz/snitch/issues"},"bin":{"snitch":"core/bin/cli.mjs"},"dist":{"shasum":"6a2382e76ceb56ede8d0dc4838bc3fc92cb6db3c","tarball":"https://registry.npmjs.org/@4awpawz/snitch/-/snitch-2.0.0.tgz","fileCount":30,"integrity":"sha512-BH7Chql1bVuBUScJZLny+fuKk+LlSnknDVFILA6lV53Qarhicr/alLBv2wAOLoN9IY5W86E/bqemOwHhfsyOsQ==","signatures":[{"sig":"MEQCIAdck/G9q1TqvGmTXYlOJtsKCoTqFNwce/PM3+7EzjopAiBjvyfstvI3ts+DU/emo50gHGrmdx0lGcuJWqbGQdF3Kg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3422360},"main":"core/index.mjs","type":"module","gitHead":"f6f073a5f813c62ceca153a5e6832b1437f04852","scripts":{},"_npmUser":{"name":"jeffreyschwartz","email":"jefftschwartz@gmail.com"},"repository":{"url":"git+https://github.com/4awpawz/snitch.git","type":"git"},"_npmVersion":"10.5.0","description":"A terminal utility for easily creating attractive interactive GitHub issue reports.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"chalk":"^5.3.0","marked":"^12.0.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/snitch_2.0.0_1716235704313_0.8962493402601666","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@4awpawz/snitch","version":"3.0.0","keywords":["reports","github","cli","gh","issues","list","format","markdown"],"author":{"name":"4awpawz, aka Jeff Schwartz"},"license":"MIT","_id":"@4awpawz/snitch@3.0.0","maintainers":[{"name":"jeffreyschwartz","email":"jefftschwartz@gmail.com"}],"homepage":"https://github.com/4awpawz/snitch#readme","bugs":{"url":"https://github.com/4awpawz/snitch/issues"},"bin":{"snitch":"core/bin/cli.mjs"},"dist":{"shasum":"f9961dfa66ee52212a5108228f87bb463960faf4","tarball":"https://registry.npmjs.org/@4awpawz/snitch/-/snitch-3.0.0.tgz","fileCount":26,"integrity":"sha512-FavGTV7d3mBsr2t1CG99s70thvnndYpJ+5X74NS+eGE+l4tiMLFEmtQ3msD8OH8T6bjkJ9MndksyPQz2IeXHIg==","signatures":[{"sig":"MEUCIQDJoNFPTBKoExycVRT5EUyAb8X5HPGF89BsQgEZ5fRG4wIgBHBhuGMQGDBpOHjLf9pFKePcRT3woUVsUibJqk+Urhs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2934759},"main":"core/index.mjs","type":"module","gitHead":"b46417f78dada353a6176eb4f48fa3fedeec0f55","scripts":{},"_npmUser":{"name":"jeffreyschwartz","email":"jefftschwartz@gmail.com"},"repository":{"url":"git+https://github.com/4awpawz/snitch.git","type":"git"},"_npmVersion":"10.5.0","description":"Snitch is a terminal utility that automates the reporting of GitHub repository issues via interactive and informative reports in both markdown and plain text.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"open":"^10.1.0","chalk":"^5.3.0","marked":"^12.0.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/snitch_3.0.0_1718294719007_0.46943676253127453","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"@4awpawz/snitch","version":"3.1.0","keywords":["reports","github","cli","gh","issues","list","format","markdown"],"author":{"name":"4awpawz, aka Jeff Schwartz"},"license":"MIT","_id":"@4awpawz/snitch@3.1.0","homepage":"https://github.com/4awpawz/snitch#readme","bugs":{"url":"https://github.com/4awpawz/snitch/issues"},"bin":{"snitch":"core/bin/cli.mjs"},"dist":{"shasum":"76ad3b46ec081a397a29b9395be4dcdff3078a39","tarball":"https://registry.npmjs.org/@4awpawz/snitch/-/snitch-3.1.0.tgz","fileCount":27,"integrity":"sha512-KTCXbzADZQ9gPINWmioikIvgPIteRHk8B/vKpk1+uykaad8736wnsUt1tH4I84VaQIaeYaB4jrjS/anvjLG8Fw==","signatures":[{"sig":"MEYCIQDXOFQq7x57STYO2W9Pz0LW0MSSqXj6Hur5jGMKSrqV5AIhAI+vukAF6yu2A/afv/BOXzmTk3K8vAVTOwZVLJCNXk4T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2942937},"main":"core/index.mjs","type":"module","gitHead":"0ee021cdc834b8f7e2d6186f7f486fd694c6ccad","scripts":{},"_npmUser":{"name":"jeffreyschwartz","email":"jefftschwartz@gmail.com"},"repository":{"url":"git+https://github.com/4awpawz/snitch.git","type":"git"},"_npmVersion":"10.5.0","description":"Snitch is a terminal utility that automates the reporting of GitHub repository issues via interactive and informative reports in both markdown and plain text.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"open":"^10.1.0","chalk":"^5.3.0","marked":"^12.0.2"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/snitch_3.1.0_1719236141035_0.3509107942227623","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"@4awpawz/snitch","version":"3.2.0","description":"Snitch is a terminal utility that automates the reporting of GitHub repository issues via interactive and informative reports in both markdown and plain text.","main":"core/index.mjs","bin":{"snitch":"core/bin/cli.mjs"},"type":"module","scripts":{},"keywords":["reports","github","cli","gh","issues","list","format","markdown"],"author":{"name":"4awpawz, aka Jeff Schwartz"},"repository":{"type":"git","url":"git+https://github.com/4awpawz/snitch.git"},"license":"MIT","dependencies":{"chalk":"^5.3.0","marked":"^12.0.2","open":"^10.1.0"},"devDependencies":{"eslint":"^8.57.0"},"_id":"@4awpawz/snitch@3.2.0","gitHead":"42b6e38fbb6dbd0d993bc062cdf5ce82fc47c7a0","bugs":{"url":"https://github.com/4awpawz/snitch/issues"},"homepage":"https://github.com/4awpawz/snitch#readme","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-c8gkTLtcssJoLbjMqscy2/uvm8AxQiiKXFzGdVcy6jP85yUFVCbmbaYaWSXN2hFDih9nbEzTVAmc8+RVfghVwg==","shasum":"956f65e41186c5b48764eb5c670f3e3069571b93","tarball":"https://registry.npmjs.org/@4awpawz/snitch/-/snitch-3.2.0.tgz","fileCount":27,"unpackedSize":3080322,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCz1CluAXIkh/5h+5OmlARJR3zv7OuCXm+2FJ/CnHUQVgIgAu9/fszuuVi8e0jCuFyAJE0wUUmdISZgUkJYcK8ERW4="}]},"_npmUser":{"name":"jeffreyschwartz","email":"jefftschwartz@gmail.com"},"directories":{},"maintainers":[{"name":"jeffreyschwartz","email":"jefftschwartz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snitch_3.2.0_1723464394017_0.9793753678770649"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-20T20:08:24.165Z","modified":"2024-08-12T12:06:34.478Z","2.0.0":"2024-05-20T20:08:24.660Z","3.0.0":"2024-06-13T16:05:19.287Z","3.1.0":"2024-06-24T13:35:41.261Z","3.2.0":"2024-08-12T12:06:34.288Z"},"bugs":{"url":"https://github.com/4awpawz/snitch/issues"},"author":{"name":"4awpawz, aka Jeff Schwartz"},"license":"MIT","homepage":"https://github.com/4awpawz/snitch#readme","keywords":["reports","github","cli","gh","issues","list","format","markdown"],"repository":{"type":"git","url":"git+https://github.com/4awpawz/snitch.git"},"description":"Snitch is a terminal utility that automates the reporting of GitHub repository issues via interactive and informative reports in both markdown and plain text.","maintainers":[{"name":"jeffreyschwartz","email":"jefftschwartz@gmail.com"}],"readme":"# Snitch 👉\n\n![GitHub Release](https://img.shields.io/github/release/4awpawz/snitch/all.svg)\n[![npm version](https://badge.fury.io/js/@4awpawz%2Fsnitch.svg)](https://badge.fury.io/js/@4awpawz%2Fsnitch)\n[![License](https://img.shields.io/badge/license-MIT-%230172ad)](https://github.com/picocss/pico/blob/master/LICENSE.md)\n[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/4awpawz.svg?style=social&label=Follow%20%404awpawz)](https://twitter.com/4awpawz)\n\n## Automated GitHub Issues Reporting\n\nFive different report styles to chose from in either markdown or plain text.\n\n![Snitch markdown and text reports](./readme-assets/snitch-text-markdown-side-by-side.png)\n\n⚠️ This project was formerly named _ghif_ but as of v2 has diverged significantly enough from that codebase to warrant rebranding while maintaining all its previous git history.\n\n## What's New\n\n- Snitch v3.2.0 adds support for overriding how issues, labels, assignees, and milestones are sorted, giving you even greater control over how you tailor your reports. See [Options](#options) below for details.\n- Snitch v3.1.0 added support for filtering issues by label, by assignee and by milestone. See [Options](#options) below for details.\n\n## Installation\n\n⚠️ Snitch requires [GitHub CLI ](https://cli.github.com) and [Node.js](https://nodejs.org/en).\n\nTo install Snitch with NPM, please run the following command in your terminal:\n\n```shell\n> npm i -g 4awpawz/snitch\n```\n\n## 5 Reports To Chose From\n\n| Report Name | Description | Example |\n| :-- | :-- | :-- |\n| assignee | a list of issues by assignee | `> snitch --name=assignee > snitch-report.md` | \n| label | a list of issues by label | `> snitch --name=label > snitch-report.md` | \n| list | a list of issues | `> snitch --name=list > snitch-report.md` |\n| milestone | a list of issues by milestone | `> snitch --name=milestone > snitch-report.md` |\n| milestone-label | a list of issues by milestone and label | `> snitch --name=milestone-label > snitch-report.md` |\n\n## Options\n\n| Option | Description | Default (if omitted)| Example |\n| :-- | :-- | :-- | :-- |\n| --name=[list \\| milestone \\| milestone-label \\| label \\| assignee] | name of report to generate | list | `--name=milestone-label` |\n| --repo=[path to repository] | path to Github repository | the GitHub repository associated with the current project determined by git remote origin | `--repo=4awpawz/snitch` |\n| --as-text (v3.0.0) | output report as plain text | output report as markdown | `--as-text` |\n| --heading=[report heading] | the heading for the report | repository name | `--heading=CHANGELOG` |\n| --no-heading (v3.0.0) | omit heading | include heading | `--no-heading` |\n| --blank-lines (v3.0.0) | seperate issues with a blank line | no seperating blank line | `--blank-lines` |\n| --non-interactive | for markdown reports only, generate non interactive issues | generate interactive issues | `--non-interactive` |\n| --no-attribution | attribution is jnot appended to the report | attribution is appended to the report | `--no-attribution` |\n| --max-issues=integer | maximum number of issues to report | 10000 | `--max-issues=100000` |\n| --state=[all \\| open \\| closed] | filter  issues by state | all | `--state=closed` |\n| --label=\\<strings\\> (v3.1.0) | filter issues by one or more labels | no filtering by label | `--label=bug` |\n| --assignee=\\<string\\> (v3.1.0) | filter issues by assignee | no filtering by assignee | `--assignee=supercoder` |\n| --milestone=\\<string\\> (v3.1.0) | filter issues by milestone | no filtering by milestone | `--milestone=v10.6.20` |\n| --sort-issues-ascending (v3.2.0) | sort issues in reverse order, see [below](#sorting) for details | the default sort order is descending | `--sort-issues-ascending` |\n| --sort-labels-descending (v3.2.0) | sort labels in reverse order, see [below](#sorting) for details  | the default sort order is ascending | `--sort-labels-descending` |\n| --sort-assignees-descending (v3.2.0) | sort assigness in reverse order, see [below](#sorting) for details  | the default sort order is ascending | `--sort-assignees-descending` |\n| --sort-milestones-descending (v3.2.0) | sort milestones in reverse order, see [below](#sorting) for details  | the default sort order is ascending | `--sort-milestones-descending` |\n| --debug | run in debug mode, see [below](#debug-mode) for details | run in normal mode | `--debug` |\n\n## Saving output to a file\n\nUse redirection (i.e., `>`) to save output to a file:\n\n```shell\n> snitch --name=list > list.md\n```\n## Sorting\n\nThe table below lists the sort ordering options available for each report:\n\n| Report | Applicable |\n| :-- | :-- |\n| list | --sort-issues-ascending |\n| milestone | --sort-issues-ascending, --sort-milestones-descending |\n| milestone-label | --sort-issues-ascending, --sort-milestones-descending, --sort-labels-descending |\n| assignee | --sort-issues-ascending, --sort-assignees-descending |\n| label | --sort-issues-ascending, --sort-labels-descending |\n\n## Debug mode\n\nYou can run Snitch in __debug mode__ to expose the dynamically generated configuration data that would be used during the processing of the payload returned from __GitHub's CLI__ utility as well as the command line that would be used to invoke __GitHub CLI__ itself. This information would be useful when submitting an issue or for your own problem resolution.\n\nTo invoke debug mode, append `--debug` to the command line that you would use to generate your desired report, such as the __list report__ in the command below:\n\n```shell\n> snitch --name=list --debug \n```\n\nThe output from running Snitch in debug mode would look similar to the following:\n\n```shell\ndebug config:  {\n  reportName: 'list',\n  repo: 'https://github.com/4awpawz/snitch',\n  state: 'all',\n  maxIssues: 10000,\n  nonInteractive: false,\n  noHeading: false,\n  heading: '4awpawz/snitch',\n  debug: true,\n  noAttribution: false,\n  asText: false,\n  blankLines: false,\n  label: '',\n  assignee: '',\n  milestone: '',\n  sortIssuesAscending: false,\n  sortMilestonesDescending: false,\n  sortAssigneesDescending: false,\n  sortLabelsDescending: false\n}\ndebug gh command:  gh issue list -L 10000 --state all --json 'number,title,labels,milestone,state,assignees,url' -R https://github.com/4awpawz/snitch\n```\n\nYou can also run the _debug gh command_ to examine the JSON payload returned by GitHub's _gh_ utility:\n\n```shell\n> gh issue list -L 10000 --state all --json 'number,title,labels,milestone,state,assignees,url' -R https://github.com/4awpawz/snitch\n```\n\n## Report Sensitivity\n\nWhen generating a report other than the list report you might see a warning message like the one below. It is informing you that some issues were excluded from the report because they didn't meet the report's requirements. For example, if you generate a milestone report and there are issues that haven't been assigned a milestone then those issues will be excluded from the report.\n\n<img src=\"./readme-assets/issues-missing-criteria-warning.png\" alt=\"missing criteria warning message\" title=\"missing criteria warning message\" width=\"100%\" style=\"max-width: 100%;\">\n\n## Screencasts & Tutorials\n\n[![New features introduced in Snitch v3.1 and v3.2](https://img.youtube.com/vi/CgvFShjjClY/0.jpg)](https://www.youtube.com/watch?v=CgvFShjjClY)\n[![Introducing Snitch v3.0.0](https://img.youtube.com/vi/_vUUfBxtSFE/0.jpg)](https://www.youtube.com/watch?v=_vUUfBxtSFE)\n[![Snitch milestone report video](https://img.youtube.com/vi/u-7oJJUUdGs/0.jpg)](https://www.youtube.com/watch?v=u-7oJJUUdGs)\n\n### Example - Easily Create Your Project's Changelog\n\n`> snitch --name=list --state=closed --heading=CHANGELOG`\n\n<img src=\"./readme-assets/changelog-md.png\" alt=\"changelog report image\" title=\"changelog report image\" width=\"100%\" style=\"max-width: 100%;\">\n<br>\n<br>\n\n<!---->\n<!-- ### List Report -->\n<!---->\n<!-- `> snitch --name=list` -->\n<!---->\n<!-- <img src=\"./readme-assets/list-report.png\" alt=\"list report image\" title=\"list report image\" width=\"100%\" style=\"max-width: 100%;\"> -->\n<!-- <br> -->\n<!-- <br> -->\n<!---->\n<!-- ### Milestone Report -->\n<!---->\n<!-- `> snitch --name=milestone` -->\n<!---->\n<!-- <img src=\"./readme-assets/milestone-report.png\" alt=\"milestone report image\" title=\"milestone report image\" width=\"100%\" style=\"max-width: 100%;\"> -->\n<!-- <br> -->\n<!-- <br> -->\n<!---->\n<!-- ### Milestone-Label Report -->\n<!---->\n<!-- `> snitch --name=milestone-label` -->\n<!---->\n<!-- <img src=\"./readme-assets/milestone-label-report.png\" alt=\"milestone-label report image\" title=\"milestone-label report image\" width=\"100%\" style=\"max-width: 100%;\"> -->\n<!-- <br> -->\n<!-- <br> -->\n<!---->\n<!-- ### Label Report -->\n<!---->\n<!-- `> snitch --name=label` -->\n<!---->\n<!-- <img src=\"./readme-assets/label-report.png\" alt=\"label report image\" title=\"label report image\"  width=\"100%\" style=\"max-width: 100%;\"> -->\n<!-- <br> -->\n<!-- <br> -->\n<!---->\n<!-- ### Assignee Report -->\n<!---->\n<!-- `> snitch --name=assignee` -->\n<!---->\n<!-- <img src=\"./readme-assets/assignee-report.png\" alt=\"assignee report image\" title=\"assignee report image\" width=\"100%\" style=\"max-width: 100%;\"> -->\n<!-- <br> -->\n<!-- <br> -->\n\n## Request a new report format\n\nHave an idea for a report format that is not yet supported? Then by all means [please submit a request](https://github.com/4awpawz/snitch/issues) and provide a detailed description of the report you are seeking.\n\n## Known Issues\n\nIf you are a Vim or a Neovim user and you are using the _markdown-preview_ plugin to preview markdown then please be aware that it can render markdown incorrectly. Unfortunately, the plugin doesn't currently seem to be actively maintained. For more information, [please see this issue](https://github.com/iamcco/markdown-preview.nvim/issues/681).\n\n## License\n\nMIT\n\n## If Using Snitch Provides You Value Then Please Show Some Love ❤️\n\n<a href=\"https://www.buymeacoffee.com/4awpawz\"><img src=\"./readme-assets/buymeacoffee.png\" alt=\"image\"></a>\n\nPlease 👀 watch and leave us a 🌟 star :)\n","readmeFilename":"README.md"}