{"id":13675216,"url":"https://github.com/lts-beratung/standup-boy","last_synced_at":"2025-10-14T10:09:16.126Z","repository":{"id":33788450,"uuid":"161764951","full_name":"lts-beratung/standup-boy","owner":"lts-beratung","description":"A simple module for creating daily standup texts :clock10:","archived":false,"fork":false,"pushed_at":"2022-12-04T04:28:42.000Z","size":367,"stargazers_count":6,"open_issues_count":7,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-25T05:00:07.146Z","etag":null,"topics":["agile","cli","cli-app","daily-standup-texts","node-js","node-module","scrum-cli","standup-meetings","xo"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lts-beratung.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-14T09:51:46.000Z","updated_at":"2023-10-07T16:34:06.000Z","dependencies_parsed_at":"2023-01-15T02:33:03.813Z","dependency_job_id":null,"html_url":"https://github.com/lts-beratung/standup-boy","commit_stats":null,"previous_names":["vikepic/standup-boy"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/lts-beratung/standup-boy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lts-beratung%2Fstandup-boy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lts-beratung%2Fstandup-boy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lts-beratung%2Fstandup-boy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lts-beratung%2Fstandup-boy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lts-beratung","download_url":"https://codeload.github.com/lts-beratung/standup-boy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lts-beratung%2Fstandup-boy/sbom","scorecard":{"id":601352,"data":{"date":"2025-08-11","repo":{"name":"github.com/lts-beratung/standup-boy","commit":"abd0af086e9e22f865647cc165de86ab1d6c5031"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"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":"Code-Review","score":0,"reason":"Found 0/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":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"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":"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":"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":"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":"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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: license:0","Info: FSF or OSI recognized license: MIT License: license:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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":"Vulnerabilities","score":0,"reason":"26 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-6chw-6frg-f759","Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-ff7x-qrg7-qggm","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-6c8f-qphg-qjgp","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T00:31:27.709Z","repository_id":33788450,"created_at":"2025-08-21T00:31:27.709Z","updated_at":"2025-08-21T00:31:27.709Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275685433,"owners_count":25509530,"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-09-17T02:00:09.119Z","response_time":84,"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":["agile","cli","cli-app","daily-standup-texts","node-js","node-module","scrum-cli","standup-meetings","xo"],"created_at":"2024-08-02T12:00:36.280Z","updated_at":"2025-09-17T23:48:15.639Z","avatar_url":"https://github.com/lts-beratung.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"![Standup boy: Daily standup from the terminal](cover.png)\n\n[![install size](https://flat.badgen.net/packagephobia/install/standup-boy)](https://packagephobia.now.sh/result?p=standup-boy) [![Build Status](https://flat.badgen.net/travis/vikepic/standup-boy)](https://travis-ci.org/vikepic/standup-boy) [![XO code style](https://flat.badgen.net/xo/status/standup-boy)](https://github.com/xojs/xo) \n\n`standup-boy` helps you create daily standup texts fast and easy.\nIt prompts you the usual stuff for a daily standup, then outputs a nicely-formatted, emoji-ready text for you to use in whatever platform you desire.\nAssumes markdown formatting.\n\n## Install\n\n```\n$ npm install --global standup-boy\n```\n\n```\n$ standup-boy --help\n    Usage\n        standup-boy [options]\n\n    Options\n      --log  [--from date] Get a log of the messages sent. Specify the date from wich to retrieve te messages on with --from date\n      --path -p Get the path to the configuration file (read-only).\n      --project projectName Specify the name of the project you want to send the message to.\n\n    Examples\n        $ standup-boy\n        ? What did I accomplish yesterday? Something!\n        ? What will I do today? Something Else!\n        ? What obstacles are impeding my progress? Any info I need or want to share? Not much...\n\n        :triumph: **\\`What did I accomplish yesterday\\`**\n        Something!\n        :scream_cat: **\\`What will I do today\\`**\n        Something Else!\n        :cry: **\\`What obstacles are impeding my progress? Any info I need or want to share?\\`**\n        Not much...\n        Copied the result to the clipboard!\n\n        $ standup-boy --log --from \"Mon Oct 19 2019\"\n        Mon Oct 21 2019 21:21:09 GMT+0200 (Central European Summer Time)\n        [\n            \"Did some cool stuff!\",\n            \"Work on some awesome stuff!\",\n            \"The coffee machine has run out of coffee!\"\n        ]\n```\n\n## Configuration\n\nYou can obtain the path to the configuration file by simply running `standup-boy --path` (read-only). Edit the resulting file to override the defaults.\n\nMind that this configuration only alters the final text that gets copied into your clipboard.\n\n### Templates\n\nOne can configure `standup-boy` to replace the default templates for the resulting standup text.\n\nAn example of an alternative configuration, written in JSON format:\n\n```json\n{\n  \"yesterday\": \"Hey, you! What did you do yesterday?\",\n\n  \"today\": \"Oh really? And what are you gonna do today?\",\n\n  \"obstacles\": \"Did you find any obstacles along the way, tho?\"\n}\n```\n\n### Replace words\n\n`standup-boy` can also be configured to search and replace certain keywords for, for example, automatically link to JIRA tasks. RegExp syntax is supported.\n\nIf you want to introduce the matched string into the replaced value, you can add the `%VAL%` keyword anywhere in your resulting text to interpolate the matched variable into it.\n\nAn example of an alternative configuration, written in JSON format:\n\n```json\n{\n  \"replace\" :\n  {\n    \"JIRA-[0-9]*\": \"[%VAL%](https://your-jira.url/%VAL%)\"\n  }\n}\n```\n\nThis results in this text:\n\n```\nI completed JIRA-220 today!\n```\n\nBeing replaced by:\n\n```\nI completed [JIRA-220](https://your-jira.url/JIRA-220) today!\n```\n\nIf translated to markdown, a nice link appears in place of the old, lame, jira task name.\n\n### Slack / Mattermost integration\n\nThis module can also be configured to automatically send the resulting message to your desired slack / mattermost channel once you've answered all the questions.\n\nIf your configuration is valid, a prompt should appear once your message has been written:\n\n```\n? Slack / Mattermost integration details found. Do you want to send the message? (Y/n)\n```\n\nOn confirmation, the message will be sent to the destination specified by your configuration.\n\nAn example of a valid configuration, written in JSON format:\n\n```json\n{\n    \"username\" : \"vikepic\",\n    \"channel\" : \"daily-standup\",\n    \"url\" : \"https://your-slack-url\"\n}\n```\n\nAlternatively, you can have more than one project on your configuration file:\n\n```json\n{\n    \"projects\" :\n    {\n        \"project-turnip\":\n        {\n            \"username\" : \"vikepic\",\n                \"channel\" : \"daily-standup-turnip\",\n                \"url\" : \"https://your-slack-url\"\n        },\n            \"project-avocado\":\n            {\n                \"username\" : \"vikepic\",\n                \"channel\" : \"daily-standup-avocado\",\n                \"url\" : \"https://your-slack-url\"\n            }\n    }\n}\n```\n\nIf that is the case, you can specify with the `--project` flag which one will you send the message to. If not specified, the program will prompt to you which of the existing projects you want to use to send your message:\n\n```\n? Multiple projects found. Please, select the project you want to send the results to. (Use arrow keys)\n❯ project-turnip\n  project-avocado\n```\n\nOnce selected, `standup-boy` will send the message to the project of your choice.\n\n## License\n\nMIT © [lts-beratung](https://www.lts-beratung.de/en.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flts-beratung%2Fstandup-boy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flts-beratung%2Fstandup-boy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flts-beratung%2Fstandup-boy/lists"}