8dc519443818d5eceee16a01e5f65a6711ce75c4
- save() follows symlinks, keeps permissions, uses a unique temp file and cleans it up on failure
- load() rejects entries that aren't {id, text, done}
- add() finds the max id with reduce (no spread limit)
- CLI accepts only plain digits as ids and reports save errors readably
- Ignore *.tmp
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-playground
A tiny todo CLI that exists to try out Claude Code features.
npm test
npm start -- add "try Claude Code"
npm start -- done 1
npm start -- ls
What's set up
| File | Claude Code feature |
|---|---|
CLAUDE.md |
Project memory, loaded into every session |
.claude/settings.json |
Shared permissions + a hook that syntax-checks .js files after every edit |
.claude/skills/changelog/ |
A custom skill — run /changelog |
.claude/agents/test-writer.md |
A custom subagent — "use the test-writer agent to…" |
Things to try
- "There's a bug in how ids are assigned after removing a todo — find it and fix it with a test."
- "Use the test-writer agent to cover
src/todo.js." - "Add a
--jsonflag tols." then/code-review /changelogafter a few commits- Press
shift+tabto cycle permission modes (e.g. plan mode before a bigger change) /memoryto edit CLAUDE.md,/agentsand/hooksto inspect the setup
Languages
JavaScript
91.4%
Shell
8.6%