{"id":49335946,"url":"https://github.com/nilbuild/git-standup","last_synced_at":"2026-04-30T04:01:07.904Z","repository":{"id":37932968,"uuid":"55859203","full_name":"nilbuild/git-standup","owner":"nilbuild","description":"Recall what you or your team did on the last working day","archived":false,"fork":false,"pushed_at":"2025-07-07T22:48:42.000Z","size":102,"stargazers_count":7824,"open_issues_count":24,"forks_count":322,"subscribers_count":84,"default_branch":"master","last_synced_at":"2026-04-26T10:27:29.344Z","etag":null,"topics":["agile","git","git-","git-addons","git-standup","meeting","standup"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/nilbuild.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"kamranahmedse"}},"created_at":"2016-04-09T17:59:00.000Z","updated_at":"2026-04-24T17:20:51.000Z","dependencies_parsed_at":"2023-02-09T15:17:01.939Z","dependency_job_id":"a757923b-cc1d-47b5-9aff-71d1024f180f","html_url":"https://github.com/nilbuild/git-standup","commit_stats":{"total_commits":134,"total_committers":40,"mean_commits":3.35,"dds":0.3656716417910447,"last_synced_commit":"77051befaa323cb65db41de78f3738b3f3524fae"},"previous_names":["nilbuild/git-standup"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/nilbuild/git-standup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilbuild%2Fgit-standup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilbuild%2Fgit-standup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilbuild%2Fgit-standup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilbuild%2Fgit-standup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nilbuild","download_url":"https://codeload.github.com/nilbuild/git-standup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilbuild%2Fgit-standup/sbom","scorecard":{"id":549015,"data":{"date":"2025-08-11","repo":{"name":"github.com/kamranahmedse/git-standup","commit":"a8031b89636791936fa00c3e64799748572a9e11"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Code-Review","score":5,"reason":"Found 16/28 approved changesets -- score normalized to 5","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":"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":"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":"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":"Maintained","score":0,"reason":"1 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":"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":"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":"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":"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 18 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-20T10:17:11.214Z","repository_id":37932968,"created_at":"2025-08-20T10:17:11.214Z","updated_at":"2025-08-20T10:17:11.214Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32454170,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"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","git","git-","git-addons","git-standup","meeting","standup"],"created_at":"2026-04-27T01:00:30.251Z","updated_at":"2026-04-30T04:01:07.892Z","avatar_url":"https://github.com/nilbuild.png","language":"Shell","readme":"# git-standup\n\n\u003e Recall what you did on the last working day ..or be nosy and find what someone else did.\n\nA little tool that I always wanted for myself. I work on several repositories on daily basis and it is mostly difficult for me to remember where I left off in each one of them. `git-standup` helps me with running standups and keeping track of what I have been doing. By default it gives you the most common usage i.e. shows you commits from the last working day in the current directory and the directories below current level plus it comes with several options to modify how it behaves.\n\n\n## Requirements\nThe only requirement is having good commit messages :)\n\n![](https://i.imgur.com/yL03GkB.png)\n\n## Install\n\nYou can install `git-standup` using one of the options listed below\n\n| Source | Command |\n| --- | --- |\n| curl | `curl -L https://raw.githubusercontent.com/kamranahmedse/git-standup/master/installer.sh \\| sudo sh` |\n| npm | `npm install -g git-standup` |\n| brew | `brew update \u0026\u0026 brew install git-standup` |\n| aur | `pacaur -S git-standup-git` |\n| manual | Clone and run `make install` |\n\n## Usage\n\nSimply run it in your project directory and it will give you the output from the last working day\n\n```shell\ngit standup\n```\n\nIf you run it in a folder containing multiple git repositories, it will go through each of the projects and give you the standup report for each one of them.\n\n## Options\n\nYou can pass several options to modify how git-standup behaves\n\n```shell\ngit standup [-a \u003cauthor name\u003e]\n            [-w \u003cweekstart-weekend\u003e]\n            [-m \u003cmax-dir-depth\u003e]\n            [-F]\n            [-b \u003cbranch-to-use\u003e]\n            [-d \u003csince-days-ago\u003e]\n            [-u \u003cuntil-days-ago\u003e]\n            [-D \u003cdate-format\u003e]\n            [-A \u003cafter-date\u003e]\n            [-B \u003cbefore-date\u003e]\n            [-L]\n            [-g]\n            [-h]\n            [-f]\n            [-s]\n            [-r]\n            [-c]\n            [-R]\n```\n\nHere is the detail for each of the options\n\n| Option | Description |\n| --- | --- |\n| a | Specify author to restrict search to e.g. `-a \"Kamran Ahmed\"` or `-a \"all\"` |\n| b | Specify branch to restrict search to (unset: all branches, \"\\$remote/\\$branch\" to include fetches) |\n| w | Specify week start and end days e.g. in UAE weekdays are from Sunday to Thursday so you can do `-w SUN-THU`|\n| m | Specify the depth of recursive directory search e.g. `-m 3` defaults to two |\n| F | Force recursion up to specified depth even when git repository found earlier |\n| d | Specify the number of days back to include e.g. `-d 30` to get for a month |\n| u | Specify the number of days back till which standup should run e.g. `-u 3` |\n| L | Toggle inclusion of symbolic links in recursive directory search |\n| D | Specify the date format for \"git log\" (default: relative) [possible values](https://git-scm.com/docs/git-log#Documentation/git-log.txt---dateltformatgt) |\n| A | Show the commits till after the given date\n| B | Show the commits till before the given date\n| h | Display the help screen |\n| g | Show if commit is GPG signed (G) or not (N) |\n| f | Fetch the latest commits beforehand |\n| s | Silences the no activity message (useful when running in a directory having many repositories) |\n| c | Show diff-stat for every matched commit\n| r | Generates the standup report file `git-standup-report.txt` in the current directory |\n| R | Display the author date instead of the committer date |\n\nFor the basic usage, all you have to do is run `git standup` in a repository or a folder containing multiple repositories\n\n## Single Repository Usage\n\nTo check all your personal commits from last working day, head to the project repository and run\n\n```shell\n$ git standup\n```\n\n![git standup](http://i.imgur.com/wyo4s9E.gif)\n\n## Multiple Repository Usage\nOpen a directory having multiple repositories and run\n\n```shell\n$ git standup\n```\n\n![git standup](http://i.imgur.com/4xmkA49.gif)\n\nThis will show you all your commits since the last working day in all the repositories inside.\n\n## Directory depth\n\nBy default the script searches only in the current directory or one\nlevel deep. If you want to increase that, use the `-m` switch.\nIf the base directory is a git repository you can use the `-F` switch to force the recursion.\n\n```shell\n$ git standup -m 3\n```\n\n## Checking someone else's commits\n\nIf you want to find out someone else's commits do\n\n```shell\n# Considering their name on git is \"John Doe\"\n$ git standup -a \"John Doe\"\n```\n\nApart from restrict to commits from a certain user, you can also use `-a` flag to avoid certain users. You can do that if you enable perl regexp in your git installation `git config --global grep.patternType perl`, and use the author filter like below:\n\n```shell\ngit standup -a'^(?!(renovate\\[bot\\]))'\n```\n\n![git standup](http://i.imgur.com/sYICxW8.gif)\n\n## Check what every contributor did\n\nIf you want to find out someone else's commits do\n\n```shell\n$ git standup -a \"all\"\n```\n\n## Commits from `n` days ago\n\nIf you would like to show all your/someone else's commits from n days ago, you can do\n\n```shell\n# Show all my commits from 4 days ago\n$ git standup -d 4\n\n# Show all John Doe's commits from 5 days ago\n$ git standup -a \"John Doe\" -d 5\n```\n\n![git standup -d 5](http://i.imgur.com/j7Ma760.gif)\n\n## Date filters\n\nYou can apply the filters on the commits shown. Use `-A` and `-B` flags to specify `after` and `before` dates\n\n```shell\n# Show all the commits after October 01, 2018\ngit standup -A \"2018-10-01 00:00\"\n# Show all the commits till before October 01, 2018\ngit standup -B \"2018-10-01 00:00\"\n# Show the commits between September 20 and September 30\ngit standup -A \"2018-09-20 00:00:00\" -B \"2018-09-30 23:59\"\n```\n\n## Show Diff-stat\n\nAdd `-c` flag to show the diff-stat for each of the commits in standup results\n```shell\ngit standup -c\n```\n\n## [Identifying Signed Commits](https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work)\n\nAdd `-g` flag to check the GPG info\n\n```shell\n$ git standup -g\n```\n\n![GPG Info](http://i.imgur.com/bwJzPft.gif)\n\n## Specifying the date format\n\nAdd `-D` flag to specify the date format. Default is `relative`\n\nPlease note that it accepts the same format that you could pass while doing git log. For example\n\n```shell\n$ git standup -D relative\n# Or instead of relative, it could be local|default|iso|iso-strict|rfc|short|raw etc\n```\n\n## Branch Filter\n\nUse of `-b foobar` option, which restricts returned results to commits present on branch `foobar`. Supports arbitrary branch specs, so for example `-b origin/foobar` would include data present on the remote that has not been merged locally.\n\n```shell\n# Use develop branch for standup\ngit standup -b develop\n```\n\n### Directory whitelisting\n\nIf you want to restrict the standup to some paths, you can whitelist them by adding them to a `.git-standup-whitelist` file. For example if you have the below directory structure\n\n    ├── Workspace              # All your projects are here\n    │   ├── project-a          # Some git repository called project-a\n    │   ├── project-b          # Some git repository called project-b\n    │   ├── sketch-files       # Some sketch files\n    │   ├── mockups            # Some balsamiq mockups\n    │   └── ...                # etc.\n    └── ...\n\nAnd you want the `git-standup` to show logs for only `project-a` and `project-b`, you can do that by creating a `.git-standup-whitelist` file under the `Workspace` directory with the below contents and it will only consider these directories for the standup\n\n```\nproject-a\nproject-b\n```\n\n## Changing the Weekdays\n\nBy default, it considers that the work week starts on Monday and ends on Friday. So if you are running this on any day between Tuesday and Friday, it will show you your commits from the last day. However, if you are running this on Monday, it will show you all your commits since Friday.\n\nIf you want to change this, like I want because here in Dubai working days are normally Sunday to Thursday, you will have to do the following\n\n```shell\n$ git standup -w \"SUN-THU\"\n```\n\n## Fetch commits before showing standup\n\nIf you have many repositories that you want to generate a standup for, it may be useful to automatically run `git fetch` before viewing the standup.\n\nIf you would like to automatically run `git fetch --all` before printing the standup, you can add the `-f` flag, as show below\n\n```shell\n$ git standup -f\n```\n\n## Mixing options\n\nOf course you can mix the options together but please note that if you provide the number of days, it will override the weekdays configuration (`MON-FRI`) and will show you the commits specifically from `n` days ago.\n\n```shell\n# Show all the John Doe's commits from 5 days ago\n$ git standup -a \"John Doe\" -d 5\n```\n\n## License\n\nMIT © [Kamran Ahmed](http://kamranahmed.info)\n","funding_links":["https://github.com/sponsors/kamranahmedse"],"categories":["🛠️ Developer Tools","Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnilbuild%2Fgit-standup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnilbuild%2Fgit-standup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnilbuild%2Fgit-standup/lists"}