start-vibing 1.1.2 → 1.1.3
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/package.json +1 -1
- package/template/.claude/CLAUDE.md +129 -168
- package/template/.claude/README.md +135 -126
- package/template/.claude/agents/analyzer.md +0 -14
- package/template/.claude/agents/commit-manager.md +0 -19
- package/template/.claude/agents/documenter.md +0 -10
- package/template/.claude/agents/domain-updater.md +194 -200
- package/template/.claude/agents/final-validator.md +0 -18
- package/template/.claude/agents/orchestrator.md +0 -12
- package/template/.claude/agents/quality-checker.md +0 -24
- package/template/.claude/agents/research.md +251 -262
- package/template/.claude/agents/security-auditor.md +1 -14
- package/template/.claude/agents/tester.md +0 -8
- package/template/.claude/agents/ui-ux-reviewer.md +0 -8
- package/template/.claude/commands/feature.md +48 -102
- package/template/.claude/config/README.md +30 -30
- package/template/.claude/config/domain-mapping.json +55 -26
- package/template/.claude/config/project-config.json +56 -53
- package/template/.claude/config/quality-gates.json +46 -46
- package/template/.claude/config/security-rules.json +45 -45
- package/template/.claude/config/testing-config.json +168 -168
- package/template/.claude/hooks/SETUP.md +52 -181
- package/template/.claude/hooks/user-prompt-submit.py +37 -246
- package/template/.claude/settings.json +39 -267
- package/template/.claude/skills/codebase-knowledge/SKILL.md +71 -145
- package/template/.claude/skills/codebase-knowledge/domains/claude-system.md +54 -321
- package/template/.claude/skills/docs-tracker/SKILL.md +63 -239
- package/template/.claude/skills/final-check/SKILL.md +72 -284
- package/template/.claude/skills/quality-gate/SKILL.md +71 -278
- package/template/.claude/skills/research-cache/SKILL.md +73 -207
- package/template/.claude/skills/security-scan/SKILL.md +75 -206
- package/template/.claude/skills/test-coverage/SKILL.md +66 -441
- package/template/.claude/skills/ui-ux-audit/SKILL.md +68 -254
- package/template/.claude/hooks/post-tool-use.py +0 -155
- package/template/.claude/hooks/pre-tool-use.py +0 -159
- package/template/.claude/hooks/stop-validation.py +0 -155
- package/template/.claude/hooks/validate-commit.py +0 -200
- package/template/.claude/hooks/workflow-manager.py +0 -350
- package/template/.claude/workflow-state.schema.json +0 -200
|
@@ -1,145 +1,71 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: codebase-knowledge
|
|
3
|
-
description:
|
|
4
|
-
allowed-tools: Read, Glob, Grep
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Codebase Knowledge
|
|
8
|
-
|
|
9
|
-
##
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
#
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- `
|
|
55
|
-
|
|
56
|
-
## Connections
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
## Workflow
|
|
74
|
-
|
|
75
|
-
### BEFORE Implementation
|
|
76
|
-
|
|
77
|
-
1. **Identify** which domain is affected
|
|
78
|
-
2. **Read** `domains/[domain].md` file
|
|
79
|
-
3. **Check** affected files listed
|
|
80
|
-
4. **Verify** recent commits for context
|
|
81
|
-
5. **Note** connections with other domains
|
|
82
|
-
|
|
83
|
-
### AFTER Implementation
|
|
84
|
-
|
|
85
|
-
1. **Update** the domain file
|
|
86
|
-
2. **Add** new commit to "Recent Commits"
|
|
87
|
-
3. **Add/remove** files if changed
|
|
88
|
-
4. **Update** connections if affected
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## Commands
|
|
93
|
-
|
|
94
|
-
### Check Recent Commits by Domain
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
git log --oneline -10 -- [list of domain files]
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### Check Uncommitted Changes
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
git diff --name-status main..HEAD
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### Create New Domain File
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
# Copy template
|
|
110
|
-
cp .claude/skills/codebase-knowledge/TEMPLATE.md .claude/skills/codebase-knowledge/domains/[name].md
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## Rules
|
|
116
|
-
|
|
117
|
-
### MANDATORY
|
|
118
|
-
|
|
119
|
-
1. **READ domain before implementing** - Always check cached knowledge
|
|
120
|
-
2. **UPDATE after implementing** - Keep cache current
|
|
121
|
-
3. **VERIFY connections** - Changes may affect other domains
|
|
122
|
-
4. **RECORD commits** - Maintain history
|
|
123
|
-
|
|
124
|
-
### FORBIDDEN
|
|
125
|
-
|
|
126
|
-
1. **Ignore cached knowledge** - It exists to accelerate development
|
|
127
|
-
2. **Leave outdated** - Old docs are worse than none
|
|
128
|
-
3. **Modify without recording** - Every commit should be noted
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## Integration with Agents
|
|
133
|
-
|
|
134
|
-
The **analyzer** agent MUST use this skill:
|
|
135
|
-
|
|
136
|
-
1. Check which domain is affected
|
|
137
|
-
2. Read domain file for context
|
|
138
|
-
3. Report affected files and connections
|
|
139
|
-
4. Update domain after implementation
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## Version
|
|
144
|
-
|
|
145
|
-
- **v2.0.0** - Generic template (no project-specific domains)
|
|
1
|
+
---
|
|
2
|
+
name: codebase-knowledge
|
|
3
|
+
description: Maps project files by domain and tracks architecture. Activates when exploring codebase, understanding file structure, checking what files exist, or before implementing any feature to understand affected areas.
|
|
4
|
+
allowed-tools: Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Codebase Knowledge
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
- Before implementing: understand affected domains
|
|
12
|
+
- When exploring: find related files
|
|
13
|
+
- After implementing: update domain knowledge
|
|
14
|
+
|
|
15
|
+
## Domain Files
|
|
16
|
+
|
|
17
|
+
Location: `.claude/skills/codebase-knowledge/domains/`
|
|
18
|
+
|
|
19
|
+
Each domain file tracks:
|
|
20
|
+
- Files in that area
|
|
21
|
+
- Connections to other domains
|
|
22
|
+
- Recent commits
|
|
23
|
+
- Attention points (gotchas)
|
|
24
|
+
|
|
25
|
+
## Workflow
|
|
26
|
+
|
|
27
|
+
### Before Implementation
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# 1. Read domain file
|
|
31
|
+
cat .claude/skills/codebase-knowledge/domains/[domain].md
|
|
32
|
+
|
|
33
|
+
# 2. Check recent changes
|
|
34
|
+
git log --oneline -5 -- [domain files]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### After Implementation
|
|
38
|
+
|
|
39
|
+
Update domain file with:
|
|
40
|
+
- New/modified files
|
|
41
|
+
- New commit in "Recent Commits"
|
|
42
|
+
- Updated connections if changed
|
|
43
|
+
|
|
44
|
+
## Domain File Template
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# [Domain Name]
|
|
48
|
+
|
|
49
|
+
## Last Update
|
|
50
|
+
- **Date:** YYYY-MM-DD
|
|
51
|
+
- **Commit:** [hash]
|
|
52
|
+
|
|
53
|
+
## Files
|
|
54
|
+
- `path/to/file.ts` - Description
|
|
55
|
+
|
|
56
|
+
## Connections
|
|
57
|
+
- **[other-domain]:** How they connect
|
|
58
|
+
|
|
59
|
+
## Recent Commits
|
|
60
|
+
| Hash | Date | Description |
|
|
61
|
+
|------|------|-------------|
|
|
62
|
+
|
|
63
|
+
## Attention Points
|
|
64
|
+
- [Gotchas and special rules]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Rules
|
|
68
|
+
|
|
69
|
+
1. **Read before implementing** - check cached knowledge
|
|
70
|
+
2. **Update after implementing** - keep cache current
|
|
71
|
+
3. **Verify connections** - changes may affect other domains
|
|
@@ -1,321 +1,54 @@
|
|
|
1
|
-
# Claude System
|
|
2
|
-
|
|
3
|
-
## Last Update
|
|
4
|
-
|
|
5
|
-
- **Date:**
|
|
6
|
-
- **
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
- `.claude/agents/
|
|
14
|
-
- `.claude/agents/
|
|
15
|
-
- `.claude/agents/
|
|
16
|
-
- `.claude/agents/
|
|
17
|
-
- `.claude/agents/
|
|
18
|
-
- `.claude/agents/
|
|
19
|
-
- `.claude/agents/
|
|
20
|
-
- `.claude/agents/
|
|
21
|
-
- `.claude/agents/
|
|
22
|
-
- `.claude/agents/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- `.claude/
|
|
28
|
-
- `.claude/
|
|
29
|
-
- `.claude/
|
|
30
|
-
- `.claude/
|
|
31
|
-
- `.claude/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- `.claude/
|
|
39
|
-
- `.claude/
|
|
40
|
-
- `.claude/
|
|
41
|
-
- `.claude/
|
|
42
|
-
- `.claude/
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
- `.claude/config/testing-config.json` - Test framework config
|
|
56
|
-
- `.claude/config/security-rules.json` - Security audit rules
|
|
57
|
-
- `.claude/config/README.md` - Config documentation
|
|
58
|
-
|
|
59
|
-
### Root Files
|
|
60
|
-
|
|
61
|
-
- `CLAUDE.md` - Development rules (generalist)
|
|
62
|
-
- `PROJECT.md` - Project-specific details (your project)
|
|
63
|
-
|
|
64
|
-
## Connections
|
|
65
|
-
|
|
66
|
-
- **All domains:** domain-updater reads/updates domain files after sessions
|
|
67
|
-
- **Infrastructure:** Hooks enforce workflow rules project-wide
|
|
68
|
-
|
|
69
|
-
## Recent Commits
|
|
70
|
-
|
|
71
|
-
| Hash | Date | Description |
|
|
72
|
-
| ---- | ---- | ----------- |
|
|
73
|
-
| de8cda9 | 2024-12-18 | feat(hooks): add domain-updater agent and enhance Task tool guidance |
|
|
74
|
-
| e9b4ad3 | 2024-12-18 | fix(claude-system): move complete-task from commit-manager to domain-updater |
|
|
75
|
-
| 251dfad | 2024-12-18 | feat(claude-system): add domain-updater agent as final workflow step |
|
|
76
|
-
|
|
77
|
-
## Problems & Solutions
|
|
78
|
-
|
|
79
|
-
### 2024-12-18 - Hook Blocking File Edits
|
|
80
|
-
|
|
81
|
-
**Problem:**
|
|
82
|
-
Tried to write files without starting a task first. PreToolUse hook blocked with "No active task in workflow-state.json"
|
|
83
|
-
|
|
84
|
-
**Root Cause:**
|
|
85
|
-
The pre-tool-use hook requires:
|
|
86
|
-
1. Active task started via workflow-manager.py
|
|
87
|
-
2. Analyzer executed
|
|
88
|
-
3. Files approved for modification
|
|
89
|
-
|
|
90
|
-
**Solution:**
|
|
91
|
-
Run these commands before editing:
|
|
92
|
-
```bash
|
|
93
|
-
python .claude/hooks/workflow-manager.py start-task --type feature --description "..."
|
|
94
|
-
python .claude/hooks/workflow-manager.py approve-files --files "path/to/file"
|
|
95
|
-
python .claude/hooks/workflow-manager.py agent-executed --agent analyzer --result approved
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**Prevention:**
|
|
99
|
-
Always follow the workflow: start-task → approve-files → analyzer → implement
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
### 2024-12-18 - Stop Hook Counting .claude/ as Source Files
|
|
104
|
-
|
|
105
|
-
**Problem:**
|
|
106
|
-
Stop hook blocked with "Modified 2 source file(s) but no tests created" for .claude/ config files
|
|
107
|
-
|
|
108
|
-
**Root Cause:**
|
|
109
|
-
The source file filter didn't exclude `.claude/` directory - only excluded test, spec, .md, and docs/
|
|
110
|
-
|
|
111
|
-
**Solution:**
|
|
112
|
-
Added `.claude/` to the exclusion list in stop-validation.py line 68
|
|
113
|
-
|
|
114
|
-
**Prevention:**
|
|
115
|
-
Config files in `.claude/` don't need unit tests - they're configuration, not source code
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
### 2024-12-18 - complete-task Running Before domain-updater
|
|
120
|
-
|
|
121
|
-
**Problem:**
|
|
122
|
-
commit-manager ran `complete-task` which archived the workflow, then domain-updater couldn't edit files (no active task)
|
|
123
|
-
|
|
124
|
-
**Root Cause:**
|
|
125
|
-
Workflow order was wrong - complete-task was in commit-manager, but should run AFTER domain-updater
|
|
126
|
-
|
|
127
|
-
**Solution:**
|
|
128
|
-
- Removed `complete-task` from commit-manager
|
|
129
|
-
- Added Step 6 to domain-updater with `complete-task`
|
|
130
|
-
- New flow: commit-manager → domain-updater → complete-task
|
|
131
|
-
|
|
132
|
-
**Prevention:**
|
|
133
|
-
~~domain-updater is now responsible for `complete-task`~~ - OUTDATED: See workflow order fix below
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
### 2024-12-18 - Workflow Order for Clean Git (FINAL FIX)
|
|
138
|
-
|
|
139
|
-
**Problem:**
|
|
140
|
-
Git tree stayed dirty after commit because domain updates happened AFTER the commit
|
|
141
|
-
|
|
142
|
-
**Root Cause:**
|
|
143
|
-
Old flow: commit-manager → domain-updater → complete-task
|
|
144
|
-
This meant domain files were modified AFTER the commit, leaving uncommitted changes
|
|
145
|
-
|
|
146
|
-
**Solution:**
|
|
147
|
-
New flow: domain-updater → commit-manager → complete-task
|
|
148
|
-
- domain-updater now runs BEFORE commit-manager
|
|
149
|
-
- commit-manager is the FINAL agent (runs complete-task)
|
|
150
|
-
- All changes are included in the commit
|
|
151
|
-
- Git tree is clean after session ends
|
|
152
|
-
|
|
153
|
-
**Prevention:**
|
|
154
|
-
- domain-updater priority: 9 (runs after final-validator)
|
|
155
|
-
- commit-manager priority: 10 (FINAL step)
|
|
156
|
-
- Stop hook enforces both must run before session ends
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
### 2024-12-18 - domain-updater Not Available as Subagent
|
|
161
|
-
|
|
162
|
-
**Problem:**
|
|
163
|
-
Tried to invoke domain-updater via Task tool but got "Agent type 'domain-updater' not found"
|
|
164
|
-
|
|
165
|
-
**Root Cause:**
|
|
166
|
-
Agents defined in `.claude/agents/*.md` are instructions for Claude to follow, not subagent_types in Claude Code system
|
|
167
|
-
|
|
168
|
-
**Solution:**
|
|
169
|
-
Execute domain-updater logic manually or use documenter agent which has similar capabilities
|
|
170
|
-
|
|
171
|
-
**Prevention:**
|
|
172
|
-
To make an agent invokable via Task tool, it needs to be registered in Claude Code's internal system (separate from .claude/agents/)
|
|
173
|
-
|
|
174
|
-
## Attention Points
|
|
175
|
-
|
|
176
|
-
- [2024-12-18] **Workflow is enforced by hooks** - Cannot skip steps, hooks will block
|
|
177
|
-
- [2024-12-18] **domain-updater is MANDATORY** - Stop hook blocks if not executed
|
|
178
|
-
- [2024-12-18] **10 agents total** - domain-updater added as final step (priority 10)
|
|
179
|
-
- [2024-12-18] **Config files (.claude/*) don't require tests** - Excluded from source file checks
|
|
180
|
-
- [2024-12-18] ~~**domain-updater runs complete-task**~~ - OUTDATED: commit-manager now runs complete-task
|
|
181
|
-
- [2024-12-18] **.claude/agents/ vs subagent_type** - Agents in .claude/agents/ are instructions, not Claude Code subagents
|
|
182
|
-
- [2024-12-18] **Never bypass workflow manually** - Follow the agents properly, don't mark as executed without running
|
|
183
|
-
- [2024-12-18] **Use Task tool for agents** - UserPromptSubmit now reminds to use Task(subagent_type="agent-name") instead of manual execution
|
|
184
|
-
- [2024-12-18] **Workflow order fixed** - domain-updater runs BEFORE commit-manager (not after) for clean git
|
|
185
|
-
- [2024-12-18] **commit-manager is FINAL** - It runs complete-task, not domain-updater
|
|
186
|
-
- [2024-12-18] **Stop hook enforces commit** - Blocks if domain-updater ran but commit-manager didn't
|
|
187
|
-
- [2024-12-18] **Research agent added** - Mandatory for features/fixes, runs after analyzer
|
|
188
|
-
- [2024-12-18] **11 agents total** - research added (priority 3)
|
|
189
|
-
- [2024-12-18] **workflow-state.json in .gitignore** - Transient state, not tracked in git
|
|
190
|
-
- [2024-12-19] **Config files for project specifics** - Agents read from `.claude/config/*.json` instead of hardcoding
|
|
191
|
-
- [2024-12-19] **CLAUDE.md < 300 lines** - Best practice from Anthropic, ideally < 60 lines
|
|
192
|
-
- [2024-12-19] **PROJECT.md for project details** - Separate from generic CLAUDE.md
|
|
193
|
-
- [2024-12-19] **Pre-tool-use wildcard issue** - Pattern `.claude/config/*` doesn't match absolute paths, use specific files
|
|
194
|
-
- [2024-12-19] **Tester agent v3.0** - Complete Playwright E2E architecture with fixture-based cleanup
|
|
195
|
-
- [2024-12-19] **E2E cleanup is MANDATORY** - Track all created IDs, delete ONLY tracked data after tests
|
|
196
|
-
- [2024-12-19] **Multi-viewport testing** - Desktop (1280x800), Tablet (768x1024), iPhone SE (375x667) required
|
|
197
|
-
- [2024-12-19] **DB validation in E2E** - Always verify database state after UI actions
|
|
198
|
-
- [2024-12-19] **Real auth only** - Never mock authentication in E2E tests
|
|
199
|
-
- [2024-12-19] **data-testid required** - All interactive elements must have data-testid attributes
|
|
200
|
-
- [2024-12-19] **SKILL.md YAML frontmatter** - ALL skills MUST have `---` frontmatter with name, description
|
|
201
|
-
- [2024-12-19] **Skill name format** - max 64 chars, lowercase, letters/numbers/hyphens only
|
|
202
|
-
- [2024-12-19] **Skill description** - max 1024 chars, describes WHAT skill does and WHEN to use it
|
|
203
|
-
- [2024-12-19] **allowed-tools optional** - Comma-separated tool names to restrict skill capabilities
|
|
204
|
-
- [2024-12-19] **Hooks config correct** - settings.json hooks format is valid, uses command type with python scripts
|
|
205
|
-
- [2024-12-19] **start-vibing npm package** - CLI para copiar .claude para qualquer projeto
|
|
206
|
-
- [2024-12-19] **npx/bunx CLI** - package.json bin field aponta para dist/cli.js com shebang
|
|
207
|
-
- [2024-12-19] **Smart copy** - Preserva domains e cache, sobrescreve agents e hooks
|
|
208
|
-
|
|
209
|
-
## Problems & Solutions (2024-12-19)
|
|
210
|
-
|
|
211
|
-
### 2024-12-19 - CLAUDE.md Too Long and Specific
|
|
212
|
-
|
|
213
|
-
**Problem:**
|
|
214
|
-
CLAUDE.md had 594 lines, 95% project-specific. Too long for Claude to follow consistently.
|
|
215
|
-
|
|
216
|
-
**Root Cause:**
|
|
217
|
-
Project-specific details (workers, docker config, path aliases examples) mixed with universal rules.
|
|
218
|
-
|
|
219
|
-
**Solution:**
|
|
220
|
-
1. Reduced CLAUDE.md to 115 lines (universal rules only)
|
|
221
|
-
2. Created `PROJECT.md` with project-specific details
|
|
222
|
-
3. Created `.claude/config/` with JSON configs for project specifics
|
|
223
|
-
4. Updated agents to read from config files
|
|
224
|
-
|
|
225
|
-
**Prevention:**
|
|
226
|
-
- Keep CLAUDE.md under 300 lines (ideally < 60)
|
|
227
|
-
- Put project specifics in PROJECT.md
|
|
228
|
-
- Use `.claude/config/` for things agents need to adapt to
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
### 2024-12-19 - Pre-Tool-Use Wildcard Pattern Not Working
|
|
233
|
-
|
|
234
|
-
**Problem:**
|
|
235
|
-
Approved files with pattern `.claude/config/*` but hook still blocked edits to `.claude/config/project-config.json`
|
|
236
|
-
|
|
237
|
-
**Root Cause:**
|
|
238
|
-
Hook checks `file_path.startswith(approved[:-1])` but file_path is absolute path `C:/Users/.../` while approved is relative `.claude/config/*`
|
|
239
|
-
|
|
240
|
-
**Solution:**
|
|
241
|
-
Approve each file individually instead of using wildcard patterns
|
|
242
|
-
|
|
243
|
-
**Prevention:**
|
|
244
|
-
When using approve-files, list specific files rather than wildcards if path matching issues occur
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
### 2024-12-19 - E2E Test Data Pollution
|
|
249
|
-
|
|
250
|
-
**Problem:**
|
|
251
|
-
E2E tests created data in the database but didn't clean up, causing test pollution and confusion with real data.
|
|
252
|
-
|
|
253
|
-
**Root Cause:**
|
|
254
|
-
Tests were creating users, items, etc. but not tracking or deleting them after completion.
|
|
255
|
-
|
|
256
|
-
**Solution:**
|
|
257
|
-
Implemented fixture-based cleanup pattern:
|
|
258
|
-
1. `createdIds` fixture tracks all created document IDs by collection
|
|
259
|
-
2. `trackCreated(collection, id)` function to register created data
|
|
260
|
-
3. Auto-cleanup runs after each test, even on failure
|
|
261
|
-
4. Only deletes tracked IDs, never affects real data
|
|
262
|
-
|
|
263
|
-
**Prevention:**
|
|
264
|
-
- Always use `trackCreated()` immediately after creating data
|
|
265
|
-
- Use the custom `test` from fixtures, not base Playwright `test`
|
|
266
|
-
- Verify cleanup is working with DB inspection
|
|
267
|
-
|
|
268
|
-
---
|
|
269
|
-
|
|
270
|
-
### 2024-12-19 - Tester Agent Missing E2E Architecture
|
|
271
|
-
|
|
272
|
-
**Problem:**
|
|
273
|
-
Tester agent didn't have comprehensive E2E testing patterns for Playwright.
|
|
274
|
-
|
|
275
|
-
**Root Cause:**
|
|
276
|
-
Previous version focused on unit tests, lacked E2E architecture.
|
|
277
|
-
|
|
278
|
-
**Solution:**
|
|
279
|
-
Rewrote tester.md with complete Playwright architecture:
|
|
280
|
-
- Fixture-based cleanup pattern
|
|
281
|
-
- Multi-viewport testing (desktop, tablet, mobile)
|
|
282
|
-
- Database validation after UI actions
|
|
283
|
-
- API testing (REST and tRPC)
|
|
284
|
-
- Real authentication flows
|
|
285
|
-
- Storage state for session reuse
|
|
286
|
-
- Security testing (forbidden requests, rate limiting)
|
|
287
|
-
|
|
288
|
-
**Prevention:**
|
|
289
|
-
- Always test all viewports
|
|
290
|
-
- Always verify DB state, don't trust UI alone
|
|
291
|
-
- Use real auth, never mock it
|
|
292
|
-
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
### 2024-12-19 - Skills Missing YAML Frontmatter
|
|
296
|
-
|
|
297
|
-
**Problem:**
|
|
298
|
-
All SKILL.md files started with `# Title` instead of YAML frontmatter, making them undiscoverable by Claude Code.
|
|
299
|
-
|
|
300
|
-
**Root Cause:**
|
|
301
|
-
Skills were created as plain markdown without the required YAML frontmatter that Claude Code uses to discover and load skills.
|
|
302
|
-
|
|
303
|
-
**Solution:**
|
|
304
|
-
Added YAML frontmatter to all 8 SKILL.md files:
|
|
305
|
-
```yaml
|
|
306
|
-
---
|
|
307
|
-
name: skill-name-lowercase
|
|
308
|
-
description: What skill does and when to use it
|
|
309
|
-
allowed-tools: Tool1, Tool2 # optional
|
|
310
|
-
---
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
**Fixed Files:**
|
|
314
|
-
- quality-gate, security-scan, codebase-knowledge, docs-tracker
|
|
315
|
-
- final-check, ui-ux-audit, research-cache, test-coverage
|
|
316
|
-
|
|
317
|
-
**Prevention:**
|
|
318
|
-
- Quality-checker now validates SKILL.md format
|
|
319
|
-
- All new skills MUST start with YAML frontmatter
|
|
320
|
-
- name: lowercase-with-hyphens, max 64 chars
|
|
321
|
-
- description: non-empty, max 1024 chars
|
|
1
|
+
# Claude System
|
|
2
|
+
|
|
3
|
+
## Last Update
|
|
4
|
+
|
|
5
|
+
- **Date:** 2025-12-24
|
|
6
|
+
- **Session:** Clean template - removed project-specific content
|
|
7
|
+
|
|
8
|
+
## Files
|
|
9
|
+
|
|
10
|
+
### Agents
|
|
11
|
+
|
|
12
|
+
- `.claude/agents/analyzer.md` - Analyzes change impact, approves files
|
|
13
|
+
- `.claude/agents/research.md` - Researches best practices before implementation
|
|
14
|
+
- `.claude/agents/commit-manager.md` - Manages git commits
|
|
15
|
+
- `.claude/agents/documenter.md` - Creates/updates documentation
|
|
16
|
+
- `.claude/agents/domain-updater.md` - Updates domain knowledge after sessions
|
|
17
|
+
- `.claude/agents/final-validator.md` - Final validation with VETO power
|
|
18
|
+
- `.claude/agents/orchestrator.md` - Coordinates entire workflow
|
|
19
|
+
- `.claude/agents/quality-checker.md` - Runs quality gates
|
|
20
|
+
- `.claude/agents/security-auditor.md` - Security audit with VETO power
|
|
21
|
+
- `.claude/agents/tester.md` - Creates unit and E2E tests
|
|
22
|
+
- `.claude/agents/ui-ux-reviewer.md` - Reviews UI/UX patterns
|
|
23
|
+
|
|
24
|
+
### Skills
|
|
25
|
+
|
|
26
|
+
- `.claude/skills/codebase-knowledge/` - Domain mapping system
|
|
27
|
+
- `.claude/skills/research-cache/` - Best practices research cache
|
|
28
|
+
- `.claude/skills/docs-tracker/` - Documentation tracking
|
|
29
|
+
- `.claude/skills/final-check/` - Final validation rules
|
|
30
|
+
- `.claude/skills/quality-gate/` - Quality gate definitions
|
|
31
|
+
- `.claude/skills/security-scan/` - Security audit rules
|
|
32
|
+
- `.claude/skills/test-coverage/` - Test coverage tracking
|
|
33
|
+
- `.claude/skills/ui-ux-audit/` - UI/UX audit rules
|
|
34
|
+
- `.claude/skills/workflow-state/` - Task state tracking
|
|
35
|
+
|
|
36
|
+
### Configuration
|
|
37
|
+
|
|
38
|
+
- `.claude/config/project-config.json` - Stack, structure, commands
|
|
39
|
+
- `.claude/config/domain-mapping.json` - File patterns to domains
|
|
40
|
+
- `.claude/config/quality-gates.json` - Quality check commands
|
|
41
|
+
- `.claude/config/testing-config.json` - Test framework config
|
|
42
|
+
- `.claude/config/security-rules.json` - Security audit rules
|
|
43
|
+
|
|
44
|
+
## Connections
|
|
45
|
+
|
|
46
|
+
- **All domains:** domain-updater reads/updates domain files after sessions
|
|
47
|
+
- **Infrastructure:** Hooks enforce workflow rules project-wide
|
|
48
|
+
|
|
49
|
+
## Attention Points
|
|
50
|
+
|
|
51
|
+
- **Config files for project specifics** - Agents read from `.claude/config/*.json` instead of hardcoding
|
|
52
|
+
- **CLAUDE.md < 300 lines** - Best practice from Anthropic
|
|
53
|
+
- **SKILL.md YAML frontmatter** - ALL skills MUST have `---` frontmatter with name, description
|
|
54
|
+
- **Skill name format** - max 64 chars, lowercase, letters/numbers/hyphens only
|