The free, fun way to track your AI coding.
Duolingo for AI-assisted development. Track your AI coding journey, level up your shipping, and rep your tool.
Parses session logs from Claude Code (and soon Cursor, Codex, OpenCode) to extract "Cognitive Commits" - the work that happens between git commits. Gamified analytics, faction leaderboards, and streaks make it fun to track your progress.
tuhnr push # import + sync to cloud
tuhnr stats # see your progress
tuhnr dashboard # browse locallyVisit tuhnr.com to browse your synced cognitive commits in the cloud.
npm install -g tuhnr# Authenticate with GitHub
tuhnr login
# Import from Claude Code and push to cloud (one command!)
tuhnr push
# Open the local dashboard
tuhnr dashboardtuhnr push # Import from Claude + push to cloud
tuhnr push --skip-import # Push existing commits only
tuhnr push --dry-run # Preview what would be pushed
tuhnr push --force # Re-sync all commits
tuhnr push --retry # Retry failed pushestuhnr import # Import all Claude Code projects
tuhnr import --clear # Clear existing data first
tuhnr import --redetect # Re-run project detectiontuhnr dashboard # Start local dashboard
tuhnr dashboard --port 3000tuhnr login # GitHub OAuth
tuhnr logout # Clear tokens
tuhnr whoami # Show current user
tuhnr pull # Pull from cloud
tuhnr sync # Bidirectional synctuhnr stats # View statistics
tuhnr stats --project myproject --json
tuhnr export --format=json -o backup.json
tuhnr export --format=markdown
tuhnr search "error handling"
tuhnr search "API" --project myproject
tuhnr prune --before 30d --dry-runThe Cognitive Commit captures the work between git commits:
| Git | Cognitive Commit |
|---|---|
| Many file changes → one commit | Many turns → one cognitive commit |
| Commit message = summary | First prompt = intent |
git diff shows what changed |
Turns show how it evolved |
What closes a Cognitive Commit:
- Git commit - links directly to a hash
- Session end - work done but not committed
- Explicit close - user manually marks boundary
tuhnr/
├── apps/
│ ├── cli/ # CLI tool (npm: tuhnr)
│ └── web/ # Next.js web platform
├── packages/
│ ├── types/ # Shared TypeScript types
│ ├── supabase/ # Supabase client & queries
│ └── ui/ # Shared UI components
└── docs/ # Documentation
- Node.js 18+
- pnpm 8+
git clone https://github.com/clokk/tuhnr.git
cd tuhnr
pnpm install
pnpm build# CLI development
pnpm dev --filter=tuhnr
# Web development
pnpm dev --filter=web~/.tuhnr/global/data.db- SQLite database~/.tuhnr/auth.json- Authentication tokens
MIT