https://github.com/charpeni/sync-external-contributions
📝 Sync your external contributions to GitHub :octocat:
https://github.com/charpeni/sync-external-contributions
contribution-graph contributions contributions-calendar git github
Last synced: 5 months ago
JSON representation
📝 Sync your external contributions to GitHub :octocat:
- Host: GitHub
- URL: https://github.com/charpeni/sync-external-contributions
- Owner: charpeni
- License: mit
- Created: 2017-09-03T19:59:10.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-08-13T16:35:02.000Z (about 1 year ago)
- Last Synced: 2025-05-06T04:58:12.659Z (5 months ago)
- Topics: contribution-graph, contributions, contributions-calendar, git, github
- Language: JavaScript
- Homepage:
- Size: 48.8 KB
- Stars: 41
- Watchers: 3
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sync External Contributions [](https://www.npmjs.com/package/sync-external-contributions)

Utilize [git-standup](https://github.com/kamranahmedse/git-standup) to read all your authored contributions on local repositories and generate a GitHub contribution activity for each commit linked to you.
**Privacy Focused:** The script respects your NDA and privacy by not copying commit content. Instead, it lists all authored commit SHAs and writes them to a file, ensuring a secure process.
## Purpose
This script is designed for situations where your work is not hosted on GitHub. Missing GitHub contributions can misrepresent your activity, especially when working on projects or contracts that use different source control systems.
> [!NOTE]
> **Should External Contributions Be Included?**
>
> The inclusion of external contributions in your GitHub activity is debatable. However, since GitHub allows displaying private contributions, including these can reflect your complete activity.## Usage
First, you'll need a git repository where the contributions will be synced.
Create it where you want it (e.g. `~/external-contributions`), run `git init` inside and push your initial commit with an empty file named `COMMITS`.
Create your repository on GitHub and add it as origin, origin will be automatically synced after each runs.
To sync every commits that you've done in `~/some-project` into `~/external-contributions`:
```
npx sync-external-contributions --source ~/some-project --destination ~/external-contributions
``````
Options--source string[] Source repositories to fetch commits
--destination string Destination repository to sync contributions into
--days number Specify the number of days back to include
--folder-depth Specify the number of subfolders to look for repos in source
--dry-run Will execute script without syncing
--force Force push to the destination (implicit with reset)
--reset Reset the destination repository
--silent Will not prompt
-h, --help
```## License
sync-external-contributions is [MIT Licensed](LICENSE).