Timed challenges played in your browser, with a Socratic mentor that guides you without revealing the solution. One command and you are in.
Runs on your Claude Code subscription
No API keys, no new accounts, nothing to configure.
$npx @juanwmedia/sharpen
sharpen listening on http://127.0.0.1:4517
✓ arena ready in your browser
✓ mentor on your Claude Code subscription
$ npx @juanwmedia/sharpenSharpen opens a local arena in your browser: a real Git terminal or a TypeScript workspace, and a Socratic AI mentor that nudges without giving the answer. Every Enter validates against the real board state and any correct solution passes. Practice at your own pace in learn mode, or put the clock on in challenge mode.

npm install -g @juanwmedia/sharpen sharpen npx @juanwmedia/sharpen sharpen updateSharpen is under active development and your eyes make it better. The arena does not replicate all of Git or TypeScript yet: each command lands when a challenge needs it, faithful to the real behavior. If something breaks, a challenge limps, or you miss a command or a challenge that should exist, tell me. Issues, ideas and PRs are welcome.
Sign up and I will write when new Sharpen challenges and features ship.
Stale paint
hard
Narrow the status
medium
One client
medium
Two doors
medium
Swallow the 500
medium
Forgot to await
medium
Then chain
easy
Pending receipt
easy
Pipe it
easy
Make the doc
easy
Weekend rate
easy
Config bleed
easy
List bleed
easy
Maybe null
easy
Stringly id
easy
Cart that lies
easy
Free shipping gate
easy
Tip jar lies
easy
Half-deleted
medium
Time machine recovery
medium
Tip belongs on a feature
medium
Soft landing, wrong branch
medium
Forgot the receipt
easy
Abort the experiment
medium
Wrong branch, wet paint
medium
Clean sweep
medium
The vanished file
easy
Leaked secret
easy
Staged but invisible
easy
Ship only the fix
easy
Not on main
easy
Take it back
easy
Save your work
easy