tlc-claude-code 2.4.5 → 2.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/tlc/init.md +8 -0
- package/.claude/hooks/tlc-prompt-guard.sh +8 -0
- package/CLAUDE.md +3 -0
- package/bin/install.js +4 -2
- package/package.json +2 -1
|
@@ -233,6 +233,7 @@ This project uses **TLC (Test-Led Coding)** for all planning and development.
|
|
|
233
233
|
- **NO** `TaskCreate`, `TaskUpdate`, `TaskList` for project planning
|
|
234
234
|
- **NO** `EnterPlanMode` - use `/tlc:plan` instead
|
|
235
235
|
- **NO** creating implementation plans in responses - use `/tlc:plan` to create PLAN.md files
|
|
236
|
+
- **NO** writing to Claude's personal memory files — use `/tlc:remember` for decisions/notes and `/tlc:new-milestone` for feature ideas
|
|
236
237
|
|
|
237
238
|
**When asked to plan or implement features:**
|
|
238
239
|
1. Run `/tlc:progress` first to see current state
|
|
@@ -240,6 +241,11 @@ This project uses **TLC (Test-Led Coding)** for all planning and development.
|
|
|
240
241
|
3. Use `/tlc:build <phase>` to implement (test-first)
|
|
241
242
|
4. Plans go in `.planning/phases/` not in chat responses
|
|
242
243
|
|
|
244
|
+
**When asked to remember, log, or save a note:**
|
|
245
|
+
- Use `/tlc:remember` — saves to `.tlc/memory/team/` (visible to all team members)
|
|
246
|
+
- Use `/tlc:new-milestone` — adds to `.planning/ROADMAP.md` for future phases
|
|
247
|
+
- **NEVER** write to `~/.claude/projects/*/memory/` — that's Claude's personal memory, not the project's
|
|
248
|
+
|
|
243
249
|
## Git Commits
|
|
244
250
|
|
|
245
251
|
**DO NOT add `Co-Authored-By` lines to commits.** The user is the author. You are a tool.
|
|
@@ -264,6 +270,8 @@ This project uses **TLC (Test-Led Coding)** for all planning and development.
|
|
|
264
270
|
| Build (test-first) | `/tlc:build` |
|
|
265
271
|
| Verify with human | `/tlc:verify` |
|
|
266
272
|
| Log a bug | `/tlc:bug` |
|
|
273
|
+
| Remember/log/note | `/tlc:remember` |
|
|
274
|
+
| New feature idea | `/tlc:new-milestone` |
|
|
267
275
|
|
|
268
276
|
## Test-First Development
|
|
269
277
|
|
|
@@ -57,6 +57,14 @@ if echo "$MSG_LOWER" | grep -qE '\b(refactor|clean.?up|restructure|reorganize|si
|
|
|
57
57
|
fi
|
|
58
58
|
fi
|
|
59
59
|
|
|
60
|
+
# Remember/log/note intent
|
|
61
|
+
if echo "$MSG_LOWER" | grep -qE '\b(remember|log (this|it)|save.*(note|this)|note.*(down|this)|don.t forget|keep.*(track|note))\b'; then
|
|
62
|
+
if ! echo "$MSG_LOWER" | grep -qE '/tlc'; then
|
|
63
|
+
echo "[TLC-ENFORCE] Memory/note detected. Use /tlc:remember to save decisions and notes (writes to .tlc/memory/team/). Use /tlc:new-milestone for feature ideas (writes to .planning/ROADMAP.md). Do NOT write to Claude's personal memory files. Invoke Skill(skill=\"tlc:remember\") now."
|
|
64
|
+
exit 0
|
|
65
|
+
fi
|
|
66
|
+
fi
|
|
67
|
+
|
|
60
68
|
# Deploy intent
|
|
61
69
|
if echo "$MSG_LOWER" | grep -qE '\b(deploy|ship|release|publish|push to prod|staging)\b'; then
|
|
62
70
|
if ! echo "$MSG_LOWER" | grep -qE '/tlc'; then
|
package/CLAUDE.md
CHANGED
|
@@ -55,6 +55,9 @@ When the user says X → invoke `Skill(skill="tlc:...")`:
|
|
|
55
55
|
| "e2e", "screenshot", "visual check" | `/tlc:e2e-verify` |
|
|
56
56
|
| "guard", "check process", "validate" | `/tlc:guard` |
|
|
57
57
|
| "preflight", "am I done", "check gaps" | `/tlc:preflight` |
|
|
58
|
+
| "remember", "log this", "save note" | `/tlc:remember` |
|
|
59
|
+
| "new feature idea", "add milestone" | `/tlc:new-milestone` |
|
|
60
|
+
| "what did we decide", "recall" | `/tlc:recall` |
|
|
58
61
|
|
|
59
62
|
## TLC File System
|
|
60
63
|
|
package/bin/install.js
CHANGED
|
@@ -173,13 +173,15 @@ function install(targetDir, installType) {
|
|
|
173
173
|
// Install hooks (plugin system)
|
|
174
174
|
const hooksInstalled = installHooks(targetDir, packageRoot);
|
|
175
175
|
if (hooksInstalled > 0) {
|
|
176
|
-
|
|
176
|
+
const hooksDir = path.join(path.dirname(targetDir), 'hooks');
|
|
177
|
+
success(`Installed ${hooksInstalled} hooks to ${c.cyan}${hooksDir}${c.reset}`);
|
|
177
178
|
}
|
|
178
179
|
|
|
179
180
|
// Install agent definitions (Claude Code sub-agents)
|
|
180
181
|
const agentsInstalled = installAgents(targetDir, packageRoot);
|
|
181
182
|
if (agentsInstalled > 0) {
|
|
182
|
-
|
|
183
|
+
const agentsDir = path.join(path.dirname(targetDir), 'agents');
|
|
184
|
+
success(`Installed ${agentsInstalled} agents to ${c.cyan}${agentsDir}${c.reset}`);
|
|
183
185
|
}
|
|
184
186
|
|
|
185
187
|
// Install settings template (with hooks wiring)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tlc-claude-code",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.7",
|
|
4
4
|
"description": "TLC - Test Led Coding for Claude Code",
|
|
5
5
|
"bin": {
|
|
6
6
|
"tlc-claude-code": "./bin/install.js",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"build:web": "cd dashboard-web && npm install && npm run build",
|
|
37
37
|
"preversion": "node scripts/version-sync.js && git diff --quiet || (echo 'Working tree not clean' && exit 1)",
|
|
38
38
|
"version": "node scripts/version-sync.js && git add .tlc.json",
|
|
39
|
+
"postversion": "git push && git push origin v$npm_package_version",
|
|
39
40
|
"prepublishOnly": "npm run build && npm run build:web",
|
|
40
41
|
"docs": "node scripts/docs-update.js",
|
|
41
42
|
"docs:check": "node scripts/docs-update.js --check",
|