@champpaba/claude-agent-kit 2.1.2 → 2.1.4
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/CLAUDE.md
CHANGED
|
@@ -408,6 +408,10 @@ Prompt "Update PROJECT_STATUS.yml?" when detecting these patterns:
|
|
|
408
408
|
| Infrastructure change (deploy, tunnel, DB migration) | Update `infrastructure` |
|
|
409
409
|
| User discusses priority shift | Update `next_priorities` |
|
|
410
410
|
| `/csetup {change-id}` started | Update `current_focus.active_change` |
|
|
411
|
+
| **Future features/ideas:** "อยากให้มี...", "want to add...", "later we should...", "in the future..." | Add to `future_ideas` |
|
|
412
|
+
| **Technical debt:** "ต้องแก้...", "should refactor...", "tech debt...", "needs cleanup..." | Add to `technical_debt` |
|
|
413
|
+
| **Decisions made:** "ตัดสินใจว่า...", "we decided...", "going with...", "chose X over Y" | Add to `decisions` |
|
|
414
|
+
| **Learnings/notes:** "พบว่า...", "discovered...", "note:...", "important:..." | Add to `notes` |
|
|
411
415
|
|
|
412
416
|
### Update Protocol
|
|
413
417
|
|
|
@@ -423,7 +427,7 @@ Prompt "Update PROJECT_STATUS.yml?" when detecting these patterns:
|
|
|
423
427
|
Claude: *reads PROJECT_STATUS.yml*
|
|
424
428
|
Claude: "I see auth-system is active, tunnel running but waiting for domain."
|
|
425
429
|
|
|
426
|
-
# During work
|
|
430
|
+
# During work - blocker resolved
|
|
427
431
|
User: "Domain is now configured"
|
|
428
432
|
Claude: "Update PROJECT_STATUS.yml?
|
|
429
433
|
- Remove 'domain' from blockers
|
|
@@ -431,6 +435,24 @@ Claude: "Update PROJECT_STATUS.yml?
|
|
|
431
435
|
|
|
432
436
|
# After archiving
|
|
433
437
|
Claude: "Auth-system archived. Add to completed_changes?"
|
|
438
|
+
|
|
439
|
+
# Casual conversation - future idea
|
|
440
|
+
User: "อยากให้มี dark mode ด้วยนะ ไว้ทำทีหลัง"
|
|
441
|
+
Claude: "Add to PROJECT_STATUS.yml future_ideas?
|
|
442
|
+
- idea: Dark mode support
|
|
443
|
+
- context: User requested, low priority"
|
|
444
|
+
|
|
445
|
+
# Discussion - technical debt
|
|
446
|
+
User: "ตรงนี้ code มันซ้ำๆ ต้องแก้ทีหลัง"
|
|
447
|
+
Claude: "Add to PROJECT_STATUS.yml technical_debt?
|
|
448
|
+
- item: Refactor duplicated code in auth middleware
|
|
449
|
+
- priority: medium"
|
|
450
|
+
|
|
451
|
+
# Decision made
|
|
452
|
+
User: "ตัดสินใจใช้ Drizzle แทน Prisma แล้ว เพราะ type-safe กว่า"
|
|
453
|
+
Claude: "Add to PROJECT_STATUS.yml decisions?
|
|
454
|
+
- decision: Use Drizzle over Prisma
|
|
455
|
+
- reason: Better type safety"
|
|
434
456
|
```
|
|
435
457
|
|
|
436
458
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Pre-Work Checklist (Shared by All Agents)
|
|
2
2
|
|
|
3
|
-
> **Version:** 2.1.
|
|
3
|
+
> **Version:** 2.1.3 (Design Spec Injection)
|
|
4
4
|
> **Purpose:** Single source of truth for pre-work validation
|
|
5
5
|
|
|
6
6
|
---
|
|
@@ -29,14 +29,22 @@ Complete these steps before implementation to ensure alignment with project stan
|
|
|
29
29
|
- WHY: The team chose these libraries for specific reasons (compatibility, features, constraints)
|
|
30
30
|
- Custom implementations waste effort and may miss edge cases the library handles
|
|
31
31
|
|
|
32
|
+
5. **Implement according to Design Spec (not library defaults)**
|
|
33
|
+
- If design.md specifies configurations → Use those values (not library defaults)
|
|
34
|
+
- If design.md specifies custom endpoints → Implement those endpoints
|
|
35
|
+
- WHY: Design decisions were made for specific project requirements
|
|
36
|
+
|
|
32
37
|
**Example:**
|
|
33
38
|
```
|
|
34
39
|
tasks.md says: "Install better-auth and dependencies"
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
design.md says: "JWT 15min + Redis refresh token 30d"
|
|
41
|
+
|
|
42
|
+
→ Use better-auth library (from tasks.md)
|
|
43
|
+
→ Configure JWT with 15min expiry (from design.md)
|
|
44
|
+
→ Configure Redis refresh with 30d (from design.md)
|
|
45
|
+
→ Implement /api/auth/refresh endpoint (from design.md)
|
|
37
46
|
|
|
38
|
-
WHY not
|
|
39
|
-
and security edge cases that custom code would need to re-implement.
|
|
47
|
+
WHY not defaults? Design spec has project-specific security requirements.
|
|
40
48
|
```
|
|
41
49
|
|
|
42
50
|
---
|
|
@@ -62,6 +70,13 @@ Library Requirements: (Step 0)
|
|
|
62
70
|
- [ ] Scanned design.md for design decisions
|
|
63
71
|
- Required libraries: {list from tasks.md/design.md}
|
|
64
72
|
|
|
73
|
+
Design Spec Implementation: (Step 5)
|
|
74
|
+
- [ ] Read design.md specifications
|
|
75
|
+
- [ ] Identified custom configurations (not library defaults)
|
|
76
|
+
- Design requirements:
|
|
77
|
+
- {requirement 1 from design.md}
|
|
78
|
+
- {requirement 2 from design.md}
|
|
79
|
+
|
|
65
80
|
Project Context:
|
|
66
81
|
- Project: {name}
|
|
67
82
|
- Stack: {tech-stack}
|
|
@@ -90,6 +105,7 @@ Ready to Implement:
|
|
|
90
105
|
|
|
91
106
|
Pre-work validation prevents:
|
|
92
107
|
- **Wrong library choices** - Using custom code when a library was already chosen by the team
|
|
108
|
+
- **Library defaults instead of spec** - Using default configs when design.md specifies custom values
|
|
93
109
|
- Misaligned implementations (wrong patterns, wrong style)
|
|
94
110
|
- Duplicate components (not searching existing code first)
|
|
95
111
|
- Wrong package manager usage (CI/CD breaks)
|
package/.claude/commands/cdev.md
CHANGED
|
@@ -105,6 +105,9 @@ ${changeContext.proposal}
|
|
|
105
105
|
## Tasks
|
|
106
106
|
${changeContext.tasks}
|
|
107
107
|
|
|
108
|
+
## Design Decisions (from design.md)
|
|
109
|
+
${changeContext.design || '(no design.md found)'}
|
|
110
|
+
|
|
108
111
|
${phase.instructions}
|
|
109
112
|
|
|
110
113
|
---
|
|
@@ -118,32 +121,43 @@ ${phase.instructions}
|
|
|
118
121
|
- "Configure X with Y adapter" → Use X with adapter Y
|
|
119
122
|
- Backtick packages like \`better-auth\` → Required dependency
|
|
120
123
|
|
|
121
|
-
2. **Review
|
|
124
|
+
2. **Review "Design Decisions" section above** for:
|
|
122
125
|
- "### D1: Use X Library" → Decision to use X
|
|
123
126
|
- "**Decision:** Use X" → Chosen library
|
|
124
|
-
-
|
|
127
|
+
- Specific configurations (e.g., "JWT 15min", "Redis refresh token 30d")
|
|
128
|
+
- Architecture decisions (e.g., "Hybrid Session Strategy")
|
|
125
129
|
|
|
126
130
|
3. **Use the specified libraries**
|
|
127
131
|
- WHY: The team chose these for compatibility, features, or constraints
|
|
128
132
|
- Custom implementations duplicate effort and miss edge cases the library handles
|
|
129
|
-
|
|
133
|
+
|
|
134
|
+
4. **Implement according to Design Spec (not library defaults)**
|
|
135
|
+
- If design.md specifies "JWT 15min + Redis refresh 30d" → Configure library with these values
|
|
136
|
+
- If design.md specifies custom endpoints → Implement those endpoints
|
|
137
|
+
- Library defaults are starting points, not final implementation
|
|
138
|
+
- WHY: Design decisions were made for specific project requirements
|
|
130
139
|
|
|
131
140
|
**Example:**
|
|
132
141
|
\`\`\`
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
142
|
+
design.md says:
|
|
143
|
+
"Hybrid Session Strategy: JWT 15min + Redis refresh 30d"
|
|
144
|
+
|
|
145
|
+
→ Use better-auth library (from tasks.md)
|
|
146
|
+
→ Configure JWT plugin with 15min expiry
|
|
147
|
+
→ Configure refresh token with 30d in Redis
|
|
148
|
+
→ Implement /api/auth/refresh endpoint
|
|
136
149
|
|
|
137
|
-
WHY not
|
|
138
|
-
|
|
150
|
+
WHY not defaults? Design spec has project-specific security requirements
|
|
151
|
+
that differ from library defaults.
|
|
139
152
|
\`\`\`
|
|
140
153
|
|
|
141
|
-
**Report
|
|
154
|
+
**Report in validation:**
|
|
142
155
|
\`\`\`
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
-
|
|
146
|
-
-
|
|
156
|
+
Libraries: better-auth, @better-auth/drizzle, ioredis
|
|
157
|
+
Design Spec Implementation:
|
|
158
|
+
- [x] JWT access token: 15min (design.md D1)
|
|
159
|
+
- [x] Redis refresh token: 30d (design.md D2)
|
|
160
|
+
- [x] /api/auth/refresh endpoint (design.md D3)
|
|
147
161
|
\`\`\`
|
|
148
162
|
|
|
149
163
|
---
|
|
@@ -84,6 +84,51 @@ next_priorities: []
|
|
|
84
84
|
# - id: user-profile
|
|
85
85
|
# reason: "Dependency for RIASEC save feature"
|
|
86
86
|
|
|
87
|
+
# -------------------------------------------------------------------
|
|
88
|
+
# FUTURE IDEAS
|
|
89
|
+
# Features/enhancements discussed but not yet planned
|
|
90
|
+
# Captured from: "อยากให้มี...", "want to add...", "later...", "in the future..."
|
|
91
|
+
# -------------------------------------------------------------------
|
|
92
|
+
future_ideas: []
|
|
93
|
+
# Example:
|
|
94
|
+
# - idea: "Dark mode support"
|
|
95
|
+
# context: "User requested during review"
|
|
96
|
+
# date: "2025-12-01"
|
|
97
|
+
#
|
|
98
|
+
# - idea: "Export to PDF"
|
|
99
|
+
# context: "Nice to have for reports"
|
|
100
|
+
# date: "2025-11-28"
|
|
101
|
+
|
|
102
|
+
# -------------------------------------------------------------------
|
|
103
|
+
# TECHNICAL DEBT
|
|
104
|
+
# Known issues to fix later
|
|
105
|
+
# Captured from: "ต้องแก้...", "should refactor...", "tech debt...", "needs cleanup..."
|
|
106
|
+
# -------------------------------------------------------------------
|
|
107
|
+
technical_debt: []
|
|
108
|
+
# Example:
|
|
109
|
+
# - item: "Refactor auth middleware"
|
|
110
|
+
# reason: "Duplicated logic in 3 places"
|
|
111
|
+
# priority: medium # low, medium, high
|
|
112
|
+
#
|
|
113
|
+
# - item: "Add proper error boundaries"
|
|
114
|
+
# reason: "Currently crashes on API errors"
|
|
115
|
+
# priority: high
|
|
116
|
+
|
|
117
|
+
# -------------------------------------------------------------------
|
|
118
|
+
# DECISIONS
|
|
119
|
+
# Important technical/product decisions made
|
|
120
|
+
# Captured from: "ตัดสินใจว่า...", "we decided...", "going with...", "chose X over Y"
|
|
121
|
+
# -------------------------------------------------------------------
|
|
122
|
+
decisions: []
|
|
123
|
+
# Example:
|
|
124
|
+
# - decision: "Use better-auth over NextAuth"
|
|
125
|
+
# reason: "Better TypeScript support, simpler API"
|
|
126
|
+
# date: "2025-12-01"
|
|
127
|
+
#
|
|
128
|
+
# - decision: "PostgreSQL over MongoDB"
|
|
129
|
+
# reason: "Relational data, ACID compliance needed"
|
|
130
|
+
# date: "2025-11-30"
|
|
131
|
+
|
|
87
132
|
# -------------------------------------------------------------------
|
|
88
133
|
# NOTES
|
|
89
134
|
# Free-form context that doesn't fit above
|