{"id":29872370,"url":"https://github.com/seanwevans/braggard","last_synced_at":"2026-07-17T05:33:18.651Z","repository":{"id":303475801,"uuid":"1015639880","full_name":"seanwevans/braggard","owner":"seanwevans","description":"Scrape a GitHub users' repositories and showcase them","archived":false,"fork":false,"pushed_at":"2025-08-16T22:51:28.000Z","size":81,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-30T10:35:21.947Z","etag":null,"topics":["github"],"latest_commit_sha":null,"homepage":"","language":"Python","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/seanwevans.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-07T20:12:36.000Z","updated_at":"2025-08-21T21:13:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa8184c8-e17c-430e-a7b7-cff3868cba8d","html_url":"https://github.com/seanwevans/braggard","commit_stats":null,"previous_names":["seanwevans/braggard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/seanwevans/braggard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanwevans%2Fbraggard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanwevans%2Fbraggard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanwevans%2Fbraggard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanwevans%2Fbraggard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seanwevans","download_url":"https://codeload.github.com/seanwevans/braggard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanwevans%2Fbraggard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35569648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-17T02:00:06.162Z","response_time":116,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["github"],"created_at":"2025-07-30T20:10:32.185Z","updated_at":"2026-07-17T05:33:18.646Z","avatar_url":"https://github.com/seanwevans.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Braggard\n\n**Braggard** is an automated portfolio‑stats generator for GitHub developers.  \nIt scans your repositories, extracts rich metrics, and publishes a shareable GitHub Pages site so you can showcase your coding prowess.\n\n---\n\n## ✨ Features\n\n| Category | What you get |\n|----------|--------------|\n| **One‑command data grab** | `braggard collect \u003cuser\u003e` hits the GitHub GraphQL API and stores raw JSON for reproducibility |\n| **Deep analytics** | Lines‑of‑code per language, commit velocity, issue/PR impact, CI pass‑rate, test coverage, traffic analytics |\n| **Beautiful dashboards** | Responsive static site built with Jinja + Chart.js + Tailwind, dark‑mode ready |\n| **Automated deployment** | GitHub Action pushes updates to `gh-pages` nightly or on‑push |\n| **Private‑repo friendly** | Supply a fine‑grained PAT and Braggard can include your private work in aggregate stats |\n| **GitHub‑friendly requests** | Adds `User-Agent: braggard/\u003cversion\u003e` to API calls |\n| **Social preview image** | Optional OG image generator so links look great on social media |\n\n---\n\n## 🚀 Quick start\n\n```bash\n# Install\npip install braggard\n\n# Set a GitHub token (needs repo‑read + actions‑read)\nexport BRAGGARD_TOKEN=\u003cyour_pat\u003e\n\n# Run locally\nbraggard collect  \u003cyour‑github‑user\u003e\nbraggard analyze\nbraggard render\nbraggard deploy   # → pushes docs/ to gh-pages\n```\n\nThe `braggard render` command accepts `--summary-path` to load a summary JSON\nfrom a custom location instead of the default `summary.json`. Use `--format`\nto choose between HTML (default), Markdown, or plain text output.\n\nOr simply enable the supplied **GitHub Action** (`.github/workflows/braggard.yml`) and let it run unattended.\n\n## 📝 Configuration\n\nBraggard reads settings from `braggard.toml`. The file is searched for in\nthis order:\n\n1. the path given on the command line or passed to `load_config`\n2. `./braggard.toml` in the current directory\n3. `$XDG_CONFIG_HOME/braggard/braggard.toml` or\n   `~/.config/braggard/braggard.toml`\n\nThe first file found is used; otherwise a `FileNotFoundError` is raised.\n\n---\n\n## 📚 Docs \u0026 meta‑files\n\n* [ROADMAP](./ROADMAP.md) – delivery phases \u0026 milestones  \n* [SPEC](./SPEC.md) – technical specification \u0026 data model  \n* [ARCHITECTURE](./ARCHITECTURE.md) – component interactions \u0026 diagrams  \n* [CONTRIBUTING](./CONTRIBUTING.md) – how to hack on Braggard  \n* [SECURITY](./SECURITY.md) – vulnerability disclosure policy  \n* [CODE OF CONDUCT](./CODE_OF_CONDUCT.md)\n\n---\n\n## 🛠 Development\n\nInstall the development requirements and install the project in editable mode:\n\n```bash\npip install -r requirements-dev.txt\npip install -e .\n```\n\nRun tests with `pytest` or use the pre‑commit hooks:\n\n```bash\npre-commit run --all-files\n```\n\n---\n\n## ❤️ Contributing\n\nPull‑requests are welcome! See [CONTRIBUTING](./CONTRIBUTING.md).\n\nReleased under the MIT License © 2025 Sean Evans.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseanwevans%2Fbraggard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseanwevans%2Fbraggard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseanwevans%2Fbraggard/lists"}