claude-code-orchestrator-kit 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 (130) hide show
  1. package/.claude/agents/database/workers/api-builder.md +155 -0
  2. package/.claude/agents/database/workers/database-architect.md +193 -0
  3. package/.claude/agents/database/workers/supabase-auditor.md +1070 -0
  4. package/.claude/agents/development/workers/code-reviewer.md +968 -0
  5. package/.claude/agents/development/workers/cost-calculator-specialist.md +683 -0
  6. package/.claude/agents/development/workers/llm-service-specialist.md +999 -0
  7. package/.claude/agents/development/workers/skill-builder-v2.md +480 -0
  8. package/.claude/agents/development/workers/typescript-types-specialist.md +649 -0
  9. package/.claude/agents/development/workers/utility-builder.md +582 -0
  10. package/.claude/agents/documentation/workers/technical-writer.md +152 -0
  11. package/.claude/agents/frontend/workers/fullstack-nextjs-specialist.md +206 -0
  12. package/.claude/agents/frontend/workers/visual-effects-creator.md +159 -0
  13. package/.claude/agents/health/orchestrators/bug-orchestrator.md +1045 -0
  14. package/.claude/agents/health/orchestrators/dead-code-orchestrator.md +1045 -0
  15. package/.claude/agents/health/orchestrators/dependency-orchestrator.md +1045 -0
  16. package/.claude/agents/health/orchestrators/security-orchestrator.md +1045 -0
  17. package/.claude/agents/health/workers/bug-fixer.md +525 -0
  18. package/.claude/agents/health/workers/bug-hunter.md +649 -0
  19. package/.claude/agents/health/workers/dead-code-hunter.md +446 -0
  20. package/.claude/agents/health/workers/dead-code-remover.md +437 -0
  21. package/.claude/agents/health/workers/dependency-auditor.md +379 -0
  22. package/.claude/agents/health/workers/dependency-updater.md +436 -0
  23. package/.claude/agents/health/workers/security-scanner.md +700 -0
  24. package/.claude/agents/health/workers/vulnerability-fixer.md +524 -0
  25. package/.claude/agents/infrastructure/workers/infrastructure-specialist.md +156 -0
  26. package/.claude/agents/infrastructure/workers/orchestration-logic-specialist.md +1260 -0
  27. package/.claude/agents/infrastructure/workers/qdrant-specialist.md +503 -0
  28. package/.claude/agents/infrastructure/workers/quality-validator-specialist.md +984 -0
  29. package/.claude/agents/meta/workers/meta-agent-v3.md +503 -0
  30. package/.claude/agents/research/workers/problem-investigator.md +507 -0
  31. package/.claude/agents/research/workers/research-specialist.md +423 -0
  32. package/.claude/agents/testing/workers/accessibility-tester.md +813 -0
  33. package/.claude/agents/testing/workers/integration-tester.md +188 -0
  34. package/.claude/agents/testing/workers/mobile-fixes-implementer.md +252 -0
  35. package/.claude/agents/testing/workers/mobile-responsiveness-tester.md +180 -0
  36. package/.claude/agents/testing/workers/performance-optimizer.md +262 -0
  37. package/.claude/agents/testing/workers/test-writer.md +800 -0
  38. package/.claude/commands/health-bugs.md +297 -0
  39. package/.claude/commands/health-cleanup.md +297 -0
  40. package/.claude/commands/health-deps.md +297 -0
  41. package/.claude/commands/health-metrics.md +747 -0
  42. package/.claude/commands/health-security.md +297 -0
  43. package/.claude/commands/push.md +21 -0
  44. package/.claude/commands/speckit.analyze.md +184 -0
  45. package/.claude/commands/speckit.checklist.md +294 -0
  46. package/.claude/commands/speckit.clarify.md +178 -0
  47. package/.claude/commands/speckit.constitution.md +78 -0
  48. package/.claude/commands/speckit.implement.md +182 -0
  49. package/.claude/commands/speckit.plan.md +87 -0
  50. package/.claude/commands/speckit.specify.md +250 -0
  51. package/.claude/commands/speckit.tasks.md +137 -0
  52. package/.claude/commands/translate-doc.md +95 -0
  53. package/.claude/commands/worktree-cleanup.md +382 -0
  54. package/.claude/commands/worktree-create.md +287 -0
  55. package/.claude/commands/worktree-list.md +239 -0
  56. package/.claude/commands/worktree-remove.md +339 -0
  57. package/.claude/schemas/base-plan.schema.json +82 -0
  58. package/.claude/schemas/bug-plan.schema.json +71 -0
  59. package/.claude/schemas/dead-code-plan.schema.json +71 -0
  60. package/.claude/schemas/dependency-plan.schema.json +74 -0
  61. package/.claude/schemas/security-plan.schema.json +71 -0
  62. package/.claude/scripts/gates/check-bundle-size.sh +47 -0
  63. package/.claude/scripts/gates/check-coverage.sh +67 -0
  64. package/.claude/scripts/gates/check-security.sh +46 -0
  65. package/.claude/scripts/release.sh +740 -0
  66. package/.claude/settings.local.json +21 -0
  67. package/.claude/settings.local.json.example +20 -0
  68. package/.claude/skills/calculate-priority-score/SKILL.md +229 -0
  69. package/.claude/skills/calculate-priority-score/scoring-matrix.json +83 -0
  70. package/.claude/skills/extract-version/SKILL.md +228 -0
  71. package/.claude/skills/format-commit-message/SKILL.md +189 -0
  72. package/.claude/skills/format-commit-message/template.md +64 -0
  73. package/.claude/skills/format-markdown-table/SKILL.md +202 -0
  74. package/.claude/skills/format-markdown-table/examples.md +84 -0
  75. package/.claude/skills/format-todo-list/SKILL.md +222 -0
  76. package/.claude/skills/format-todo-list/template.json +30 -0
  77. package/.claude/skills/generate-changelog/SKILL.md +258 -0
  78. package/.claude/skills/generate-changelog/commit-mapping.json +47 -0
  79. package/.claude/skills/generate-report-header/SKILL.md +228 -0
  80. package/.claude/skills/generate-report-header/template.md +66 -0
  81. package/.claude/skills/parse-error-logs/SKILL.md +286 -0
  82. package/.claude/skills/parse-error-logs/patterns.json +26 -0
  83. package/.claude/skills/parse-git-status/SKILL.md +164 -0
  84. package/.claude/skills/parse-package-json/SKILL.md +151 -0
  85. package/.claude/skills/parse-package-json/schema.json +43 -0
  86. package/.claude/skills/render-template/SKILL.md +245 -0
  87. package/.claude/skills/rollback-changes/SKILL.md +582 -0
  88. package/.claude/skills/rollback-changes/changes-log-schema.json +101 -0
  89. package/.claude/skills/run-quality-gate/SKILL.md +404 -0
  90. package/.claude/skills/run-quality-gate/gate-mappings.json +97 -0
  91. package/.claude/skills/validate-plan-file/SKILL.md +327 -0
  92. package/.claude/skills/validate-plan-file/schema.json +35 -0
  93. package/.claude/skills/validate-report-file/SKILL.md +256 -0
  94. package/.claude/skills/validate-report-file/schema.json +67 -0
  95. package/.env.example +49 -0
  96. package/.github/BRANCH_PROTECTION.md +137 -0
  97. package/.github/workflows/build.yml +70 -0
  98. package/.github/workflows/claude-code-review.yml +255 -0
  99. package/.github/workflows/claude.yml +79 -0
  100. package/.github/workflows/deploy-staging.yml +90 -0
  101. package/.github/workflows/test.yml +104 -0
  102. package/.gitignore +116 -0
  103. package/CLAUDE.md +137 -0
  104. package/LICENSE +72 -0
  105. package/README.md +1098 -0
  106. package/docs/ARCHITECTURE.md +746 -0
  107. package/docs/Agents Ecosystem/AGENT-ORCHESTRATION.md +568 -0
  108. package/docs/Agents Ecosystem/AI-AGENT-ECOSYSTEM-README.md +658 -0
  109. package/docs/Agents Ecosystem/ARCHITECTURE.md +606 -0
  110. package/docs/Agents Ecosystem/QUALITY-GATES-SPECIFICATION.md +1315 -0
  111. package/docs/Agents Ecosystem/REPORT-TEMPLATE-STANDARD.md +1324 -0
  112. package/docs/Agents Ecosystem/spec-kit-comprehensive-updates.md +478 -0
  113. package/docs/FAQ.md +572 -0
  114. package/docs/MIGRATION-GUIDE.md +542 -0
  115. package/docs/PERFORMANCE-OPTIMIZATION.md +494 -0
  116. package/docs/ROADMAP.md +439 -0
  117. package/docs/TUTORIAL-CUSTOM-AGENTS.md +2041 -0
  118. package/docs/USE-CASES.md +706 -0
  119. package/index.js +96 -0
  120. package/mcp/.mcp.base.json +21 -0
  121. package/mcp/.mcp.frontend.json +29 -0
  122. package/mcp/.mcp.full.json +67 -0
  123. package/mcp/.mcp.local.example.json +7 -0
  124. package/mcp/.mcp.local.json +7 -0
  125. package/mcp/.mcp.n8n.json +45 -0
  126. package/mcp/.mcp.supabase-full.json +35 -0
  127. package/mcp/.mcp.supabase-only.json +28 -0
  128. package/package.json +78 -0
  129. package/postinstall.js +71 -0
  130. package/switch-mcp.sh +101 -0
