{"id":14986067,"url":"https://github.com/devful/contribution-streak-maintainer","last_synced_at":"2025-04-11T20:32:33.422Z","repository":{"id":207410438,"uuid":"718910238","full_name":"devful/contribution-streak-maintainer","owner":"devful","description":"🔥 Automatically maintain your GitHub contribution streak with Contribution Streak Maintainer :octocat: ","archived":false,"fork":false,"pushed_at":"2024-02-19T01:38:08.000Z","size":660,"stargazers_count":15,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-09T23:05:26.475Z","etag":null,"topics":["collaborate","contribution","contribution-graph","github-actions","hacktoberfest","npm-package","open-source","open-source-project","opensource","standout"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/contribution-streak-maintainer","language":"TypeScript","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/devful.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"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}},"created_at":"2023-11-15T03:15:26.000Z","updated_at":"2025-04-07T08:49:56.000Z","dependencies_parsed_at":"2024-09-11T19:52:53.089Z","dependency_job_id":"a3eba784-de96-4122-87cf-85d11e6817eb","html_url":"https://github.com/devful/contribution-streak-maintainer","commit_stats":{"total_commits":92,"total_committers":3,"mean_commits":"30.666666666666668","dds":0.25,"last_synced_commit":"9b73978af6516d5b580069abdd92751ae01af0f8"},"previous_names":["devful/contribution-streak-maintainer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devful%2Fcontribution-streak-maintainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devful%2Fcontribution-streak-maintainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devful%2Fcontribution-streak-maintainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devful%2Fcontribution-streak-maintainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devful","download_url":"https://codeload.github.com/devful/contribution-streak-maintainer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248476545,"owners_count":21110309,"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","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":["collaborate","contribution","contribution-graph","github-actions","hacktoberfest","npm-package","open-source","open-source-project","opensource","standout"],"created_at":"2024-09-24T14:12:16.182Z","updated_at":"2025-04-11T20:32:32.828Z","avatar_url":"https://github.com/devful.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📅 Contribution Streak Maintainer\n\n\u003ca href=\"https://www.npmjs.com/package/contribution-streak-maintainer\"\u003e\n  \u003cimg src=\".github/csm-logo-560-transparent.png\" alt=\"Contribution Streak Maintainer Logo\" width=\"200\" align=\"right\" /\u003e\n\u003c/a\u003e\n\n[![npm](https://img.shields.io/npm/v/contribution-streak-maintainer)](https://www.npmjs.com/package/contribution-streak-maintainer) [![npm](https://img.shields.io/npm/dm/contribution-streak-maintainer)](https://www.npmjs.com/package/contribution-streak-maintainer) [![GitHub License](https://img.shields.io/github/license/devful/contribution-streak-maintainer)](https://github.com/devful/contribution-streak-maintainer/blob/main/LICENSE) [![GitHub Repo stars](https://img.shields.io/github/stars/devful/contribution-streak-maintainer)](https://github.com/devful/contribution-streak-maintainer/stargazers)\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/devful/contribution-streak-maintainer/test.yml)](https://github.com/devful/contribution-streak-maintainer/actions) [![GitHub issues](https://img.shields.io/github/issues/devful/contribution-streak-maintainer)](https://github.com/devful/contribution-streak-maintainer/issues) [![GitHub pull requests](https://img.shields.io/github/issues-pr/devful/contribution-streak-maintainer)](https://github.com/devful/contribution-streak-maintainer/pulls) [![GitHub contributors](https://img.shields.io/github/contributors/devful/contribution-streak-maintainer)](https://github.com/devful/contribution-streak-maintainer/graphs/contributors)\n\n\n![Test](https://github.com/devful/contribution-streak-maintainer/workflows/Test/badge.svg) [![GitHub last commit](https://img.shields.io/github/last-commit/devful/contribution-streak-maintainer)](https://github.com/devful/contribution-streak-maintainer/commits/main) [![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/devful/contribution-streak-maintainer)](https://github.com/devful/contribution-streak-maintainer) ![Codecov](https://img.shields.io/codecov/c/github/devful/contribution-streak-maintainer)\n\n- _Have you ever wanted to keep your contribution streak going but never been able to?_\n- _Do you find it challenging to make manual contributions every single day?_\n- _Worry no more!_\n\n**Contribution Streak Maintainer** is a tool, available as an [npm package](https://www.npmjs.com/package/contribution-streak-maintainer), designed to be used inside a GitHub Actions workflow. This npm package is utilized within your workflow, automatically maintaining your GitHub contribution streak. The GitHub Actions workflow, configured through YAML files, generates and pushes commits to your repository, ensuring your activity stays active even on days when you're not able to make manual contributions.\n\nNow you can focus on your work, knowing that your GitHub contributions are being taken care of automatically. Keep your streak alive effortlessly by integrating the Contribution Streak Maintainer npm package into your GitHub Actions workflow!\n\n## Installation\n\nHere is how to add my badges to your profile:\n\n1. Star this repository.\n2. Create a private repository `your-username/name-of-your-choice`\n3. Add the following workflow to your repository at `.github/workflows/contribution-streak-maintainer.yml`\n\n   ```yaml\n   name: contribution-streak-maintainer\n\n   on:\n     workflow_dispatch:\n     schedule:\n       # For more information on the cron scheduler,\n       # see https://crontab.guru/ or https://crontab.cronhub.io/.\n       # This cron schedule means the action runs every day at midnight UTC.\n       - cron: \"0 22 * * *\"\n\n   permissions:\n     contents: write\n\n   jobs:\n     contribution-streak-maintainer:\n       runs-on: ubuntu-latest\n       steps:\n         - name: Make a contribution\n           run: npx contribution-streak-maintainer ${{github.repository}} --email=primary-github-email@email.com\n           env:\n             DEVFUL_GITHUB_TOKEN: ${{ secrets.CSM_GITHUB_TOKEN }}\n   ```\n\n4. Create your own personal access tokens (classic)\n\n   1. [Verify your email address](https://docs.github.com/en/get-started/signing-up-for-github/verifying-your-email-address), if it hasn't been verified yet.\n   2. In the upper-right corner of any page, click your profile photo, then click **Settings**.\n   3. In the left sidebar, click **Developer settings**.\n   4. In the left sidebar, under **Personal access tokens**, click **Tokens (classic)**.\n   5. Click **Generate new token** button then **Generate new token (classic)**.\n   6. Under **Note**, enter a name for the token.\n   7. Under **Expiration**, select **No expiration** for the token.\n   8. Under **Select scopes**, check **repo**, **read:user**, **user:email**.\n      \u003cimg width=\"757\" alt=\"repo scope\" src=\"https://github.com/devful/contribution-streak-maintainer/assets/39487200/c84905db-db10-48fd-b110-83d1fe0fe3a6\"\u003e\n      \u003cimg width=\"757\" alt=\"read scope\" src=\"https://github.com/devful/contribution-streak-maintainer/assets/39487200/16a42184-21f3-429c-9a30-85ef19114610\"\u003e\n   9. Click **Generate token**.\n   10. Note down the generated token.\n\n5. Create a secret for your private repository\n   - Check out the [docs](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions#creating-secrets-for-a-repository)\n   - In the **Name** field, type `CSM_GITHUB_TOKEN`.\n   - In the **Secret** field, enter the newly generated token.\n\n\u003e **_NOTE:_** Ensure that the GitHub token (`CSM_GITHUB_TOKEN`) is kept private and not shared publicly.\n\n## Run Manually\n\nYou can start **contribution-streak-maintainer** workflow manually, or wait for it to run automatically.\n\nAlternatively, you can perform these steps manually:\n\n- Go to your newly created local repo.\n- Run `npx contribution-streak-maintainer \u003cusername\u003e/\u003crepository_name\u003e --email=\u003cemail\u003e --token=\u003ctoken\u003e --condition=\u003ccondition\u003e`\n  - Example: `npx contribution-streak-maintainer my-username --email=my-primary-github-email@email.com --token=gph_nJkKQKJKFb7YxqkLtFf3wvXyU6X --condition=6`\n- Verify changes in `AUTOMATED_CONTRIBUTIONS.md`.\n\n## Configuration\n\n| Param        | ENV alias             | Type   | Description                                                       | Required | Default |\n| ------------ | --------------------- | ------ | ----------------------------------------------------------------- | -------- | ------- |\n| `repository` | `DEVFUL_GITHUB_REPO`  | String | The owner and repository name. For example, `octocat/Hello-World` | Yes      |         |\n| `email`      |                       | String | Primary email address associated with your GitHub account         | Yes      |         |\n| `token`      | `DEVFUL_GITHUB_TOKEN` | String | Github Auth token                                                 | Yes      |         |\n| `condition`  |                       | String | Condition for contribution to be made                             | No       | 0       |\n\nBy default, this action runs daily, checks if the user has made any contribution, and generates a random number of commits between 1-3. If the user sets the condition to, for example, 5, the action will only make commits if the user has made 0-5 commits that day.\n\n## Authors\n\n- [@EliasAfara](https://www.github.com/eliasafara)\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevful%2Fcontribution-streak-maintainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevful%2Fcontribution-streak-maintainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevful%2Fcontribution-streak-maintainer/lists"}