@jwdobeutechsolutions/dobeutech-claude-code-custom 1.0.0

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.
Files changed (59) hide show
  1. package/CLAUDE.md +174 -0
  2. package/CONTRIBUTING.md +191 -0
  3. package/README.md +345 -0
  4. package/agents/accessibility-auditor.md +315 -0
  5. package/agents/api-designer.md +265 -0
  6. package/agents/architect.md +211 -0
  7. package/agents/build-error-resolver.md +532 -0
  8. package/agents/ci-cd-generator.md +318 -0
  9. package/agents/code-reviewer.md +104 -0
  10. package/agents/database-migrator.md +258 -0
  11. package/agents/deployment-manager.md +296 -0
  12. package/agents/doc-updater.md +452 -0
  13. package/agents/docker-specialist.md +293 -0
  14. package/agents/e2e-runner.md +708 -0
  15. package/agents/fullstack-architect.md +293 -0
  16. package/agents/infrastructure-engineer.md +297 -0
  17. package/agents/integration-tester.md +320 -0
  18. package/agents/performance-tester.md +243 -0
  19. package/agents/planner.md +119 -0
  20. package/agents/refactor-cleaner.md +306 -0
  21. package/agents/security-reviewer.md +545 -0
  22. package/agents/tdd-guide.md +280 -0
  23. package/agents/unit-test-generator.md +290 -0
  24. package/bin/claude-config.js +290 -0
  25. package/commands/api-design.md +55 -0
  26. package/commands/audit-accessibility.md +37 -0
  27. package/commands/audit-performance.md +38 -0
  28. package/commands/audit-security.md +43 -0
  29. package/commands/build-fix.md +29 -0
  30. package/commands/changelog.md +31 -0
  31. package/commands/code-review.md +40 -0
  32. package/commands/deploy.md +51 -0
  33. package/commands/docs-api.md +41 -0
  34. package/commands/e2e.md +363 -0
  35. package/commands/plan.md +113 -0
  36. package/commands/refactor-clean.md +28 -0
  37. package/commands/tdd.md +326 -0
  38. package/commands/test-coverage.md +27 -0
  39. package/commands/update-codemaps.md +17 -0
  40. package/commands/update-docs.md +31 -0
  41. package/hooks/hooks.json +121 -0
  42. package/mcp-configs/mcp-servers.json +163 -0
  43. package/package.json +53 -0
  44. package/rules/agents.md +49 -0
  45. package/rules/coding-style.md +70 -0
  46. package/rules/git-workflow.md +45 -0
  47. package/rules/hooks.md +46 -0
  48. package/rules/patterns.md +55 -0
  49. package/rules/performance.md +47 -0
  50. package/rules/security.md +36 -0
  51. package/rules/testing.md +30 -0
  52. package/scripts/install.js +254 -0
  53. package/skills/backend-patterns.md +582 -0
  54. package/skills/clickhouse-io.md +429 -0
  55. package/skills/coding-standards.md +520 -0
  56. package/skills/frontend-patterns.md +631 -0
  57. package/skills/project-guidelines-example.md +345 -0
  58. package/skills/security-review/SKILL.md +494 -0
  59. package/skills/tdd-workflow/SKILL.md +409 -0
