Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Bring receipts from your Claude Code sessions
| Date | Stars |
|---|---|
| 2026-07-24 | 622 |
| 2026-07-25 | 622 |
| 2026-07-28 | 621 |
| 2026-07-30 | 621 |
| 2026-08-06 | 621 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Claude Receipts
> **A note from the author:**
>
> This has been one of my favourite creative side projects yet (and just in time for Opus 4.6).
>
> I picked up a second hand receipt printer and hooked it up to Claude Code's `SessionEnd` hook. With some `ccusage` wrangling, a receipt is printed, showing a breakdown of that session's spend by model, along with token counts.
>
> It's dumb, the receipts are beautiful, and I love it so much.
>
> I hope you enjoy it too.

<details>
<summary><strong>More photos / screenshots</strong></summary>
## Full thermal receipt

## HTML receipt

</details>
## Installation
```bash
npx claude-receipts setup
```
This will:
- Configure the `SessionEnd` hook in your global `~/.claude/settings.json`
- Create a config file at `~/.claude-receipts.config.json`
From now on, every time you exit a Claude Code session, your receipt will be generated and opened in your browser.
### Manual generation
Generate a receipt for your most recent session:
```bash
npx claude-receipts generate
```
## Commands
### `generate`
Generate a receipt for a Claude Code session.
```bash
# Generate for most recent session
npx claude-receipts generate
# Generate HTML (saved to ~/.claude-receipts/projects/)
npx claude-receipts generate --output html
# Print to thermal printer
npx claude-receipts generate --output printer --printer usb
# Multiple outputs (HTML + printer)
npx claude-receipts generate --output html,printer
# Specific session by UUID prefix
npx claude-receipts generate --session 9356d5e2
# Override location
npx claude-receipts generate --location "Paris, France"
```
**Options:**
- `-s, --session <id>` - Generate for a specific session ID or UUID prefix
- `-o, --output <format>` - Output format: "html", "console", or "printer" (supports multiple, comma-separated)
- `-l, --location <text>` - Override location detection
- `-p, --printer <name>` - Printer interface (e.g., "usb", "tcp://192.168.1.100")
**Output Formats:**
- `html` - Beautiful styled receipt saved to `~/.claude-receipts/projects/`
- `console` - ASCII art display in terminal
- `printer` - Send to thermal printer (requires Epson TM-T88V or compatible)
### `setup`
Configure automatic receipt generation.
```bash
# Run interactive setup
npx claude-receipts setup
# Uninstall the hook
npx claude-receipts setup --uninstall
```
This modifies `~/.claude/settings.json` to add a SessionEnd hook that automatically generates receipts.
### `config`
Manage your receipt configuration.
```bash
# Show current configuration
npx claude-receipts config --show
# Set a configuration value
npx claude-receipts config --set location="Kuala Lumpur, Malaysia"
npx claude-receipts config --set timezone="Asia/Kuala_Lumpur"
npx claude-receipts config --set printer=usb
# Reset to defaults
npx claude-receipts config --reset
```
**Available settings:**
- `location` - Default location (string)
- `timezone` - Timezone for dates (string, e.g., "Asia/Macau")
- `printer` - Default printer interface (string, e.g., "usb" or "tcp://192.168.1.100")
## Configuration
Configuration is stored at `~/.claude-receipts.config.json`.
**Default configuration:**
```json
{
"version": "1.0.0"
}
```
**Optional settings:**
- `location` - Custom location string (otherwise auto-detected)
- `timezone` - Custom timezone for date formatting
- `printer` - Default printer interface for thermal printing
### Location Detection
Location is determined in this order:
1. `--location` flag (if provided)
2. Config file `location` setting
3. Auto-detection via IP geolocation (offline, using geoip-lite)
4. Fallback: "The Cloud"
## How It Works
1. **SessionEnd Hook**: When you exit Claude Code, it calls `npx claude-receipts generate --output html` via stdin with the session ID
2. **Data CollectioExcerpt of 7,211 characters
Read on GitHub11
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:f9e2ce7d28e05cc5, topic:vibe-coding