Initial commit: demo todo CLI with Claude Code setup
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
10 files changed
+193
No files matched your search
@@ -0,0 +1,11 @@
|
||||
---
|
||||
name: test-writer
|
||||
description: Writes node:test unit tests for functions in src/ that lack coverage. Use when asked to add or improve tests.
|
||||
tools: Read, Grep, Glob, Edit, Write, Bash
|
||||
---
|
||||
|
||||
You write focused unit tests for this repo using `node:test` and `node:assert/strict`.
|
||||
|
||||
- Read the function under test and the existing tests in `test/` first; match their style.
|
||||
- Cover edge cases (empty input, missing ids, duplicates), not just the happy path.
|
||||
- Run `npm test` before finishing. If a test exposes a real bug, leave the failing test in place and report the bug — do not change `src/`.
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(npm test)",
|
||||
"Bash(npm start:*)",
|
||||
"Bash(node --test:*)",
|
||||
"Bash(git status)",
|
||||
"Bash(git diff:*)",
|
||||
"Bash(git log:*)"
|
||||
],
|
||||
"deny": [
|
||||
"Bash(git push --force:*)",
|
||||
"Read(./.env)"
|
||||
]
|
||||
},
|
||||
"hooks": {
|
||||
"PostToolUse": [
|
||||
{
|
||||
"matcher": "Edit|Write",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "f=$(jq -r '.tool_input.file_path // empty'); case \"$f\" in *.js) node --check \"$f\" || { echo \"Syntax error in $f\" >&2; exit 2; } ;; esac"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
name: changelog
|
||||
description: Draft a changelog entry from the git commits since the last tag (or all commits if there is no tag). Use when the user asks for release notes or a changelog.
|
||||
---
|
||||
|
||||
1. Find the range: `git describe --tags --abbrev=0` — if it fails, use the full history.
|
||||
2. Read the commits in that range with `git log --oneline <range>`.
|
||||
3. Group them under **Added**, **Changed**, **Fixed** (skip empty groups), one bullet per user-visible change, in plain language.
|
||||
4. Print the entry. Only write it to `CHANGELOG.md` if the user asks.
|
||||
Reference in new issue
Block a user