@@ -0,0 +1,163 @@
1
+ {
2
+ "mcpServers": {
3
+ "github": {
4
+ "command": "npx",
5
+ "args": ["-y", "@modelcontextprotocol/server-github"],
6
+ "env": {
7
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT_HERE"
8
+ },
9
+ "description": "GitHub operations - PRs, issues, repos"
10
+ },
11
+ "firecrawl": {
12
+ "command": "npx",
13
+ "args": ["-y", "firecrawl-mcp"],
14
+ "env": {
15
+ "FIRECRAWL_API_KEY": "YOUR_FIRECRAWL_KEY_HERE"
16
+ },
17
+ "description": "Web scraping and crawling"
18
+ },
19
+ "supabase": {
20
+ "command": "npx",
21
+ "args": ["-y", "@supabase/mcp-server-supabase@latest", "--project-ref=YOUR_PROJECT_REF"],
22
+ "description": "Supabase database operations"
23
+ },
24
+ "memory": {
25
+ "command": "npx",
26
+ "args": ["-y", "@modelcontextprotocol/server-memory"],
27
+ "description": "Persistent memory across sessions"
28
+ },
29
+ "sequential-thinking": {
30
+ "command": "npx",
31
+ "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"],
32
+ "description": "Chain-of-thought reasoning"
33
+ },
34
+ "vercel": {
35
+ "type": "http",
36
+ "url": "https://mcp.vercel.com",
37
+ "description": "Vercel deployments and projects"
38
+ },
39
+ "railway": {
40
+ "command": "npx",
41
+ "args": ["-y", "@railway/mcp-server"],
42
+ "description": "Railway deployments"
43
+ },
44
+ "cloudflare-docs": {
45
+ "type": "http",
46
+ "url": "https://docs.mcp.cloudflare.com/mcp",
47
+ "description": "Cloudflare documentation search"
48
+ },
49
+ "cloudflare-workers-builds": {
50
+ "type": "http",
51
+ "url": "https://builds.mcp.cloudflare.com/mcp",
52
+ "description": "Cloudflare Workers builds"
53
+ },
54
+ "cloudflare-workers-bindings": {
55
+ "type": "http",
56
+ "url": "https://bindings.mcp.cloudflare.com/mcp",
57
+ "description": "Cloudflare Workers bindings"
58
+ },
59
+ "cloudflare-observability": {
60
+ "type": "http",
61
+ "url": "https://observability.mcp.cloudflare.com/mcp",
62
+ "description": "Cloudflare observability/logs"
63
+ },
64
+ "clickhouse": {
65
+ "type": "http",
66
+ "url": "https://mcp.clickhouse.cloud/mcp",
67
+ "description": "ClickHouse analytics queries"
68
+ },
69
+ "context7": {
70
+ "command": "npx",
71
+ "args": ["-y", "@context7/mcp-server"],
72
+ "description": "Live documentation lookup"
73
+ },
74
+ "magic": {
75
+ "command": "npx",
76
+ "args": ["-y", "@magicuidesign/mcp@latest"],
77
+ "description": "Magic UI components"
78
+ },
79
+ "filesystem": {
80
+ "command": "npx",
81
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/your/projects"],
82
+ "description": "Filesystem operations (set your path)"
83
+ },
84
+ "mem0": {
85
+ "command": "npx",
86
+ "args": ["-y", "@mem0ai/mcp-server-mem0"],
87
+ "env": {
88
+ "MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE"
89
+ },
90
+ "description": "Mem0 memory and persistence - long-term context storage and retrieval"
91
+ },
92
+ "postgres": {
93
+ "command": "npx",
94
+ "args": ["-y", "@modelcontextprotocol/server-postgres"],
95
+ "env": {
96
+ "POSTGRES_CONNECTION_STRING": "YOUR_POSTGRES_CONNECTION_STRING_HERE"
97
+ },
98
+ "description": "PostgreSQL database operations"
99
+ },
100
+ "mongodb": {
101
+ "command": "npx",
102
+ "args": ["-y", "@modelcontextprotocol/server-mongodb"],
103
+ "env": {
104
+ "MONGODB_URI": "YOUR_MONGODB_URI_HERE"
105
+ },
106
+ "description": "MongoDB database operations"
107
+ },
108
+ "aws": {
109
+ "command": "npx",
110
+ "args": ["-y", "@modelcontextprotocol/server-aws"],
111
+ "env": {
112
+ "AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID_HERE",
113
+ "AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY_HERE",
114
+ "AWS_REGION": "YOUR_AWS_REGION_HERE"
115
+ },
116
+ "description": "AWS cloud services operations"
117
+ },
118
+ "gcp": {
119
+ "command": "npx",
120
+ "args": ["-y", "@modelcontextprotocol/server-gcp"],
121
+ "env": {
122
+ "GCP_PROJECT_ID": "YOUR_GCP_PROJECT_ID_HERE",
123
+ "GCP_CREDENTIALS": "YOUR_GCP_CREDENTIALS_JSON_HERE"
124
+ },
125
+ "description": "Google Cloud Platform operations"
126
+ },
127
+ "azure": {
128
+ "command": "npx",
129
+ "args": ["-y", "@modelcontextprotocol/server-azure"],
130
+ "env": {
131
+ "AZURE_SUBSCRIPTION_ID": "YOUR_AZURE_SUBSCRIPTION_ID_HERE",
132
+ "AZURE_CLIENT_ID": "YOUR_AZURE_CLIENT_ID_HERE",
133
+ "AZURE_CLIENT_SECRET": "YOUR_AZURE_CLIENT_SECRET_HERE",
134
+ "AZURE_TENANT_ID": "YOUR_AZURE_TENANT_ID_HERE"
135
+ },
136
+ "description": "Microsoft Azure cloud operations"
137
+ },
138
+ "sentry": {
139
+ "command": "npx",
140
+ "args": ["-y", "@sentry/mcp-server"],
141
+ "env": {
142
+ "SENTRY_AUTH_TOKEN": "YOUR_SENTRY_AUTH_TOKEN_HERE",
143
+ "SENTRY_ORG": "YOUR_SENTRY_ORG_HERE"
144
+ },
145
+ "description": "Sentry error tracking and monitoring"
146
+ },
147
+ "datadog": {
148
+ "command": "npx",
149
+ "args": ["-y", "@datadog/mcp-server"],
150
+ "env": {
151
+ "DATADOG_API_KEY": "YOUR_DATADOG_API_KEY_HERE",
152
+ "DATADOG_APP_KEY": "YOUR_DATADOG_APP_KEY_HERE"
153
+ },
154
+ "description": "Datadog monitoring and observability"
155
+ }
156
+ },
157
+ "_comments": {
158
+ "usage": "Copy the servers you need to your ~/.claude.json mcpServers section",
159
+ "env_vars": "Replace YOUR_*_HERE placeholders with actual values",
160
+ "disabling": "Use disabledMcpServers array in project config to disable per-project",
161
+ "context_warning": "Keep under 10 MCPs enabled to preserve context window"
162
+ }
163
+ }
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@jwdobeutechsolutions/dobeutech-claude-code-custom",
3
+ "version": "1.0.0",
4
+ "description": "Comprehensive centralized repository of Claude Code configurations including agents, skills, commands, hooks, and MCP servers optimized for full-stack development",
5
+ "author": "jwdobeutechsolutions",
6
+ "license": "MIT",
7
+ "main": "scripts/install.js",
8
+ "bin": {
9
+ "claude-config": "bin/claude-config.js"
10
+ },
11
+ "scripts": {
12
+ "postinstall": "node scripts/install.js"
13
+ },
14
+ "files": [
15
+ "agents",
16
+ "skills",
17
+ "commands",
18
+ "rules",
19
+ "hooks",
20
+ "mcp-configs",
21
+ "templates",
22
+ "docs",
23
+ "bin",
24
+ "scripts",
25
+ "README.md",
26
+ "CONTRIBUTING.md",
27
+ "CLAUDE.md"
28
+ ],
29
+ "keywords": [
30
+ "claude-code",
31
+ "agents",
32
+ "skills",
33
+ "commands",
34
+ "hooks",
35
+ "mcp",
36
+ "full-stack",
37
+ "development",
38
+ "claude",
39
+ "ai",
40
+ "configuration"
41
+ ],
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "https://github.com/dobeutech/dobeutech-claude-code-custom.git"
45
+ },
46
+ "publishConfig": {
47
+ "registry": "https://registry.npmjs.org/",
48
+ "access": "public"
49
+ },
50
+ "engines": {
51
+ "node": ">=14.0.0"
52
+ }
53
+ }
@@ -0,0 +1,49 @@
1
+ # Agent Orchestration
2
+
3
+ ## Available Agents
4
+
5
+ Located in `~/.claude/agents/`:
6
+
7
+ | Agent | Purpose | When to Use |
8
+ |-------|---------|-------------|
9
+ | planner | Implementation planning | Complex features, refactoring |
10
+ | architect | System design | Architectural decisions |
11
+ | tdd-guide | Test-driven development | New features, bug fixes |
12
+ | code-reviewer | Code review | After writing code |
13
+ | security-reviewer | Security analysis | Before commits |
14
+ | build-error-resolver | Fix build errors | When build fails |
15
+ | e2e-runner | E2E testing | Critical user flows |
16
+ | refactor-cleaner | Dead code cleanup | Code maintenance |
17
+ | doc-updater | Documentation | Updating docs |
18
+
19
+ ## Immediate Agent Usage
20
+
21
+ No user prompt needed:
22
+ 1. Complex feature requests - Use **planner** agent
23
+ 2. Code just written/modified - Use **code-reviewer** agent
24
+ 3. Bug fix or new feature - Use **tdd-guide** agent
25
+ 4. Architectural decision - Use **architect** agent
26
+
27
+ ## Parallel Task Execution
28
+
29
+ ALWAYS use parallel Task execution for independent operations:
30
+
31
+ ```markdown
32
+ # GOOD: Parallel execution
33
+ Launch 3 agents in parallel:
34
+ 1. Agent 1: Security analysis of auth.ts
35
+ 2. Agent 2: Performance review of cache system
36
+ 3. Agent 3: Type checking of utils.ts
37
+
38
+ # BAD: Sequential when unnecessary
39
+ First agent 1, then agent 2, then agent 3
40
+ ```
41
+
42
+ ## Multi-Perspective Analysis
43
+
44
+ For complex problems, use split role sub-agents:
45
+ - Factual reviewer
46
+ - Senior engineer
47
+ - Security expert
48
+ - Consistency reviewer
49
+ - Redundancy checker
@@ -0,0 +1,70 @@
1
+ # Coding Style
2
+
3
+ ## Immutability (CRITICAL)
4
+
5
+ ALWAYS create new objects, NEVER mutate:
6
+
7
+ ```javascript
8
+ // WRONG: Mutation
9
+ function updateUser(user, name) {
10
+ user.name = name // MUTATION!
11
+ return user
12
+ }
13
+
14
+ // CORRECT: Immutability
15
+ function updateUser(user, name) {
16
+ return {
17
+ ...user,
18
+ name
19
+ }
20
+ }
21
+ ```
22
+
23
+ ## File Organization
24
+
25
+ MANY SMALL FILES > FEW LARGE FILES:
26
+ - High cohesion, low coupling
27
+ - 200-400 lines typical, 800 max
28
+ - Extract utilities from large components
29
+ - Organize by feature/domain, not by type
30
+
31
+ ## Error Handling
32
+
33
+ ALWAYS handle errors comprehensively:
34
+
35
+ ```typescript
36
+ try {
37
+ const result = await riskyOperation()
38
+ return result
39
+ } catch (error) {
40
+ console.error('Operation failed:', error)
41
+ throw new Error('Detailed user-friendly message')
42
+ }
43
+ ```
44
+
45
+ ## Input Validation
46
+
47
+ ALWAYS validate user input:
48
+
49
+ ```typescript
50
+ import { z } from 'zod'
51
+
52
+ const schema = z.object({
53
+ email: z.string().email(),
54
+ age: z.number().int().min(0).max(150)
55
+ })
56
+
57
+ const validated = schema.parse(input)
58
+ ```
59
+
60
+ ## Code Quality Checklist
61
+
62
+ Before marking work complete:
63
+ - [ ] Code is readable and well-named
64
+ - [ ] Functions are small (<50 lines)
65
+ - [ ] Files are focused (<800 lines)
66
+ - [ ] No deep nesting (>4 levels)
67
+ - [ ] Proper error handling
68
+ - [ ] No console.log statements
69
+ - [ ] No hardcoded values
70
+ - [ ] No mutation (immutable patterns used)
@@ -0,0 +1,45 @@
1
+ # Git Workflow
2
+
3
+ ## Commit Message Format
4
+
5
+ ```
6
+ <type>: <description>
7
+
8
+ <optional body>
9
+ ```
10
+
11
+ Types: feat, fix, refactor, docs, test, chore, perf, ci
12
+
13
+ Note: Attribution disabled globally via ~/.claude/settings.json.
14
+
15
+ ## Pull Request Workflow
16
+
17
+ When creating PRs:
18
+ 1. Analyze full commit history (not just latest commit)
19
+ 2. Use `git diff [base-branch]...HEAD` to see all changes
20
+ 3. Draft comprehensive PR summary
21
+ 4. Include test plan with TODOs
22
+ 5. Push with `-u` flag if new branch
23
+
24
+ ## Feature Implementation Workflow
25
+
26
+ 1. **Plan First**
27
+ - Use **planner** agent to create implementation plan
28
+ - Identify dependencies and risks
29
+ - Break down into phases
30
+
31
+ 2. **TDD Approach**
32
+ - Use **tdd-guide** agent
33
+ - Write tests first (RED)
34
+ - Implement to pass tests (GREEN)
35
+ - Refactor (IMPROVE)
36
+ - Verify 80%+ coverage
37
+
38
+ 3. **Code Review**
39
+ - Use **code-reviewer** agent immediately after writing code
40
+ - Address CRITICAL and HIGH issues
41
+ - Fix MEDIUM issues when possible
42
+
43
+ 4. **Commit & Push**
44
+ - Detailed commit messages
45
+ - Follow conventional commits format
package/rules/hooks.md ADDED
@@ -0,0 +1,46 @@
1
+ # Hooks System
2
+
3
+ ## Hook Types
4
+
5
+ - **PreToolUse**: Before tool execution (validation, parameter modification)
6
+ - **PostToolUse**: After tool execution (auto-format, checks)
7
+ - **Stop**: When session ends (final verification)
8
+
9
+ ## Current Hooks (in ~/.claude/settings.json)
10
+
11
+ ### PreToolUse
12
+ - **tmux reminder**: Suggests tmux for long-running commands (npm, pnpm, yarn, cargo, etc.)
13
+ - **git push review**: Opens Zed for review before push
14
+ - **doc blocker**: Blocks creation of unnecessary .md/.txt files
15
+
16
+ ### PostToolUse
17
+ - **PR creation**: Logs PR URL and GitHub Actions status
18
+ - **Prettier**: Auto-formats JS/TS files after edit
19
+ - **TypeScript check**: Runs tsc after editing .ts/.tsx files
20
+ - **console.log warning**: Warns about console.log in edited files
21
+
22
+ ### Stop
23
+ - **console.log audit**: Checks all modified files for console.log before session ends
24
+
25
+ ## Auto-Accept Permissions
26
+
27
+ Use with caution:
28
+ - Enable for trusted, well-defined plans
29
+ - Disable for exploratory work
30
+ - Never use dangerously-skip-permissions flag
31
+ - Configure `allowedTools` in `~/.claude.json` instead
32
+
33
+ ## TodoWrite Best Practices
34
+
35
+ Use TodoWrite tool to:
36
+ - Track progress on multi-step tasks
37
+ - Verify understanding of instructions
38
+ - Enable real-time steering
39
+ - Show granular implementation steps
40
+
41
+ Todo list reveals:
42
+ - Out of order steps
43
+ - Missing items
44
+ - Extra unnecessary items
45
+ - Wrong granularity
46
+ - Misinterpreted requirements
@@ -0,0 +1,55 @@
1
+ # Common Patterns
2
+
3
+ ## API Response Format
4
+
5
+ ```typescript
6
+ interface ApiResponse<T> {
7
+ success: boolean
8
+ data?: T
9
+ error?: string
10
+ meta?: {
11
+ total: number
12
+ page: number
13
+ limit: number
14
+ }
15
+ }
16
+ ```
17
+
18
+ ## Custom Hooks Pattern
19
+
20
+ ```typescript
21
+ export function useDebounce<T>(value: T, delay: number): T {
22
+ const [debouncedValue, setDebouncedValue] = useState<T>(value)
23
+
24
+ useEffect(() => {
25
+ const handler = setTimeout(() => setDebouncedValue(value), delay)
26
+ return () => clearTimeout(handler)
27
+ }, [value, delay])
28
+
29
+ return debouncedValue
30
+ }
31
+ ```
32
+
33
+ ## Repository Pattern
34
+
35
+ ```typescript
36
+ interface Repository<T> {
37
+ findAll(filters?: Filters): Promise<T[]>
38
+ findById(id: string): Promise<T | null>
39
+ create(data: CreateDto): Promise<T>
40
+ update(id: string, data: UpdateDto): Promise<T>
41
+ delete(id: string): Promise<void>
42
+ }
43
+ ```
44
+
45
+ ## Skeleton Projects
46
+
47
+ When implementing new functionality:
48
+ 1. Search for battle-tested skeleton projects
49
+ 2. Use parallel agents to evaluate options:
50
+ - Security assessment
51
+ - Extensibility analysis
52
+ - Relevance scoring
53
+ - Implementation planning
54
+ 3. Clone best match as foundation
55
+ 4. Iterate within proven structure
@@ -0,0 +1,47 @@
1
+ # Performance Optimization
2
+
3
+ ## Model Selection Strategy
4
+
5
+ **Haiku 4.5** (90% of Sonnet capability, 3x cost savings):
6
+ - Lightweight agents with frequent invocation
7
+ - Pair programming and code generation
8
+ - Worker agents in multi-agent systems
9
+
10
+ **Sonnet 4.5** (Best coding model):
11
+ - Main development work
12
+ - Orchestrating multi-agent workflows
13
+ - Complex coding tasks
14
+
15
+ **Opus 4.5** (Deepest reasoning):
16
+ - Complex architectural decisions
17
+ - Maximum reasoning requirements
18
+ - Research and analysis tasks
19
+
20
+ ## Context Window Management
21
+
22
+ Avoid last 20% of context window for:
23
+ - Large-scale refactoring
24
+ - Feature implementation spanning multiple files
25
+ - Debugging complex interactions
26
+
27
+ Lower context sensitivity tasks:
28
+ - Single-file edits
29
+ - Independent utility creation
30
+ - Documentation updates
31
+ - Simple bug fixes
32
+
33
+ ## Ultrathink + Plan Mode
34
+
35
+ For complex tasks requiring deep reasoning:
36
+ 1. Use `ultrathink` for enhanced thinking
37
+ 2. Enable **Plan Mode** for structured approach
38
+ 3. "Rev the engine" with multiple critique rounds
39
+ 4. Use split role sub-agents for diverse analysis
40
+
41
+ ## Build Troubleshooting
42
+
43
+ If build fails:
44
+ 1. Use **build-error-resolver** agent
45
+ 2. Analyze error messages
46
+ 3. Fix incrementally
47
+ 4. Verify after each fix
@@ -0,0 +1,36 @@
1
+ # Security Guidelines
2
+
3
+ ## Mandatory Security Checks
4
+
5
+ Before ANY commit:
6
+ - [ ] No hardcoded secrets (API keys, passwords, tokens)
7
+ - [ ] All user inputs validated
8
+ - [ ] SQL injection prevention (parameterized queries)
9
+ - [ ] XSS prevention (sanitized HTML)
10
+ - [ ] CSRF protection enabled
11
+ - [ ] Authentication/authorization verified
12
+ - [ ] Rate limiting on all endpoints
13
+ - [ ] Error messages don't leak sensitive data
14
+
15
+ ## Secret Management
16
+
17
+ ```typescript
18
+ // NEVER: Hardcoded secrets
19
+ const apiKey = "sk-proj-xxxxx"
20
+
21
+ // ALWAYS: Environment variables
22
+ const apiKey = process.env.OPENAI_API_KEY
23
+
24
+ if (!apiKey) {
25
+ throw new Error('OPENAI_API_KEY not configured')
26
+ }
27
+ ```
28
+
29
+ ## Security Response Protocol
30
+
31
+ If security issue found:
32
+ 1. STOP immediately
33
+ 2. Use **security-reviewer** agent
34
+ 3. Fix CRITICAL issues before continuing
35
+ 4. Rotate any exposed secrets
36
+ 5. Review entire codebase for similar issues
@@ -0,0 +1,30 @@
1
+ # Testing Requirements
2
+
3
+ ## Minimum Test Coverage: 80%
4
+
5
+ Test Types (ALL required):
6
+ 1. **Unit Tests** - Individual functions, utilities, components
7
+ 2. **Integration Tests** - API endpoints, database operations
8
+ 3. **E2E Tests** - Critical user flows (Playwright)
9
+
10
+ ## Test-Driven Development
11
+
12
+ MANDATORY workflow:
13
+ 1. Write test first (RED)
14
+ 2. Run test - it should FAIL
15
+ 3. Write minimal implementation (GREEN)
16
+ 4. Run test - it should PASS
17
+ 5. Refactor (IMPROVE)
18
+ 6. Verify coverage (80%+)
19
+
20
+ ## Troubleshooting Test Failures
21
+
22
+ 1. Use **tdd-guide** agent
23
+ 2. Check test isolation
24
+ 3. Verify mocks are correct
25
+ 4. Fix implementation, not tests (unless tests are wrong)
26
+
27
+ ## Agent Support
28
+
29
+ - **tdd-guide** - Use PROACTIVELY for new features, enforces write-tests-first
30
+ - **e2e-runner** - Playwright E2E testing specialist