A GitHub Action that generates the user's portfolio (creations) stats (Repositories and Gists). Perfect for profile readme customization!
Report bug Β Β·Β Request Feature
Table of Contents
The Creations Stats GitHub action helps you retrieve the latest repository details (and Gists) and lets you manage and exclude specific repositories. That repo is perfect for a Workflow-rich GitHub profile Readme to showcase your creations.
- Exclusions - Exclude some GitHub repos from showing in the profile readme to make the list cleaner
- Repository List Design - You can choose some designs based on your interest
Note
The repo-name and another-repo are basic repo name placeholders
- repo-name - β 5 - Useful repository description
- another-repo - β 3 - Another useful repository description
- repo-name - Useful repository description
- βοΈ MIT License
- β Stargazers: 5
- π΄ Forks: 3
- another-repo - Another useful repository description
- βοΈ MIT License
- β Stargazers: 3
- π΄ Forks: 1
Note
The default schedule above runs every 6 hours, which is suitable for most users. You can adjust the schedule based on the frequency:
cron: "0 6 * * *"(every 6 hours, recommended for most users)cron: '0 0 * * *'(every day)cron: '0 0 * * 0'(every week)cron: '0 0 1 * *'(every month)
Running the workflow too frequently (e.g., hourly) may cause temporary rate limits by the GitHub API (powered using Octokit). You can always trigger the workflow manually using workflow_dispatch whenever needed.
- In your GitHub profile repository (repository with the same name as your username), add the following comment tags:
## Portfolio <!-- CREATIONS-START --> <!-- CREATIONS-END -->
- Create a directory:
.github/workflows - Create the workflow named
creations.ymland use the following code:name: Creations workflow on: schedule: # Automatic run - cron: "0 6 * * *" # Runs every 6 hours workflow_dispatch: # Manual run from GitHub Actions Workflow page directly permissions: contents: write # Permission to write the generated contents jobs: update-portfolio: name: Update profile with recent repositories and gists runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Fetch portfolio from Github API uses: ArsenTech/creations-stats-workflow@v1.0.2 with: github-username: <your-username> repo-list-design: detailed
- Replace
<your-username>with your preferred GitHub username. - Go to Repository Settings > Actions > General, then update the "Workflow permissions" to "Read and write permissions", then click on save.
- Wait for it to run automatically, or trigger it manually to see the result instantly.
Example: https://github.com/ArsenTech/creations-stats-workflow/blob/main/examples/final-version.yml
This workflow has additional options for customization. The following is the list of available options:
| Option Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
github-username |
String | A Github username to show gists and Repositories | no default value | β |
exclusions |
String (with , as a separator) |
Repos to exclude from showing it | no default value | β |
target-file |
String | Target markdown file to place in the repo | README.md | β |
repo-limit |
Number | Limits how many repos to show | 20 | β |
gist-limit |
Number | Limits how many gists to show | 10 | β |
show-archives |
Boolean | Option to show archived Repositories | false |
β |
show-forks |
Boolean | Option to show forked Repositories | false |
β |
commit-message |
String | A custom commit message | "Update repos and gists stats" |
β |
repo-list-design |
minimal or detailed (Enum) |
Repository list item design type | "minimal" |
β |
repo-tag-name |
String | A name of the custom comment tag for placing repositories | "REPOS" |
β |
gist-tag-name |
String | A name of the custom comment tag for placing gists | "GISTS" |
β |
This website follows Semantic Versioning. You can view the full Changelog for details on each website version.
Contributions are Always Welcome! Please read both Code of Conduct and CONTRIBUTING.md before contributing.
Distributed under the MIT License. See LICENSE.md for more information.
GitHub @ArsenTech Β Β·Β YouTube @ArsenTech Β Β·Β Patreon ArsenTech Β Β·Β ArsenTech's Website
