An interactive terminal business card for Anthony Brignano. Run it with npx to get an animated, centered ASCII-art intro, a styled card with live GitHub stats, and quick actions — copy my email, open my socials, save my contact, or grab a scannable QR code.
npx brignano- Animated splash (
figlet+chalk): a light sweeps across the lettering to reveal the larch-amber monogram, a glint follows, and a tagline fades in beneath. Everything is centered on your terminal, and the banner steps down to a smaller font on narrow windows. - Styled business card (
boxen+chalk) with name, role, links and email, revealed line by line under the banner. - Live GitHub stats — follower/repo counts and my latest repo, fetched fresh with a strict ~1.5s timeout. If the network is slow or offline, the card renders instantly and just omits the live line. It never hangs.
- Interactive menu (
inquirer) that comes back after each action, so you can do several things in one sitting:- Copy my email to your clipboard
- Send me an email (
mailto:) - Open my GitHub / LinkedIn
- View my resume
- Save my contact as a
.vcf(opens in Contacts) - Show a scannable contact QR code
- Quit (or press Ctrl+C at any time)
The animation, network fetch, and prompt are all skipped automatically when output isn't a TTY (piped, CI, or --no-prompt), so it stays fast and never blocks scripts.
Colours come from @brignano/design, the
shared design system behind brignano.io, and follow its "one hue, one meaning"
rule: the banner is the monogram and takes the larch-amber mark; anything you
can act on (links, the selected menu row) is cobalt; confirmations are
forest, failures are rust, and everything else sits on the neutral ramp.
The hex values live in one place, src/tokens.ts, named after the CSS custom
properties they mirror; the dark set is the default and the light set is picked
when the terminal advertises a light background via COLORFGBG.
Icons come in three tiers so nothing ever renders as an empty box: full Unicode
where the terminal supports it; a set drawn from the blocks the legacy Windows
console's font does cover (it draws ★, › and arrows fine, just not ❯ or
✔); and plain ASCII on the Linux kernel console.
Run npx brignano --help to see this list.
| Flag | Description |
|---|---|
-h, --help |
Show help and exit. |
-v, --version |
Print the installed version and exit. |
-r, --view / --resume |
Open my resume in your default browser (https://brignano.io/resume). |
-e, --email |
Open your mail client with a new message to hi@brignano.io. |
--qr |
Print a scannable QR code to my website and exit. |
--vcard / --save-contact |
Save my contact card (.vcf) and open it. |
--no-animation |
Render the full card instantly, skipping the reveal animation. |
--no-prompt |
Show the card only and exit (non-interactive). |
-d, --download |
Deprecated alias for --view. |
Unrecognized flags exit with a non-zero status instead of silently falling back to the default card.
Note: as of
2.0.0,-vprints the version (the near-universal CLI convention). The resume now lives at-r, and the long--viewflag is unchanged.
npx brignano # full interactive experience
npx brignano --view # jump straight to my resume
npx brignano --version # print the version
npx brignano --qr # print a QR code to my site
npx brignano --vcard # save my contact card
npx brignano --no-prompt # card only (useful in CI/scripts)git clone https://github.com/brignano/card.git
cd card
npm install
npm run build
node dist/card.jsRunning it inside this repo:
npx brignanoresolves to this package'sbin(dist/), not the published one — anddist/is gitignored. On a fresh clone it will exit silently until you build. Usenpm run dev(runs the TypeScript directly, no build step), ornpm run buildfirst. To exercise the published package instead, runnpx brignanofrom any other directory.
The recording in demo.gif is produced by vhs/demo.tape. Re-record it from
the Actions tab (Demo GIF → Run workflow) after a visual change lands; the
workflow renders it on a Linux runner and pushes the new file back, so VHS
doesn't need to be installed locally.
Source lives in src/ (split into small modules — card.ts is the entry/bin
target) and compiles to dist/ via tsc. npm run dev runs the TypeScript
directly through tsx; npm run lint and npm run format use
Biome.
Only dist/ is published — the tarball is ~13 kB, so npx brignano stays a fast
cold start.
- Node.js >=20 (
npxships with npm).
- Links printed in the card are cmd/ctrl+clickable in supported terminals.
- The
--downloadflag is deprecated and now opens the resume in your browser instead of writing a local file.
Inspired by anmol098/npx_card.
ISC © Anthony Brignano
