https://github.com/seanwevans/braggard
Scrape a GitHub users' repositories and showcase them
https://github.com/seanwevans/braggard
github
Last synced: 5 days ago
JSON representation
Scrape a GitHub users' repositories and showcase them
- Host: GitHub
- URL: https://github.com/seanwevans/braggard
- Owner: seanwevans
- License: mit
- Created: 2025-07-07T20:12:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-16T22:51:28.000Z (11 months ago)
- Last Synced: 2025-10-30T10:35:21.947Z (9 months ago)
- Topics: github
- Language: Python
- Homepage:
- Size: 79.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
# Braggard
**Braggard** is an automated portfolio‑stats generator for GitHub developers.
It scans your repositories, extracts rich metrics, and publishes a shareable GitHub Pages site so you can showcase your coding prowess.
---
## ✨ Features
| Category | What you get |
|----------|--------------|
| **One‑command data grab** | `braggard collect ` hits the GitHub GraphQL API and stores raw JSON for reproducibility |
| **Deep analytics** | Lines‑of‑code per language, commit velocity, issue/PR impact, CI pass‑rate, test coverage, traffic analytics |
| **Beautiful dashboards** | Responsive static site built with Jinja + Chart.js + Tailwind, dark‑mode ready |
| **Automated deployment** | GitHub Action pushes updates to `gh-pages` nightly or on‑push |
| **Private‑repo friendly** | Supply a fine‑grained PAT and Braggard can include your private work in aggregate stats |
| **GitHub‑friendly requests** | Adds `User-Agent: braggard/` to API calls |
| **Social preview image** | Optional OG image generator so links look great on social media |
---
## 🚀 Quick start
```bash
# Install
pip install braggard
# Set a GitHub token (needs repo‑read + actions‑read)
export BRAGGARD_TOKEN=
# Run locally
braggard collect
braggard analyze
braggard render
braggard deploy # → pushes docs/ to gh-pages
```
The `braggard render` command accepts `--summary-path` to load a summary JSON
from a custom location instead of the default `summary.json`. Use `--format`
to choose between HTML (default), Markdown, or plain text output.
Or simply enable the supplied **GitHub Action** (`.github/workflows/braggard.yml`) and let it run unattended.
## 📝 Configuration
Braggard reads settings from `braggard.toml`. The file is searched for in
this order:
1. the path given on the command line or passed to `load_config`
2. `./braggard.toml` in the current directory
3. `$XDG_CONFIG_HOME/braggard/braggard.toml` or
`~/.config/braggard/braggard.toml`
The first file found is used; otherwise a `FileNotFoundError` is raised.
---
## 📚 Docs & meta‑files
* [ROADMAP](./ROADMAP.md) – delivery phases & milestones
* [SPEC](./SPEC.md) – technical specification & data model
* [ARCHITECTURE](./ARCHITECTURE.md) – component interactions & diagrams
* [CONTRIBUTING](./CONTRIBUTING.md) – how to hack on Braggard
* [SECURITY](./SECURITY.md) – vulnerability disclosure policy
* [CODE OF CONDUCT](./CODE_OF_CONDUCT.md)
---
## 🛠 Development
Install the development requirements and install the project in editable mode:
```bash
pip install -r requirements-dev.txt
pip install -e .
```
Run tests with `pytest` or use the pre‑commit hooks:
```bash
pre-commit run --all-files
```
---
## ❤️ Contributing
Pull‑requests are welcome! See [CONTRIBUTING](./CONTRIBUTING.md).
Released under the MIT License © 2025 Sean Evans.