| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A fully automated GitHub repository analyzer that counts lines of code across all your repositories and updates stats dynamically. Runs on the default branch of each repo and skips forks.
[ LANGUAGES BREAKDOWN ] TypeScript --> 343,763 lines JavaScript --> 123,742 lines JSX --> 20,576 lines PHP --> 5,248 lines Others --> 9,942 lines [ TOTAL LINES OF CODE: 503,271 ]
Stats update automatically via GitHub Actions.
This GitHub Action automatically fetches all your public repositories (excluding forks), clones the default branch, and analyzes lines of code using cloc. It then updates the repository’s README.md with the latest code statistics. The workflow runs by default every Sunday at midnight UTC (customizable), keeping your stats up to date.
Add the Workflow File
Copy the analyze-code.yml file into your repository at:
.github/workflows/analyze-code.yml
Then commit and push the changes.
Generate a GitHub Personal Access Token (PAT)
You need a Personal Access Token (PAT) with repo permissions.
Refer to GitHub Docs on how to generate one.
Add the Token to Repository Secrets
Update Workflow Permissions
In the repository where you're running the action, make sure to update workflow permissions:
Trigger the Workflow
on:
push:
branches:
- mainWait for Processing
The time taken depends on the number of repositories and their sizes. Once completed, your README.md will be updated with the latest lines of code breakdown.
Ensure Placeholders Are Present
To allow automatic updates, your README.md must include the following placeholders:
<!-- LANGUAGES BREAKDOWN START -->
[ LANGUAGES BREAKDOWN ] TypeScript --> 343,763 lines JavaScript --> 123,742 lines JSX --> 20,576 lines PHP --> 5,248 lines Others --> 9,942 lines [ TOTAL LINES OF CODE: 503,271 ]
<!-- LANGUAGES BREAKDOWN END -->
The workflow will update the stats between these markers. *Remove `(STATIC EXAMPLE)` when adding it in your README, as it's just a placeholder. It's included here only to prevent automatic updates in this README.* ### Configure languages The workflow uses cloc **language names** (not file extensions). - **HIGHLIGHT_LANGS** → languages shown individually in the README; everything else is grouped under **Others** - **IGNORE_LANGS** → languages dropped completely (not shown, not counted) Edit these in `.github/workflows/analyze-code.yml` under the job `env:` block: ```yaml env: # Use cloc LANGUAGE NAMES (not extensions). Example: "Vuejs Component" for .vue, "C#" for C# # HIGHLIGHT_LANGS: show these languages individually; everything else goes to "Others" HIGHLIGHT_LANGS: "JavaScript,TypeScript,JSX,Vuejs Component,PHP,C#" # IGNORE_LANGS: drop these languages entirely (not shown and not counted) IGNORE_LANGS: "JSON,HTML,CSS,SCSS,Sass,Markdown,SVG,XML,YAML,TOML,CSV,Text,Properties"
The workflow asks cloc to exclude languages using cloc’s own filter, so totals match cloc’s SUM:
cloc . --json --report-file=../output/cloc-output.json --exclude-lang="${IGNORE_LANGS}"For a complete list of language names supported by cloc, see the cloc documentation.
Soon, I'll be pushing changes to configure workflow execution based on a JSON configuration.
This will allow you to:
This feature will be updated shortly.
Contributions are welcome! Feel free to fork the repository, submit a PR, or open an issue.
| Back | FazBrowse Home | New Git URL |