codex-wrapped-christmas
v1.0.4
Published
Generate a personalized Spotify Wrapped-style summary of your Codex usage
Downloads
514
Maintainers
Readme
codex-wrapped-christmas
Your year in code, beautifully visualized.
Generate a personalized "Spotify Wrapped"-style summary of your Codex usage. This is a fork of codex-wrapped by Numman Ali - but with a Christmas Twist and more data points.
Installation
Quick Start
Run directly without installing:
npx codex-wrapped-christmas # or bunx, or yarn/pnpm dlxGlobal Install
npm install -g codex-wrapped-christmas # or bun/yarn/pnpmThen run anywhere:
codex-wrapped-christmasUsage Options
| Option | Description |
| --------------- | ------------------------------------ |
| --year, -y | Generate wrapped for a specific year |
| --no-projects | Hide project names in the image |
| --help, -h | Show help message |
| --version, -v | Show version number |
Features
- Sessions, messages, tokens, projects, and streaks
- GitHub-style activity heatmap
- Top models and providers breakdown
- Usage cost (when available)
- Shareable PNG image
- Inline image display (Ghostty, Kitty, iTerm2, WezTerm, Konsole)
- Auto-copy to clipboard
What's New in This Fork
- Model usage bars with an "Other" bucket
- Time-of-day heatmap (7x24, local time)
- Top projects list ranked by token usage
- Model switching stats (total switches, dominant share)
- Data pipeline upgrades for project/hourly/model totals
- Layout, palette, and rendering fixes (see
CHANGELOG.md)
Terminal Support
The wrapped image displays natively in terminals that support inline images:
| Terminal | Protocol | Status | | ------------------------------------------ | -------------- | --------------------------- | | Ghostty | Kitty Graphics | Full support | | Kitty | Kitty Graphics | Full support | | WezTerm | Kitty + iTerm2 | Full support | | iTerm2 | iTerm2 Inline | Full support | | Konsole | Kitty Graphics | Full support | | Other terminals | — | Image saved to file only |
Output
The tool generates:
- Terminal Summary — Quick stats overview in your terminal
- PNG Image — A beautiful, shareable wrapped card saved to your home directory
- Clipboard — Automatically copies the image to your clipboard
Data Source & Network (updated from the original Repo by Numman)
Codex Wrapped reads usage data locally from:
~/.codex/ (history.jsonl, sessions, logs)It also makes two optional network requests to improve model names and cost estimates:
- https://models.dev/api.json (model/provider display names)
- https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json (pricing data)
If these requests fail or are blocked, the tool still works using local data only (with fallback model names and without cost where unavailable).
Building
Development
# Run in development mode with hot reload
bun run devProduction Build
# Build for all platforms
bun run buildReleasing
Releases are automated via semantic-release. Merging PRs with conventional commits to main triggers a release.
Tech Stack
- Runtime: Bun
- Image Generation: Satori + Resvg
- CLI UI: @clack/prompts
- Font: IBM Plex Mono
Third-Party Notices
See THIRD_PARTY_NOTICES.md for third-party licenses and trademark notices.
Trademark Notice
OpenAI and Codex are trademarks of OpenAI, LLC. The Codex name and logo are used for identification purposes only. No endorsement or affiliation is claimed.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE for details.
Built for the Codex community
Credit: ccusage
