{"_id":"@bobfromarcher/ghcard","_rev":"2-aed390d3f53c7fe70f1436f59f70a9be","name":"@bobfromarcher/ghcard","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@bobfromarcher/ghcard","version":"1.0.0","keywords":["github","profile","readme","svg","stats","stat-card","badge","github-profile","self-hosted","cli","zero-dependency","devtools"],"author":{"name":"bobfromarcher"},"license":"MIT","_id":"@bobfromarcher/ghcard@1.0.0","maintainers":[{"name":"bobfromarcher","email":"chrisbellth@gmail.com"}],"homepage":"https://github.com/bobfromarcher/ghcard#readme","bugs":{"url":"https://github.com/bobfromarcher/ghcard/issues"},"bin":{"ghcard":"bin/ghcard.js"},"dist":{"shasum":"7aae97632535b2ed66f4a904fe4b2d53a0dc8076","tarball":"https://registry.npmjs.org/@bobfromarcher/ghcard/-/ghcard-1.0.0.tgz","fileCount":4,"integrity":"sha512-2LgYG/sTbXoO64D9ryp+0sK12sN5hmTwtuDqjuMNBdwUw1CGQn0G6j6NIZ09x+1WpZIDfPxciuuWt3UbP2TF0A==","signatures":[{"sig":"MEUCIQDSeK0VXY6naCmQH7e5kkntsD6wYwGySk5jyc7ul6HkRwIgGLrenS8Up4cSJRk0XZx/+HHtxmHuXUT2t1fhUYuua/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17389},"engines":{"node":">=16"},"gitHead":"277c4a3135c05ece8ff09f7e4e1d350d5134f396","scripts":{"test":"node test/test.js","start":"node bin/ghcard.js"},"_npmUser":{"name":"bobfromarcher","email":"chrisbellth@gmail.com"},"repository":{"url":"git+https://github.com/bobfromarcher/ghcard.git","type":"git"},"_npmVersion":"11.11.0","description":"Generate self-contained SVG stat cards + a profile README from any GitHub account. No third-party image services — all SVG is rendered locally. Zero dependencies.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ghcard_1.0.0_1781947091274_0.5342540627483223","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bobfromarcher/ghcard","publishConfig":{"access":"public"},"version":"1.0.1","description":"Generate self-contained SVG stat cards + a profile README from any GitHub account. No third-party image services - all SVG is rendered locally. Zero dependencies.","bin":{"ghcard":"bin/ghcard.js"},"scripts":{"test":"node test/test.js","start":"node bin/ghcard.js"},"keywords":["github","profile","readme","svg","stats","stat-card","badge","github-profile","self-hosted","cli","zero-dependency","devtools"],"author":{"name":"bobfromarcher"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bobfromarcher/ghcard.git"},"bugs":{"url":"https://github.com/bobfromarcher/ghcard/issues"},"homepage":"https://github.com/bobfromarcher/ghcard#readme","engines":{"node":">=16"},"gitHead":"cf26f2ab337020f503b216f4f5de0a31bc925fc6","_id":"@bobfromarcher/ghcard@1.0.1","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-UIOj6ukqxvKYTVoJepR9gsyfQYsjpFiAur6yyQemx5wfjhSkzLYNJThbRLLsEKEbdzcL64lO4sXkTMMDsOacsg==","shasum":"0e3427778aad7d79bd8b526b3cd44783fe250de5","tarball":"https://registry.npmjs.org/@bobfromarcher/ghcard/-/ghcard-1.0.1.tgz","fileCount":4,"unpackedSize":17012,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC7VNKeni5w3KagHt8/J2ZijbsK+djjY2sqQD7b8t4zBwIgWItkcVpnrC3OWjEVN7CUqWHbJWmh0BdhrPy5MyJK3ng="}]},"_npmUser":{"name":"bobfromarcher","email":"chrisbellth@gmail.com"},"directories":{},"maintainers":[{"name":"bobfromarcher","email":"chrisbellth@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ghcard_1.0.1_1781948755898_0.5062287887993049"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-20T09:18:11.134Z","modified":"2026-06-20T09:45:56.262Z","1.0.0":"2026-06-20T09:18:11.480Z","1.0.1":"2026-06-20T09:45:56.022Z"},"bugs":{"url":"https://github.com/bobfromarcher/ghcard/issues"},"author":{"name":"bobfromarcher"},"license":"MIT","homepage":"https://github.com/bobfromarcher/ghcard#readme","keywords":["github","profile","readme","svg","stats","stat-card","badge","github-profile","self-hosted","cli","zero-dependency","devtools"],"repository":{"type":"git","url":"git+https://github.com/bobfromarcher/ghcard.git"},"description":"Generate self-contained SVG stat cards + a profile README from any GitHub account. No third-party image services - all SVG is rendered locally. Zero dependencies.","maintainers":[{"name":"bobfromarcher","email":"chrisbellth@gmail.com"}],"readme":"# ghcard\n\n[![npm](https://img.shields.io/npm/v/@bobfromarcher/ghcard?color=cb3837&logo=npm)](https://www.npmjs.com/package/@bobfromarcher/ghcard)\n[![CI](https://github.com/bobfromarcher/ghcard/actions/workflows/ci.yml/badge.svg)](https://github.com/bobfromarcher/ghcard/actions/workflows/ci.yml)\n[![license](https://img.shields.io/npm/l/@bobfromarcher/ghcard?color=blue)](LICENSE)\n[![zero deps](https://img.shields.io/badge/dependencies-0-success)](package.json)\n\nGenerates GitHub profile stat cards and a profile `README.md` for any account, and renders the SVG itself. Most profile READMEs pull their cards from a third-party image service that can rate-limit, break, or see your traffic. ghcard writes the SVG locally so the cards work offline and make no external requests. No dependencies, no AI.\n\n<p align=\"center\"><img src=\"demo.svg\" alt=\"ghcard generating cards and a profile readme\" width=\"500\"></p>\n\nThe cards are plain `.svg` files. Commit them to your profile repo and reference them in your README.\n\n## Install\n\n```bash\nnpm install -g @bobfromarcher/ghcard\n# or once:\nnpx @bobfromarcher/ghcard octocat\n```\n\n## Usage\n\n```bash\nghcard <username> [options]\n```\n\n| Option | Description |\n| --- | --- |\n| `--out <dir>` | Output directory (default `./ghcard-out`) |\n| `--theme <name>` | `dark`, `light` or `dracula` (default `dark`) |\n| `--readme` | Also generate a full profile `README.md` |\n| `--json` | Print aggregated JSON instead of writing files |\n| `--token <tok>` | GitHub token (or `GITHUB_TOKEN`) for higher rate limits |\n| `-h, --help` | Show help |\n| `-v, --version` | Show version |\n\n## Examples\n\n```bash\nghcard torvalds                          # stat and language cards (dark)\nghcard bobfromarcher --readme            # also a ready-to-commit profile README\nghcard octocat --theme light --out docs  # light theme into ./docs\nghcard octocat --json | jq '.totalStars'\n```\n\n## What it generates\n\n- `stats.svg`: name, total stars, forks, followers and public repos, with a staggered fade-in.\n- `languages.svg`: your most-used languages as bars, colored with GitHub's language palette.\n- `README.md` (with `--readme`): a centered header, both cards embedded, a featured-projects grid of your top-starred repos, and a short summary.\n\nThree themes are built in (`dark`, `light`, `dracula`). Values come from the public GitHub REST API. Forks are excluded from your star and language totals so the numbers reflect your own work.\n\n## Rate limits\n\nUnauthenticated GitHub API calls are limited to 60 per hour. For heavier use, pass a token. Any classic token with no scopes works for public data:\n\n```bash\nGITHUB_TOKEN=ghp_xxx ghcard yourname --readme\n```\n\n## Development\n\n```bash\ngit clone https://github.com/bobfromarcher/ghcard\ncd ghcard\nnode test/test.js\n```\n\nCI runs the suite on Node 18, 20 and 22 across Linux, macOS and Windows.\n\n## License\n\nMIT, bobfromarcher.\n","readmeFilename":"README.md"}