package/README.md ADDED
@@ -0,0 +1,1098 @@
1
+ # 🎼 Claude Code Orchestrator Kit
2
+
3
+ > **Professional automation and orchestration system for Claude Code**
4
+
5
+ Complete toolkit with **33+ AI agents**, **quality gates**, **health monitoring**, and **workflow automation** for building robust, production-ready projects with Claude Code.
6
+
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
8
+ [![MCP Servers](https://img.shields.io/badge/MCP-6%20Configs-blue.svg)](#mcp-configurations)
9
+ [![Agents](https://img.shields.io/badge/Agents-33%2B-green.svg)](#agents-ecosystem)
10
+ [![Commands](https://img.shields.io/badge/Commands-19%2B-orange.svg)](#slash-commands)
11
+ [![Author](https://img.shields.io/badge/Author-maslennikov--ig-blue.svg)](https://github.com/maslennikov-ig)
12
+
13
+ ---
14
+
15
+ ## 📋 Table of Contents
16
+
17
+ - [Overview](#overview)
18
+ - [Features](#features)
19
+ - [Quick Start](#quick-start)
20
+ - [Installation](#installation)
21
+ - [Documentation](#documentation)
22
+ - [MCP Server Configurations](#mcp-server-configurations)
23
+ - [Project Structure](#project-structure)
24
+ - [Slash Commands](#slash-commands)
25
+ - [Agents Ecosystem](#agents-ecosystem)
26
+ - [Skills Library](#skills-library)
27
+ - [Usage Examples](#usage-examples)
28
+ - [Configuration](#configuration)
29
+ - [Best Practices](#best-practices)
30
+ - [Troubleshooting](#troubleshooting)
31
+ - [Contributing](#contributing)
32
+ - [License](#license)
33
+
34
+ ---
35
+
36
+ ## 🎯 Overview
37
+
38
+ **Claude Code Orchestrator Kit** is a comprehensive automation framework designed to supercharge your development workflow with Claude Code. It provides:
39
+
40
+ - **🤖 33+ Specialized AI Agents** — Orchestrators and workers for bugs, security, dependencies, dead code cleanup, and more
41
+ - **⚡ MCP Server Management** — 6 pre-configured MCP setups for different use cases (600-5000 tokens)
42
+ - **🔧 20+ Slash Commands** — Health checks, SpecKit, worktree management, releases
43
+ - **📊 Quality Gates** — Automated type-checking, builds, tests, coverage, security audits
44
+ - **🎯 Skills Library** — 15+ reusable utilities for validation, reporting, and automation
45
+ - **📈 Health Monitoring** — Track agent performance, success rates, and ecosystem health
46
+
47
+ ---
48
+
49
+ ## ✨ Features
50
+
51
+ ### 🤖 **AI Agents Ecosystem**
52
+
53
+ - **Health Orchestrators** — Complete workflows for bugs, security, dependencies, dead code
54
+ - **Development Workers** — LLM services, TypeScript types, cost calculation specialists
55
+ - **Testing Workers** — Integration tests, performance optimization, mobile responsiveness
56
+ - **Database Workers** — Supabase audits, API builders, database architecture
57
+ - **Infrastructure Workers** — Qdrant, quality validators, orchestration logic
58
+ - **Meta Workers** — Agent creators, skill builders
59
+
60
+ ### ⚙️ **MCP Server Configurations**
61
+
62
+ Switch between 6 optimized MCP configurations based on your needs:
63
+
64
+ | Configuration | Servers | Token Usage | Use Case |
65
+ |---------------|---------|-------------|----------|
66
+ | **BASE** | Context7 + Sequential Thinking | ~600 | Minimal, everyday use |
67
+ | **SUPABASE** | Base + Supabase (single) | ~2500 | Database work |
68
+ | **SUPABASE-FULL** | Base + Supabase (dual) | ~3000 | Multi-project database |
69
+ | **N8N** | Base + n8n automation | ~2500 | Workflow automation |
70
+ | **FRONTEND** | Base + Playwright + ShadCN | ~2000 | UI/UX development |
71
+ | **FULL** | All servers enabled | ~5000 | Maximum capabilities |
72
+
73
+ ### 🚀 **Slash Commands**
74
+
75
+ - **Health Checks** — `/health-bugs`, `/health-security`, `/health-deps`, `/health-cleanup`, `/health-metrics`
76
+ - **SpecKit** — `/speckit.analyze`, `/speckit.specify`, `/speckit.implement`, `/speckit.checklist`
77
+ - **Worktree Management** — `/worktree-create`, `/worktree-list`, `/worktree-cleanup`, `/worktree-remove`
78
+ - **Release Management** — `/push` (automated version bumping and changelog)
79
+ - **Translation** — `/translate-doc` (English ↔ Russian)
80
+
81
+ ### 📊 **Quality Gates**
82
+
83
+ Automated validation scripts:
84
+ - **Bundle Size Check** — Ensure production bundles stay within limits
85
+ - **Security Audit** — Scan for high/critical npm vulnerabilities
86
+ - **Code Coverage** — Validate test coverage meets thresholds
87
+
88
+ ### 🎯 **Skills Library**
89
+
90
+ Reusable utilities for:
91
+ - Plan validation, report generation, changelog creation
92
+ - Git operations, error parsing, template rendering
93
+ - Quality gates execution, rollback management
94
+ - Priority scoring, version extraction
95
+
96
+ ---
97
+
98
+ ## 🚀 Quick Start
99
+
100
+ ```bash
101
+ # 1. Clone or download this repository
102
+ git clone https://github.com/maslennikov-ig/claude-code-orchestrator-kit.git
103
+ cd claude-code-orchestrator-kit
104
+
105
+ # 2. Set up environment variables
106
+ cp .env.example .env.local
107
+ # Edit .env.local with your credentials
108
+
109
+ # 3. Choose MCP configuration
110
+ ./switch-mcp.sh
111
+ # Select option 1-6 based on your needs
112
+
113
+ # 4. Restart Claude Code
114
+ # Your orchestration system is ready!
115
+ ```
116
+
117
+ ---
118
+
119
+ ## 📦 Installation
120
+
121
+ ### Prerequisites
122
+
123
+ - **Claude Code** installed
124
+ - **Node.js** 18+ (for MCP servers)
125
+ - **Docker** (optional, for n8n MCP server)
126
+ - **Git** (for version control features)
127
+
128
+ ### Setup Steps
129
+
130
+ #### 1️⃣ **Copy to Your Project**
131
+
132
+ ```bash
133
+ # Option A: Copy entire .claude directory to your project
134
+ cp -r claude-code-orchestrator-kit/.claude /path/to/your/project/
135
+
136
+ # Option B: Clone and use as template
137
+ git clone https://github.com/maslennikov-ig/claude-code-orchestrator-kit.git my-project
138
+ cd my-project
139
+ rm -rf .git
140
+ git init
141
+ ```
142
+
143
+ #### 2️⃣ **Configure Environment Variables**
144
+
145
+ ```bash
146
+ # Copy example to local
147
+ cp .env.example .env.local
148
+
149
+ # Edit with your credentials
150
+ # Required for Supabase:
151
+ SUPABASE_PROJECT_REF=your-project-ref
152
+ SUPABASE_ACCESS_TOKEN=your-token
153
+ SUPABASE_DB_PASSWORD=your-password
154
+
155
+ # Required for Sequential Thinking:
156
+ SEQUENTIAL_THINKING_KEY=your-smithery-key
157
+ SEQUENTIAL_THINKING_PROFILE=your-profile
158
+
159
+ # Optional for n8n:
160
+ N8N_API_URL=https://your-n8n.com
161
+ N8N_API_KEY=your-n8n-key
162
+ ```
163
+
164
+ **Important:** Never commit `.env.local` to git! It's already in `.gitignore`.
165
+
166
+ #### 3️⃣ **Select MCP Configuration**
167
+
168
+ ```bash
169
+ ./switch-mcp.sh
170
+ ```
171
+
172
+ Choose configuration based on your workflow:
173
+ - **Option 1** — BASE (minimal, ~600 tokens)
174
+ - **Option 2** — SUPABASE (database work)
175
+ - **Option 3** — SUPABASE-FULL (multi-project)
176
+ - **Option 4** — N8N (automation workflows)
177
+ - **Option 5** — FRONTEND (UI/UX development)
178
+ - **Option 6** — FULL (all features)
179
+
180
+ #### 4️⃣ **Restart Claude Code**
181
+
182
+ After switching MCP config, restart Claude Code to apply changes.
183
+
184
+ #### 5️⃣ **Configure Local Settings (Optional)**
185
+
186
+ ```bash
187
+ # Copy settings example to local
188
+ cp .claude/settings.local.json.example .claude/settings.local.json
189
+
190
+ # Edit with your preferences
191
+ # - Choose which MCP servers to enable
192
+ # - Configure hooks for task completion
193
+ # - Customize for your workflow
194
+ ```
195
+
196
+ #### 6️⃣ **Verify Installation**
197
+
198
+ ```bash
199
+ # Check current MCP config
200
+ ./switch-mcp.sh
201
+ # Select option 0 to see active servers
202
+
203
+ # Try a health command in Claude Code
204
+ /health-bugs
205
+ ```
206
+
207
+ ---
208
+
209
+ ## 📚 Documentation
210
+
211
+ ### Comprehensive Guides
212
+
213
+ | Document | Description |
214
+ |----------|-------------|
215
+ | **[FAQ](docs/FAQ.md)** | Frequently asked questions about agents, MCP configs, and workflows |
216
+ | **[Architecture](docs/ARCHITECTURE.md)** | System design with Mermaid diagrams and workflow patterns |
217
+ | **[Tutorial: Custom Agents](docs/TUTORIAL-CUSTOM-AGENTS.md)** | Step-by-step guide to creating workers, orchestrators, and skills |
218
+ | **[Use Cases](docs/USE-CASES.md)** | Real-world case studies with metrics and lessons learned |
219
+ | **[Performance Optimization](docs/PERFORMANCE-OPTIMIZATION.md)** | Token usage optimization and cost reduction strategies |
220
+ | **[Migration Guide](docs/MIGRATION-GUIDE.md)** | Add Orchestrator Kit to existing projects |
221
+ | **[Roadmap](docs/ROADMAP.md)** | Future plans and community-driven feature requests |
222
+
223
+ ### Deep Dive Documentation
224
+
225
+ Located in `docs/Agents Ecosystem/`:
226
+
227
+ - **[AGENT-ORCHESTRATION.md](docs/Agents%20Ecosystem/AGENT-ORCHESTRATION.md)** — Working with orchestrators
228
+ - **[QUALITY-GATES-SPECIFICATION.md](docs/Agents%20Ecosystem/QUALITY-GATES-SPECIFICATION.md)** — Quality gates specification
229
+ - **[REPORT-TEMPLATE-STANDARD.md](docs/Agents%20Ecosystem/REPORT-TEMPLATE-STANDARD.md)** — Standard report format for workers
230
+ - **[spec-kit-comprehensive-updates.md](docs/Agents%20Ecosystem/spec-kit-comprehensive-updates.md)** — SpecKit customization guide
231
+
232
+ ### Quick Links
233
+
234
+ - **New to the kit?** Start with [Quick Start](#quick-start) → [Tutorial](docs/TUTORIAL-CUSTOM-AGENTS.md)
235
+ - **Want examples?** See [Use Cases](docs/USE-CASES.md) and [Usage Examples](#usage-examples)
236
+ - **Need help?** Check [FAQ](docs/FAQ.md) → [Troubleshooting](#troubleshooting)
237
+ - **Optimizing costs?** Read [Performance Optimization](docs/PERFORMANCE-OPTIMIZATION.md)
238
+ - **Migrating?** Follow [Migration Guide](docs/MIGRATION-GUIDE.md)
239
+
240
+ ---
241
+
242
+ ## 🔌 MCP Server Configurations
243
+
244
+ All MCP configurations are stored in `./mcp/` directory.
245
+
246
+ ### Available Configurations
247
+
248
+ #### **BASE** (`mcp/.mcp.base.json`)
249
+ ```json
250
+ {
251
+ "mcpServers": {
252
+ "context7": { ... }, // Library documentation
253
+ "server-sequential-thinking": { ... } // Enhanced reasoning
254
+ }
255
+ }
256
+ ```
257
+ **Use for:** Daily development, minimal token usage
258
+
259
+ ---
260
+
261
+ #### **SUPABASE** (`mcp/.mcp.supabase-only.json`)
262
+ ```json
263
+ {
264
+ "mcpServers": {
265
+ "context7": { ... },
266
+ "server-sequential-thinking": { ... },
267
+ "supabase": { ... } // Main Supabase project
268
+ }
269
+ }
270
+ ```
271
+ **Use for:** Database design, RLS policies, SQL queries
272
+
273
+ ---
274
+
275
+ #### **FULL** (`mcp/.mcp.full.json`)
276
+ ```json
277
+ {
278
+ "mcpServers": {
279
+ "context7": { ... },
280
+ "server-sequential-thinking": { ... },
281
+ "supabase": { ... },
282
+ "supabase-legacy": { ... }, // Secondary project
283
+ "n8n-workflows": { ... }, // Workflow automation
284
+ "n8n-mcp": { ... }, // n8n server control
285
+ "playwright": { ... }, // Browser automation
286
+ "shadcn": { ... } // UI components
287
+ }
288
+ }
289
+ ```
290
+ **Use for:** Full-featured development, maximum capabilities
291
+
292
+ ---
293
+
294
+ ### Switching Configurations
295
+
296
+ ```bash
297
+ # Interactive menu
298
+ ./switch-mcp.sh
299
+
300
+ # Or manually
301
+ cp mcp/.mcp.base.json .mcp.json
302
+ ```
303
+
304
+ **Remember:** Restart Claude Code after switching!
305
+
306
+ ---
307
+
308
+ ## 📁 Project Structure
309
+
310
+ ```
311
+ claude-code-orchestrator-kit/
312
+
313
+ ├── 📂 .claude/ # Main orchestration system
314
+ │ ├── agents/ # 33+ AI agents
315
+ │ │ ├── health/ # Bug, security, deps, cleanup orchestrators
316
+ │ │ │ ├── orchestrators/ # Multi-phase workflow coordinators
317
+ │ │ │ └── workers/ # Specialized execution agents
318
+ │ │ ├── development/ # LLM, TypeScript, cost specialists
319
+ │ │ ├── testing/ # Integration, performance, mobile tests
320
+ │ │ ├── database/ # Supabase, API builders
321
+ │ │ ├── infrastructure/ # Qdrant, quality validators
322
+ │ │ ├── frontend/ # UI/UX specialists
323
+ │ │ ├── documentation/ # Technical writers
324
+ │ │ ├── research/ # Deep-dive investigators
325
+ │ │ └── meta/ # Agent and skill creators
326
+ │ │
327
+ │ ├── commands/ # 19+ slash commands
328
+ │ │ ├── health-*.md # Health monitoring workflows
329
+ │ │ ├── speckit.*.md # Specification toolkit
330
+ │ │ ├── worktree-*.md # Git worktree management
331
+ │ │ ├── push.md # Release automation
332
+ │ │ └── translate-doc.md # Documentation translation
333
+ │ │
334
+ │ ├── skills/ # 15+ reusable utilities
335
+ │ │ ├── validate-plan-file/ # Schema validation
336
+ │ │ ├── run-quality-gate/ # Automated checks
337
+ │ │ ├── rollback-changes/ # Restore files
338
+ │ │ ├── generate-report-header/ # Standardized reports
339
+ │ │ └── ...
340
+ │ │
341
+ │ ├── schemas/ # JSON schemas for validation
342
+ │ │ ├── base-plan.schema.json
343
+ │ │ ├── bug-plan.schema.json
344
+ │ │ ├── security-plan.schema.json
345
+ │ │ └── ...
346
+ │ │
347
+ │ └── scripts/ # Automation scripts
348
+ │ ├── release.sh # Version bumping
349
+ │ └── gates/ # Quality gate checks
350
+ │ ├── check-bundle-size.sh
351
+ │ ├── check-security.sh
352
+ │ └── check-coverage.sh
353
+
354
+ ├── 📂 mcp/ # MCP server configurations
355
+ │ ├── .mcp.base.json # Minimal (~600 tokens)
356
+ │ ├── .mcp.supabase-only.json # Database work (~2500)
357
+ │ ├── .mcp.supabase-full.json # Multi-project (~3000)
358
+ │ ├── .mcp.n8n.json # Automation (~2500)
359
+ │ ├── .mcp.frontend.json # UI/UX (~2000)
360
+ │ └── .mcp.full.json # All servers (~5000)
361
+
362
+ ├── 📂 .github/ # GitHub Actions (optional)
363
+ │ └── workflows/
364
+
365
+ ├── 🔧 Configuration Files
366
+ │ ├── .env.example # Environment template
367
+ │ ├── .env.local # Your credentials (git-ignored)
368
+ │ ├── .gitignore # Security exclusions
369
+ │ ├── .mcp.json # Active MCP config
370
+ │ └── CLAUDE.md # Behavioral Operating System
371
+
372
+ └── 📜 Scripts
373
+ ├── switch-mcp.sh # MCP configuration switcher
374
+ └── README.md # This file
375
+ ```
376
+
377
+ ---
378
+
379
+ ## 🎯 Slash Commands
380
+
381
+ ### Health Monitoring
382
+
383
+ #### `/health-bugs`
384
+ Complete bug detection and fixing workflow.
385
+
386
+ **What it does:**
387
+ - Scans entire codebase for bugs
388
+ - Categorizes by priority (critical → high → medium → low)
389
+ - Fixes bugs stage by stage
390
+ - Runs quality gates after each stage
391
+ - Verification scan and iterative refinement
392
+
393
+ **Usage:**
394
+ ```
395
+ /health-bugs
396
+ ```
397
+
398
+ **Output:** `bug-hunting-report.md`, `bug-fixes-implemented.md`
399
+
400
+ ---
401
+
402
+ #### `/health-security`
403
+ Security vulnerability detection and remediation.
404
+
405
+ **Checks for:**
406
+ - SQL injection vulnerabilities
407
+ - XSS attack vectors
408
+ - Authentication/authorization issues
409
+ - RLS policy gaps
410
+ - Hardcoded secrets
411
+
412
+ **Usage:**
413
+ ```
414
+ /health-security
415
+ ```
416
+
417
+ ---
418
+
419
+ #### `/health-deps`
420
+ Dependency audit and safe updates.
421
+
422
+ **Features:**
423
+ - Detects outdated packages
424
+ - Finds security vulnerabilities
425
+ - Identifies unused dependencies
426
+ - One-at-a-time update strategy
427
+ - Validation and rollback support
428
+
429
+ **Usage:**
430
+ ```
431
+ /health-deps
432
+ ```
433
+
434
+ ---
435
+
436
+ #### `/health-cleanup`
437
+ Dead code detection and removal.
438
+
439
+ **Finds:**
440
+ - Unused imports
441
+ - Commented code blocks
442
+ - Unreachable code paths
443
+ - Debug artifacts (console.log, debugger)
444
+ - Unused variables/functions
445
+
446
+ **Usage:**
447
+ ```
448
+ /health-cleanup
449
+ ```
450
+
451
+ ---
452
+
453
+ #### `/health-metrics`
454
+ Monthly ecosystem health reports.
455
+
456
+ **Analyzes:**
457
+ - Agent performance and success rates
458
+ - Quality gate pass rates
459
+ - Context7 usage and effectiveness
460
+ - Complexity distribution
461
+ - Behavioral OS health
462
+
463
+ **Usage:**
464
+ ```
465
+ # Current month
466
+ /health-metrics
467
+
468
+ # Specific month
469
+ /health-metrics 2025-10
470
+
471
+ # Previous month
472
+ /health-metrics last-month
473
+ ```
474
+
475
+ **Output:** `docs/reports/metrics/YYYY-MM-ecosystem-health.md`
476
+
477
+ ---
478
+
479
+ ### SpecKit Commands
480
+
481
+ Specification-driven development toolkit.
482
+
483
+ | Command | Purpose |
484
+ |---------|---------|
485
+ | `/speckit.analyze` | Analyze requirements and extract key points |
486
+ | `/speckit.specify` | Generate detailed specifications |
487
+ | `/speckit.clarify` | Ask clarifying questions |
488
+ | `/speckit.plan` | Create implementation plan |
489
+ | `/speckit.implement` | Execute implementation |
490
+ | `/speckit.checklist` | Generate QA checklist |
491
+ | `/speckit.tasks` | Break into actionable tasks |
492
+ | `/speckit.constitution` | Define project constitution |
493
+
494
+ ---
495
+
496
+ ### Worktree Management
497
+
498
+ Git worktree automation for parallel work.
499
+
500
+ | Command | Purpose |
501
+ |---------|---------|
502
+ | `/worktree-create` | Create new worktree |
503
+ | `/worktree-list` | List all worktrees |
504
+ | `/worktree-cleanup` | Clean up merged worktrees |
505
+ | `/worktree-remove` | Remove specific worktree |
506
+
507
+ ---
508
+
509
+ ### Other Commands
510
+
511
+ #### `/push [patch|minor|major]`
512
+ Automated release management.
513
+
514
+ **Features:**
515
+ - Analyzes commits since last release
516
+ - Auto-detects version bump type
517
+ - Updates `package.json`
518
+ - Generates changelog entry
519
+ - Creates git tag
520
+ - Pushes to remote
521
+
522
+ **Usage:**
523
+ ```
524
+ /push patch # 1.0.0 → 1.0.1
525
+ /push minor # 1.0.0 → 1.1.0
526
+ /push major # 1.0.0 → 2.0.0
527
+ ```
528
+
529
+ ---
530
+
531
+ #### `/translate-doc`
532
+ Translate documentation between English and Russian.
533
+
534
+ **Usage:**
535
+ ```
536
+ /translate-doc path/to/doc.md
537
+ ```
538
+
539
+ ---
540
+
541
+ ## 🤖 Agents Ecosystem
542
+
543
+ ### Architecture
544
+
545
+ **Orchestrators** → Plan workflows, create tasks, validate outputs, manage iterations
546
+ **Workers** → Execute specific tasks, generate reports, return control
547
+ **Skills** → Reusable utilities for validation, reporting, automation
548
+
549
+ ### Health Orchestrators
550
+
551
+ #### `bug-orchestrator`
552
+ Manages complete bug fixing workflow.
553
+
554
+ **Phases:**
555
+ 1. Pre-flight validation
556
+ 2. Bug detection (via bug-hunter)
557
+ 3. Quality gate 1 (validation)
558
+ 4. Staged fixing by priority
559
+ 5. Quality gates per priority
560
+ 6. Verification scan
561
+ 7. Iterative refinement (up to 3 cycles)
562
+ 8. Final summary
563
+
564
+ **Key Features:**
565
+ - Priority-based fixing (critical → low)
566
+ - Quality gates (type-check, build, tests)
567
+ - Rollback on failure
568
+ - Iteration tracking
569
+ - Comprehensive reporting
570
+
571
+ ---
572
+
573
+ #### `security-orchestrator`
574
+ Security vulnerability workflow.
575
+
576
+ **Similar to bug-orchestrator but for:**
577
+ - Security vulnerabilities
578
+ - Authentication issues
579
+ - Authorization bypasses
580
+ - Data exposure risks
581
+ - Secrets management
582
+
583
+ ---
584
+
585
+ #### `dependency-orchestrator`
586
+ Safe dependency update workflow.
587
+
588
+ **Features:**
589
+ - Audit existing dependencies
590
+ - One-at-a-time update strategy
591
+ - Validation after each update
592
+ - Rollback on failure
593
+ - Lock file management
594
+
595
+ ---
596
+
597
+ #### `dead-code-orchestrator`
598
+ Dead code cleanup workflow.
599
+
600
+ **Targets:**
601
+ - Unused imports
602
+ - Commented code
603
+ - Unreachable paths
604
+ - Debug leftovers
605
+ - Orphaned functions
606
+
607
+ ---
608
+
609
+ ### Worker Agents
610
+
611
+ #### Development
612
+ - **llm-service-specialist** — LLM integration, prompt engineering
613
+ - **typescript-types-specialist** — Type definitions, generics
614
+ - **cost-calculator-specialist** — Token usage, API cost estimation
615
+
616
+ #### Testing
617
+ - **integration-tester** — Database, API, async job tests
618
+ - **performance-optimizer** — Core Web Vitals, PageSpeed
619
+ - **mobile-responsiveness-tester** — Viewport testing, mobile UX
620
+ - **accessibility-tester** — WCAG compliance, screen readers
621
+
622
+ #### Database
623
+ - **database-architect** — PostgreSQL schema design, migrations
624
+ - **api-builder** — tRPC routers, auth middleware
625
+ - **supabase-auditor** — RLS policies, security validation
626
+
627
+ #### Infrastructure
628
+ - **infrastructure-specialist** — Supabase, Qdrant, Redis, BullMQ setup
629
+ - **qdrant-specialist** — Vector database operations
630
+ - **quality-validator-specialist** — Quality gate validation
631
+
632
+ #### Meta
633
+ - **skill-builder-v2** — Create new skills following SKILL.md format
634
+ - **agent-creator** — Generate new agents with proper structure
635
+
636
+ ---
637
+
638
+ ## 🎯 Skills Library
639
+
640
+ Reusable utilities accessible via `Skill` tool.
641
+
642
+ ### Validation Skills
643
+
644
+ | Skill | Purpose |
645
+ |-------|---------|
646
+ | `validate-plan-file` | Verify plan JSON schema |
647
+ | `validate-report-file` | Check report completeness |
648
+ | `validate-context7-availability` | Verify Context7 MCP server status |
649
+
650
+ ### Quality Skills
651
+
652
+ | Skill | Purpose |
653
+ |-------|---------|
654
+ | `run-quality-gate` | Execute type-check/build/tests |
655
+ | `check-infinite-loop` | Detect agent invocation loops |
656
+ | `calculate-complexity-score` | Analyze task complexity (0-10) |
657
+ | `calculate-priority-score` | Score bugs/tasks by severity |
658
+
659
+ ### Reporting Skills
660
+
661
+ | Skill | Purpose |
662
+ |-------|---------|
663
+ | `generate-report-header` | Create standardized report headers |
664
+ | `format-markdown-table` | Generate well-formatted tables |
665
+ | `format-todo-list` | Create TodoWrite-compatible lists |
666
+ | `generate-changelog` | Generate changelog from commits |
667
+
668
+ ### Utility Skills
669
+
670
+ | Skill | Purpose |
671
+ |-------|---------|
672
+ | `parse-git-status` | Parse git status into structured data |
673
+ | `parse-package-json` | Extract version, dependencies |
674
+ | `parse-error-logs` | Parse build/test errors |
675
+ | `extract-version` | Parse semantic version strings |
676
+ | `format-commit-message` | Generate conventional commits |
677
+ | `render-template` | Variable substitution in templates |
678
+ | `rollback-changes` | Restore files from changes log |
679
+
680
+ ---
681
+
682
+ ## 💡 Usage Examples
683
+
684
+ ### Example 1: Complete Bug Fixing Workflow
685
+
686
+ ```bash
687
+ # 1. Run bug detection and fixing
688
+ /health-bugs
689
+
690
+ # Agent workflow:
691
+ # - Pre-flight validation
692
+ # - Scans codebase (bug-hunter)
693
+ # - Finds 45 bugs (12 critical, 18 high, 10 medium, 5 low)
694
+ # - Fixes critical bugs first
695
+ # - Runs type-check ✅, build ✅, tests ✅
696
+ # - Fixes high priority bugs
697
+ # - Quality gates ✅
698
+ # - Verification scan
699
+ # - Final report generated
700
+
701
+ # 2. Review results
702
+ cat bug-hunting-report.md
703
+ cat bug-fixes-implemented.md
704
+
705
+ # 3. Review monthly metrics
706
+ /health-metrics
707
+ ```
708
+
709
+ ---
710
+
711
+ ### Example 2: Switching MCP for Frontend Work
712
+
713
+ ```bash
714
+ # Switch to frontend config (Playwright + ShadCN)
715
+ ./switch-mcp.sh
716
+ # Select option 5
717
+
718
+ # Restart Claude Code
719
+
720
+ # Now you have access to:
721
+ # - Playwright for browser automation
722
+ # - ShadCN for UI component generation
723
+ # - Context7 for library docs
724
+ # - Sequential Thinking for complex reasoning
725
+ ```
726
+
727
+ ---
728
+
729
+ ### Example 3: Worktree Workflow
730
+
731
+ ```bash
732
+ # Create worktree for feature development
733
+ /worktree-create feature/new-auth-flow
734
+
735
+ # Work in parallel worktree
736
+ cd .worktrees/feature-new-auth-flow
737
+ # ... make changes ...
738
+
739
+ # List all worktrees
740
+ /worktree-list
741
+
742
+ # Cleanup merged worktrees
743
+ /worktree-cleanup
744
+ ```
745
+
746
+ ---
747
+
748
+ ### Example 4: Release Automation
749
+
750
+ ```bash
751
+ # Auto-detect version bump and release
752
+ /push
753
+
754
+ # Or specify version bump type
755
+ /push minor
756
+
757
+ # What happens:
758
+ # 1. Analyzes commits since last release
759
+ # 2. Detects features, fixes, breaking changes
760
+ # 3. Bumps version in package.json
761
+ # 4. Generates changelog entry
762
+ # 5. Creates git commit + tag
763
+ # 6. Pushes to remote
764
+ ```
765
+
766
+ ---
767
+
768
+ ## ⚙️ Configuration
769
+
770
+ ### Environment Variables
771
+
772
+ All sensitive data is stored in `.env.local` (git-ignored).
773
+
774
+ **Required for Supabase MCP:**
775
+ ```bash
776
+ SUPABASE_PROJECT_REF=abc123xyz
777
+ SUPABASE_ACCESS_TOKEN=sbp_yourtokenhere
778
+ SUPABASE_DB_PASSWORD=yourpassword
779
+ ```
780
+
781
+ **Required for Sequential Thinking:**
782
+ ```bash
783
+ SEQUENTIAL_THINKING_KEY=your-smithery-key
784
+ SEQUENTIAL_THINKING_PROFILE=your-profile-name
785
+ ```
786
+
787
+ **Optional for n8n:**
788
+ ```bash
789
+ N8N_API_URL=https://your-n8n.com
790
+ N8N_API_KEY=your-api-key
791
+ ```
792
+
793
+ ### MCP Configuration Template
794
+
795
+ MCP configs use environment variable interpolation:
796
+
797
+ ```json
798
+ {
799
+ "mcpServers": {
800
+ "supabase": {
801
+ "command": "npx",
802
+ "args": ["-y", "@supabase/mcp-server-supabase@latest", "--project-ref=${SUPABASE_PROJECT_REF}"],
803
+ "env": {
804
+ "SUPABASE_ACCESS_TOKEN": "${SUPABASE_ACCESS_TOKEN}"
805
+ }
806
+ }
807
+ }
808
+ }
809
+ ```
810
+
811
+ Variables are automatically resolved from `.env.local`.
812
+
813
+ ---
814
+
815
+ ## 📚 Best Practices
816
+
817
+ ### 1. Start with BASE Configuration
818
+
819
+ Use minimal MCP config for daily work to conserve tokens:
820
+
821
+ ```bash
822
+ ./switch-mcp.sh
823
+ # Select option 1 (BASE)
824
+ ```
825
+
826
+ Switch to specialized configs only when needed.
827
+
828
+ ---
829
+
830
+ ### 2. Run Health Checks Weekly
831
+
832
+ ```bash
833
+ # Monday: Bug scan
834
+ /health-bugs
835
+
836
+ # Tuesday: Security audit
837
+ /health-security
838
+
839
+ # Wednesday: Dependency check
840
+ /health-deps
841
+
842
+ # Thursday: Dead code cleanup
843
+ /health-cleanup
844
+
845
+ # End of month: Metrics review
846
+ /health-metrics
847
+ ```
848
+
849
+ ---
850
+
851
+ ### 3. Use Quality Gates
852
+
853
+ Always enable quality gates in orchestrators:
854
+
855
+ ```json
856
+ {
857
+ "validation": {
858
+ "required": ["type-check", "build"],
859
+ "optional": ["tests"]
860
+ }
861
+ }
862
+ ```
863
+
864
+ ---
865
+
866
+ ### 4. Monitor Agent Performance
867
+
868
+ Check monthly metrics to identify issues:
869
+
870
+ ```bash
871
+ /health-metrics
872
+
873
+ # Look for:
874
+ # - Success rate < 85% (needs improvement)
875
+ # - Underutilized agents (< 5 invocations/month)
876
+ # - Quality gate failures
877
+ # - Fallback strategy triggers
878
+ ```
879
+
880
+ ---
881
+
882
+ ### 5. Keep .env.local Secure
883
+
884
+ ```bash
885
+ # Never commit
886
+ echo ".env.local" >> .gitignore
887
+
888
+ # Use strong credentials
889
+ # Rotate tokens regularly
890
+ # Use environment-specific values
891
+ ```
892
+
893
+ ---
894
+
895
+ ## 🔧 Troubleshooting
896
+
897
+ ### MCP Server Not Working
898
+
899
+ **Problem:** MCP server not showing up after switch
900
+
901
+ **Solution:**
902
+ ```bash
903
+ # 1. Verify config was copied
904
+ cat .mcp.json
905
+
906
+ # 2. Check environment variables
907
+ cat .env.local
908
+
909
+ # 3. Restart Claude Code completely
910
+ # (not just reload)
911
+
912
+ # 4. Check Claude Code logs for errors
913
+ ```
914
+
915
+ ---
916
+
917
+ ### Quality Gates Failing
918
+
919
+ **Problem:** Type-check or build keeps failing
920
+
921
+ **Solution:**
922
+ ```bash
923
+ # 1. Run manually to see full errors
924
+ npm run type-check
925
+ npm run build
926
+
927
+ # 2. Check for TypeScript issues
928
+ npx tsc --noEmit
929
+
930
+ # 3. Review validation settings
931
+ cat .claude/scripts/gates/check-*.sh
932
+ ```
933
+
934
+ ---
935
+
936
+ ### Agent Workflow Stuck
937
+
938
+ **Problem:** Orchestrator workflow not progressing
939
+
940
+ **Solution:**
941
+ ```bash
942
+ # 1. Check plan file
943
+ cat .tmp/current/plans/*.json
944
+
945
+ # 2. Verify reports generated
946
+ ls -la .tmp/current/reports/
947
+
948
+ # 3. Check for infinite loop
949
+ # (check-infinite-loop skill)
950
+
951
+ # 4. Review changes log
952
+ cat .tmp/current/changes/*.json
953
+ ```
954
+
955
+ ---
956
+
957
+ ### Environment Variables Not Loading
958
+
959
+ **Problem:** MCP servers show "undefined" for variables
960
+
961
+ **Solution:**
962
+ ```bash
963
+ # 1. Verify .env.local exists
964
+ ls -la .env.local
965
+
966
+ # 2. Check format (no quotes needed)
967
+ cat .env.local
968
+ # Correct: SUPABASE_PROJECT_REF=abc123
969
+ # Wrong: SUPABASE_PROJECT_REF="abc123"
970
+
971
+ # 3. Restart Claude Code
972
+ # Variables load on startup
973
+ ```
974
+
975
+ ---
976
+
977
+ ## 🤝 Contributing
978
+
979
+ Contributions are welcome! Please follow these guidelines:
980
+
981
+ ### Adding New Agents
982
+
983
+ 1. Create agent file in appropriate category:
984
+ ```
985
+ .claude/agents/{category}/workers/my-agent.md
986
+ ```
987
+
988
+ 2. Follow agent template structure
989
+ 3. Include examples and test cases
990
+ 4. Update this README with agent description
991
+
992
+ ### Adding New Skills
993
+
994
+ 1. Create skill directory:
995
+ ```
996
+ .claude/skills/my-skill/SKILL.md
997
+ ```
998
+
999
+ 2. Follow SKILL.md format
1000
+ 3. Add to Skills Library section in README
1001
+
1002
+ ### Adding MCP Configurations
1003
+
1004
+ 1. Create config in `mcp/` directory
1005
+ 2. Follow naming convention: `.mcp.{name}.json`
1006
+ 3. Use environment variables for secrets
1007
+ 4. Update `switch-mcp.sh` menu
1008
+ 5. Document in README
1009
+
1010
+ ---
1011
+
1012
+ ## 📄 License
1013
+
1014
+ MIT License - See [LICENSE](LICENSE) file for details.
1015
+
1016
+ ---
1017
+
1018
+ ## 🏆 Attribution
1019
+
1020
+ This project includes components adapted from:
1021
+
1022
+ ### SpecKit by GitHub
1023
+ The SpecKit commands (`/speckit.*`) are adapted from [GitHub's SpecKit](https://github.com/github/spec-kit) project.
1024
+ - **License:** MIT License
1025
+ - **Copyright:** GitHub, Inc.
1026
+ - **Components:** speckit.analyze, speckit.specify, speckit.clarify, speckit.plan, speckit.implement, speckit.checklist, speckit.tasks, speckit.constitution
1027
+
1028
+ Special thanks to the GitHub team for creating this excellent specification-driven development toolkit.
1029
+
1030
+ ---
1031
+
1032
+ ## 🙏 Acknowledgments
1033
+
1034
+ Built with and powered by:
1035
+
1036
+ - **[Claude Code](https://claude.com/claude-code)** by Anthropic
1037
+ The official CLI for Claude that powers this entire orchestration system
1038
+
1039
+ - **[Context7](https://upstash.com/context7)** by Upstash
1040
+ Real-time library documentation and best practices through MCP
1041
+
1042
+ - **[Smithery Sequential Thinking](https://smithery.ai/)**
1043
+ Enhanced reasoning capabilities through structured thinking
1044
+
1045
+ - **[Supabase MCP Server](https://github.com/supabase/mcp-server-supabase)**
1046
+ Database access and management through Model Context Protocol
1047
+
1048
+ - **[n8n](https://n8n.io/)**
1049
+ Workflow automation platform integration
1050
+
1051
+ - **[Playwright](https://playwright.dev/)**
1052
+ Browser automation for testing and validation
1053
+
1054
+ - **[shadcn/ui](https://ui.shadcn.com/)**
1055
+ Beautiful UI component system
1056
+
1057
+ Special thanks to the open-source community and all contributors!
1058
+
1059
+ ---
1060
+
1061
+ ## 🔗 Links
1062
+
1063
+ - **GitHub Repository:** [claude-code-orchestrator-kit](https://github.com/maslennikov-ig/claude-code-orchestrator-kit)
1064
+ - **Author:** [Igor Maslennikov](https://github.com/maslennikov-ig)
1065
+ - **Documentation:** [Full Docs](docs/Agents%20Ecosystem/)
1066
+ - **Issues:** [GitHub Issues](https://github.com/maslennikov-ig/claude-code-orchestrator-kit/issues)
1067
+ - **Discussions:** [GitHub Discussions](https://github.com/maslennikov-ig/claude-code-orchestrator-kit/discussions)
1068
+
1069
+ ---
1070
+
1071
+ ## 📊 Project Stats
1072
+
1073
+ - **33+** AI Agents (Orchestrators + Workers)
1074
+ - **19+** Slash Commands
1075
+ - **15+** Reusable Skills
1076
+ - **6** MCP Configurations
1077
+ - **3** Quality Gate Scripts
1078
+ - **100%** Environment Variable Security
1079
+
1080
+ ---
1081
+
1082
+ ## 👤 Author
1083
+
1084
+ **Igor Maslennikov**
1085
+ - GitHub: [@maslennikov-ig](https://github.com/maslennikov-ig)
1086
+ - Repository: [claude-code-orchestrator-kit](https://github.com/maslennikov-ig/claude-code-orchestrator-kit)
1087
+
1088
+ ---
1089
+
1090
+ Made with ❤️ for the Claude Code community
1091
+
1092
+ **Star ⭐ this repo if you find it useful!**
1093
+
1094
+ ## 📄 License
1095
+
1096
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
1097
+
1098
+ **TL;DR:** Free to use, modify, and distribute. Just keep the copyright notice.