@neyugn/agent-kits 0.1.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 (158) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +514 -0
  3. package/README.vi.md +410 -0
  4. package/README.zh.md +410 -0
  5. package/dist/cli.d.ts +1 -0
  6. package/dist/cli.js +422 -0
  7. package/kits/coder/ARCHITECTURE.md +289 -0
  8. package/kits/coder/agents/ai-engineer.md +344 -0
  9. package/kits/coder/agents/backend-specialist.md +270 -0
  10. package/kits/coder/agents/cloud-architect.md +363 -0
  11. package/kits/coder/agents/code-reviewer.md +284 -0
  12. package/kits/coder/agents/data-engineer.md +401 -0
  13. package/kits/coder/agents/database-specialist.md +251 -0
  14. package/kits/coder/agents/debugger.md +209 -0
  15. package/kits/coder/agents/devops-engineer.md +281 -0
  16. package/kits/coder/agents/documentation-writer.md +296 -0
  17. package/kits/coder/agents/frontend-specialist.md +298 -0
  18. package/kits/coder/agents/i18n-specialist.md +348 -0
  19. package/kits/coder/agents/integration-specialist.md +314 -0
  20. package/kits/coder/agents/mobile-developer.md +271 -0
  21. package/kits/coder/agents/multi-tenant-architect.md +281 -0
  22. package/kits/coder/agents/orchestrator.md +263 -0
  23. package/kits/coder/agents/performance-analyst.md +327 -0
  24. package/kits/coder/agents/project-planner.md +277 -0
  25. package/kits/coder/agents/queue-specialist.md +282 -0
  26. package/kits/coder/agents/realtime-specialist.md +267 -0
  27. package/kits/coder/agents/security-auditor.md +253 -0
  28. package/kits/coder/agents/test-engineer.md +315 -0
  29. package/kits/coder/agents/ux-researcher.md +388 -0
  30. package/kits/coder/rules/.cursorrules +287 -0
  31. package/kits/coder/rules/CLAUDE.md +287 -0
  32. package/kits/coder/rules/CODEX.md +287 -0
  33. package/kits/coder/rules/GEMINI.md +287 -0
  34. package/kits/coder/scripts/checklist.py +318 -0
  35. package/kits/coder/scripts/kit_status.py +292 -0
  36. package/kits/coder/scripts/skills_manager.py +243 -0
  37. package/kits/coder/scripts/verify_all.py +391 -0
  38. package/kits/coder/skills/accessibility-patterns/SKILL.md +372 -0
  39. package/kits/coder/skills/accessibility-patterns/scripts/a11y_checker.py +211 -0
  40. package/kits/coder/skills/ai-rag-patterns/SKILL.md +444 -0
  41. package/kits/coder/skills/api-patterns/SKILL.md +316 -0
  42. package/kits/coder/skills/api-patterns/assets/.gitkeep +1 -0
  43. package/kits/coder/skills/api-patterns/references/deep-dive.md +21 -0
  44. package/kits/coder/skills/api-patterns/scripts/api_validator.py +253 -0
  45. package/kits/coder/skills/api-patterns/scripts/validate.py +56 -0
  46. package/kits/coder/skills/auth-patterns/SKILL.md +267 -0
  47. package/kits/coder/skills/aws-patterns/SKILL.md +576 -0
  48. package/kits/coder/skills/brainstorming/SKILL.md +370 -0
  49. package/kits/coder/skills/brainstorming/assets/.gitkeep +1 -0
  50. package/kits/coder/skills/brainstorming/references/deep-dive.md +21 -0
  51. package/kits/coder/skills/brainstorming/scripts/validate.py +56 -0
  52. package/kits/coder/skills/clean-code/SKILL.md +240 -0
  53. package/kits/coder/skills/clean-code/assets/.gitkeep +1 -0
  54. package/kits/coder/skills/clean-code/references/deep-dive.md +21 -0
  55. package/kits/coder/skills/clean-code/scripts/lint_runner.py +186 -0
  56. package/kits/coder/skills/clean-code/scripts/validate.py +56 -0
  57. package/kits/coder/skills/database-design/SKILL.md +255 -0
  58. package/kits/coder/skills/database-design/assets/.gitkeep +1 -0
  59. package/kits/coder/skills/database-design/references/deep-dive.md +21 -0
  60. package/kits/coder/skills/database-design/scripts/schema_validator.py +272 -0
  61. package/kits/coder/skills/database-design/scripts/validate.py +56 -0
  62. package/kits/coder/skills/docker-patterns/SKILL.md +240 -0
  63. package/kits/coder/skills/documentation-templates/SKILL.md +441 -0
  64. package/kits/coder/skills/e2e-testing/SKILL.md +457 -0
  65. package/kits/coder/skills/flutter-patterns/SKILL.md +330 -0
  66. package/kits/coder/skills/frontend-design/SKILL.md +127 -0
  67. package/kits/coder/skills/github-actions/SKILL.md +349 -0
  68. package/kits/coder/skills/gitlab-ci-patterns/SKILL.md +466 -0
  69. package/kits/coder/skills/graphql-patterns/SKILL.md +558 -0
  70. package/kits/coder/skills/i18n-localization/SKILL.md +345 -0
  71. package/kits/coder/skills/i18n-localization/scripts/i18n_checker.py +267 -0
  72. package/kits/coder/skills/kubernetes-patterns/SKILL.md +357 -0
  73. package/kits/coder/skills/mermaid-diagrams/SKILL.md +351 -0
  74. package/kits/coder/skills/mobile-design/SKILL.md +305 -0
  75. package/kits/coder/skills/monitoring-observability/SKILL.md +458 -0
  76. package/kits/coder/skills/multi-tenancy/SKILL.md +317 -0
  77. package/kits/coder/skills/multi-tenancy/assets/.gitkeep +1 -0
  78. package/kits/coder/skills/multi-tenancy/references/deep-dive.md +21 -0
  79. package/kits/coder/skills/multi-tenancy/scripts/validate.py +56 -0
  80. package/kits/coder/skills/nodejs-best-practices/SKILL.md +220 -0
  81. package/kits/coder/skills/performance-profiling/SKILL.md +333 -0
  82. package/kits/coder/skills/performance-profiling/assets/.gitkeep +1 -0
  83. package/kits/coder/skills/performance-profiling/references/deep-dive.md +21 -0
  84. package/kits/coder/skills/performance-profiling/scripts/validate.py +56 -0
  85. package/kits/coder/skills/plan-writing/SKILL.md +360 -0
  86. package/kits/coder/skills/plan-writing/assets/.gitkeep +1 -0
  87. package/kits/coder/skills/plan-writing/references/deep-dive.md +21 -0
  88. package/kits/coder/skills/plan-writing/scripts/validate.py +56 -0
  89. package/kits/coder/skills/postgres-patterns/SKILL.md +361 -0
  90. package/kits/coder/skills/prompt-engineering/SKILL.md +277 -0
  91. package/kits/coder/skills/queue-patterns/SKILL.md +359 -0
  92. package/kits/coder/skills/queue-patterns/assets/.gitkeep +1 -0
  93. package/kits/coder/skills/queue-patterns/references/deep-dive.md +21 -0
  94. package/kits/coder/skills/queue-patterns/scripts/validate.py +56 -0
  95. package/kits/coder/skills/react-native-patterns/SKILL.md +393 -0
  96. package/kits/coder/skills/react-patterns/SKILL.md +319 -0
  97. package/kits/coder/skills/realtime-patterns/SKILL.md +506 -0
  98. package/kits/coder/skills/realtime-patterns/assets/.gitkeep +1 -0
  99. package/kits/coder/skills/realtime-patterns/references/deep-dive.md +21 -0
  100. package/kits/coder/skills/realtime-patterns/scripts/validate.py +56 -0
  101. package/kits/coder/skills/redis-patterns/SKILL.md +484 -0
  102. package/kits/coder/skills/security-fundamentals/SKILL.md +363 -0
  103. package/kits/coder/skills/security-fundamentals/assets/.gitkeep +1 -0
  104. package/kits/coder/skills/security-fundamentals/references/deep-dive.md +21 -0
  105. package/kits/coder/skills/security-fundamentals/scripts/security_scan.py +326 -0
  106. package/kits/coder/skills/security-fundamentals/scripts/validate.py +56 -0
  107. package/kits/coder/skills/seo-patterns/SKILL.md +262 -0
  108. package/kits/coder/skills/seo-patterns/scripts/seo_checker.py +211 -0
  109. package/kits/coder/skills/systematic-debugging/SKILL.md +478 -0
  110. package/kits/coder/skills/systematic-debugging/assets/.gitkeep +1 -0
  111. package/kits/coder/skills/systematic-debugging/references/deep-dive.md +21 -0
  112. package/kits/coder/skills/systematic-debugging/scripts/validate.py +56 -0
  113. package/kits/coder/skills/tailwind-patterns/SKILL.md +395 -0
  114. package/kits/coder/skills/terraform-patterns/SKILL.md +470 -0
  115. package/kits/coder/skills/testing-patterns/SKILL.md +285 -0
  116. package/kits/coder/skills/testing-patterns/assets/.gitkeep +1 -0
  117. package/kits/coder/skills/testing-patterns/references/deep-dive.md +21 -0
  118. package/kits/coder/skills/testing-patterns/scripts/test_runner.py +219 -0
  119. package/kits/coder/skills/testing-patterns/scripts/validate.py +56 -0
  120. package/kits/coder/skills/typescript-patterns/SKILL.md +417 -0
  121. package/kits/coder/skills/ui-ux-pro-max/SKILL.md +364 -0
  122. package/kits/coder/skills/ui-ux-pro-max/data/charts.csv +26 -0
  123. package/kits/coder/skills/ui-ux-pro-max/data/colors.csv +97 -0
  124. package/kits/coder/skills/ui-ux-pro-max/data/icons.csv +101 -0
  125. package/kits/coder/skills/ui-ux-pro-max/data/landing.csv +31 -0
  126. package/kits/coder/skills/ui-ux-pro-max/data/products.csv +97 -0
  127. package/kits/coder/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  128. package/kits/coder/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  129. package/kits/coder/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  130. package/kits/coder/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  131. package/kits/coder/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  132. package/kits/coder/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  133. package/kits/coder/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  134. package/kits/coder/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  135. package/kits/coder/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  136. package/kits/coder/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  137. package/kits/coder/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  138. package/kits/coder/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  139. package/kits/coder/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  140. package/kits/coder/skills/ui-ux-pro-max/data/styles.csv +59 -0
  141. package/kits/coder/skills/ui-ux-pro-max/data/typography.csv +58 -0
  142. package/kits/coder/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  143. package/kits/coder/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  144. package/kits/coder/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  145. package/kits/coder/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  146. package/kits/coder/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  147. package/kits/coder/skills/ui-ux-pro-max/scripts/core.py +257 -0
  148. package/kits/coder/skills/ui-ux-pro-max/scripts/design_system.py +488 -0
  149. package/kits/coder/skills/ui-ux-pro-max/scripts/search.py +76 -0
  150. package/kits/coder/workflows/.gitkeep +20 -0
  151. package/kits/coder/workflows/create.md +152 -0
  152. package/kits/coder/workflows/debug.md +223 -0
  153. package/kits/coder/workflows/deploy.md +283 -0
  154. package/kits/coder/workflows/orchestrate.md +243 -0
  155. package/kits/coder/workflows/plan.md +134 -0
  156. package/kits/coder/workflows/test.md +237 -0
  157. package/kits/coder/workflows/ui-ux-pro-max.md +109 -0
  158. package/package.json +49 -0
@@ -0,0 +1,287 @@
1
+ ---
2
+ trigger: manual
3
+ ---
4
+
5
+ # GEMINI.md - AGT-Kit
6
+
7
+ > AI Agent Capability Expansion Toolkit - This file defines AI behavior in this workspace.
8
+
9
+ ---
10
+
11
+ ## 🎯 Kit Purpose
12
+
13
+ AGT-Kit is a portable, modular AI agent system consisting of:
14
+
15
+ - **22 Specialist Agents** - Role-based AI personas
16
+ - **39 Skills** - Domain-specific knowledge modules
17
+ - **7 Workflows** - Slash command procedures
18
+
19
+ ---
20
+
21
+ ## CRITICAL: AGENT & SKILL PROTOCOL
22
+
23
+ > **MANDATORY:** Read agent file + skills BEFORE any implementation.
24
+
25
+ ### Modular Skill Loading
26
+
27
+ Agent activated → Check frontmatter `skills:` → Read SKILL.md → Apply.
28
+
29
+ - **Priority:** P0 (GEMINI.md) > P1 (Agent.md) > P2 (SKILL.md). All binding.
30
+ - **Enforcement:** Never skip reading. "Read → Understand → Apply" mandatory.
31
+
32
+ ---
33
+
34
+ ## 📥 REQUEST CLASSIFIER
35
+
36
+ | Request Type | Trigger Keywords | Active Agents |
37
+ | ------------ | ------------------------ | -------------------------- |
38
+ | **QUESTION** | "what is", "explain" | - |
39
+ | **PLAN** | "plan", "lập kế hoạch" | project-planner |
40
+ | **CREATE** | "create", "build", "tạo" | orchestrator → specialists |
41
+ | **DEBUG** | "debug", "fix", "gỡ lỗi" | debugger |
42
+ | **TEST** | "test", "kiểm tra" | test-engineer |
43
+ | **DEPLOY** | "deploy", "release" | devops-engineer |
44
+ | **COMPLEX** | Multi-domain task | orchestrator (3+ agents) |
45
+
46
+ ---
47
+
48
+ ## 🤖 AGENT ROUTING
49
+
50
+ **Always analyze and select best agent(s) before responding.**
51
+
52
+ ### Protocol
53
+
54
+ 1. **Analyze**: Detect domains (Frontend, Backend, Security, etc.)
55
+ 2. **Select**: Choose appropriate specialist(s)
56
+ 3. **Announce**: `⚡ **@[agent] activated!**`
57
+ 4. **Apply**: Use agent's persona and rules
58
+
59
+ ### Tier 1: Master Agents
60
+
61
+ | Agent | Use When |
62
+ | ----------------- | ---------------------------------------------- |
63
+ | `orchestrator` | Complex tasks requiring multiple specialists |
64
+ | `project-planner` | Planning projects, creating task breakdowns |
65
+ | `debugger` | Investigating bugs, systematic problem solving |
66
+
67
+ ### Tier 2: Development Specialists
68
+
69
+ | Agent | Use When |
70
+ | --------------------- | ----------------------------------- |
71
+ | `frontend-specialist` | React, Next.js, Vue, UI/UX work |
72
+ | `backend-specialist` | APIs, Node.js, Python, server logic |
73
+ | `mobile-developer` | React Native, Flutter, mobile apps |
74
+ | `database-specialist` | Schema design, queries, migrations |
75
+ | `devops-engineer` | CI/CD, deployment, infrastructure |
76
+
77
+ ### Tier 3: Quality & Security
78
+
79
+ | Agent | Use When |
80
+ | --------------------- | ---------------------------------------- |
81
+ | `security-auditor` | Security reviews, vulnerability scanning |
82
+ | `code-reviewer` | PR reviews, code quality checks |
83
+ | `test-engineer` | Writing tests, TDD, test coverage |
84
+ | `performance-analyst` | Performance optimization, profiling |
85
+
86
+ ### Tier 4: Domain Specialists
87
+
88
+ | Agent | Use When |
89
+ | ------------------------ | ------------------------------------------ |
90
+ | `realtime-specialist` | WebSocket, Socket.IO, event-driven |
91
+ | `multi-tenant-architect` | SaaS, tenant isolation, data partitioning |
92
+ | `queue-specialist` | Message queues, background jobs |
93
+ | `integration-specialist` | External APIs, webhooks, third-party |
94
+ | `ai-engineer` | LLM, RAG, AI/ML systems, prompt eng |
95
+ | `cloud-architect` | AWS, Azure, GCP, Terraform, multi-cloud |
96
+ | `data-engineer` | ETL, data pipelines, analytics, warehouses |
97
+
98
+ ### Tier 5: Support Agents
99
+
100
+ | Agent | Use When |
101
+ | ---------------------- | ------------------------------------- |
102
+ | `documentation-writer` | Technical docs, API documentation |
103
+ | `i18n-specialist` | Internationalization, translations |
104
+ | `ux-researcher` | UX research, usability, accessibility |
105
+
106
+ ### Routing Checklist
107
+
108
+ | Step | Check | If Unchecked |
109
+ | ---- | ------------------------------- | --------------------------------- |
110
+ | 1 | Correct agent identified? | → Analyze domain |
111
+ | 2 | Read agent's .md file? | → Open `.agent/agents/{agent}.md` |
112
+ | 3 | Announced @agent? | → Add announcement |
113
+ | 4 | Loaded skills from frontmatter? | → Check `skills:` field |
114
+
115
+ ❌ Code without agent = PROTOCOL VIOLATION
116
+ ❌ Skip announcement = USER CANNOT VERIFY
117
+
118
+ ---
119
+
120
+ ## 📜 WORKFLOWS (Slash Commands)
121
+
122
+ | Command | Description | Agent |
123
+ | -------------- | ------------------------------------ | --------------- |
124
+ | `/plan` | Create project plan, NO CODE | project-planner |
125
+ | `/create` | Build new application | orchestrator |
126
+ | `/debug` | Systematic debugging | debugger |
127
+ | `/test` | Generate and run tests | test-engineer |
128
+ | `/deploy` | Production deployment | devops-engineer |
129
+ | `/orchestrate` | Multi-agent coordination (3+ agents) | orchestrator |
130
+
131
+ ---
132
+
133
+ ## 🛠️ SKILL LOADING PROTOCOL
134
+
135
+ ```
136
+ User Request → Skill Description Match → Load SKILL.md → Apply
137
+ ```
138
+
139
+ ### Core Skills (Always Available)
140
+
141
+ - `clean-code` - Pragmatic coding standards (used by ALL agents)
142
+ - `testing-patterns` - Testing pyramid, AAA pattern
143
+ - `security-fundamentals` - OWASP 2025
144
+
145
+ ### Domain Skills (39 total - see ARCHITECTURE.md)
146
+
147
+ Key skills: `api-patterns`, `database-design`, `react-patterns`, `typescript-patterns`, `docker-patterns`, `kubernetes-patterns`, `terraform-patterns`, `auth-patterns`, `graphql-patterns`, `redis-patterns`, `realtime-patterns`, `queue-patterns`, `multi-tenancy`, `ai-rag-patterns`, `prompt-engineering`, `monitoring-observability`, `frontend-design`, `mobile-design`, `tailwind-patterns`, `e2e-testing`, `performance-profiling`, `plan-writing`, `systematic-debugging`, `brainstorming`, `github-actions`, `gitlab-ci-patterns`
148
+
149
+ > 🔴 Full skill list: See `ARCHITECTURE.md` → Skills section
150
+
151
+ ---
152
+
153
+ ## TIER 0: UNIVERSAL RULES
154
+
155
+ ### 🌐 Language
156
+
157
+ - Non-English prompt → Respond in user's language
158
+ - Code comments/variables → Always English
159
+ - File names → Always English (kebab-case)
160
+
161
+ ### 🧹 Clean Code
162
+
163
+ - Concise, no over-engineering, self-documenting
164
+ - Testing: Pyramid (Unit > Int > E2E) + AAA
165
+ - Performance: Measure first, Core Web Vitals
166
+
167
+ ### 🗺️ System Map
168
+
169
+ > 🔴 Read `ARCHITECTURE.md` at session start.
170
+
171
+ **Paths:** Agents `.agent/agents/`, Skills `.agent/skills/`, Workflows `.agent/workflows/`
172
+
173
+ ### 🧠 Read → Understand → Apply
174
+
175
+ Before coding: 1) What is the GOAL? 2) What PRINCIPLES? 3) How does this DIFFER from generic?
176
+
177
+ ---
178
+
179
+ ## TIER 1: CODE RULES
180
+
181
+ ### 📱 Project Routing
182
+
183
+ | Type | Agent | Skills |
184
+ | ---------------------------------- | ------------------- | ----------------------------- |
185
+ | MOBILE (iOS, Android, RN, Flutter) | mobile-developer | mobile-design |
186
+ | WEB (Next.js, React) | frontend-specialist | frontend-design |
187
+ | BACKEND (API, DB) | backend-specialist | api-patterns, database-design |
188
+
189
+ > 🔴 Mobile + frontend-specialist = WRONG.
190
+
191
+ ### 🛑 Socratic Gate
192
+
193
+ For complex requests, STOP and ASK first:
194
+
195
+ | Request Type | Action |
196
+ | ------------------- | ------------------------------------- |
197
+ | New Feature / Build | Ask 3+ strategic questions |
198
+ | Code Edit / Bug Fix | Confirm understanding first |
199
+ | Vague Request | Ask Purpose, Users, Scope |
200
+ | Full Orchestration | User must confirm plan before Phase 2 |
201
+
202
+ **Never Assume.** If 1% unclear → ASK.
203
+
204
+ ### 🎭 Mode Mapping
205
+
206
+ | Mode | Agent | Behavior |
207
+ | ---- | --------------- | ------------------------------- |
208
+ | plan | project-planner | 4-phase, NO CODE before Phase 4 |
209
+ | ask | - | Questions only |
210
+ | edit | orchestrator | Check {task-slug}.md first |
211
+
212
+ ---
213
+
214
+ ## TIER 2: DESIGN RULES
215
+
216
+ > Rules in specialist agents: Web → `frontend-specialist.md`, Mobile → `mobile-developer.md`
217
+
218
+ ---
219
+
220
+ ## 📜 SCRIPTS (Automation)
221
+
222
+ ### When to Run Scripts
223
+
224
+ | Trigger | Script | Purpose |
225
+ | ---------------- | -------------------------- | ---------------------------------------- |
226
+ | Before PR/commit | `checklist.py` | Quick validation (Security, Lint, Tests) |
227
+ | Before deploy | `verify_all.py` | Full pre-deployment suite |
228
+ | Kit maintenance | `kit_status.py --validate` | Check kit integrity |
229
+ | Managing skills | `skills_manager.py` | Enable/disable/search skills |
230
+
231
+ ### Master Scripts
232
+
233
+ ```bash
234
+ # Quick check during development
235
+ python3 .agent/scripts/checklist.py .
236
+
237
+ # Full check with performance audits
238
+ python3 .agent/scripts/checklist.py . --url http://localhost:3000
239
+
240
+ # Pre-deployment verification
241
+ python3 .agent/scripts/verify_all.py . --url http://localhost:3000
242
+
243
+ # Kit status
244
+ python3 .agent/scripts/kit_status.py --validate
245
+
246
+ # Skill management
247
+ python3 .agent/scripts/skills_manager.py list
248
+ python3 .agent/scripts/skills_manager.py search <query>
249
+ ```
250
+
251
+ ### Skill-Specific Scripts
252
+
253
+ | Skill | Script | When to Use |
254
+ | ------------------------ | --------------------- | -------------------------------- |
255
+ | `clean-code` | `lint_runner.py` | After code changes |
256
+ | `testing-patterns` | `test_runner.py` | After logic changes |
257
+ | `security-fundamentals` | `security_scan.py` | Before deploy, after deps change |
258
+ | `database-design` | `schema_validator.py` | After schema changes |
259
+ | `api-patterns` | `api_validator.py` | After API changes |
260
+ | `i18n-localization` | `i18n_checker.py` | After UI text changes |
261
+ | `seo-patterns` | `seo_checker.py` | After page changes |
262
+ | `accessibility-patterns` | `a11y_checker.py` | After UI changes |
263
+
264
+ ### AI Script Protocol
265
+
266
+ 1. **Security changes** → Run `security_scan.py`
267
+ 2. **Database changes** → Run `schema_validator.py`
268
+ 3. **API changes** → Run `api_validator.py`
269
+ 4. **UI changes** → Run `a11y_checker.py`
270
+ 5. **Before suggesting deploy** → Run `verify_all.py`
271
+
272
+ > 🔴 Full script documentation: See `ARCHITECTURE.md` → Scripts section
273
+
274
+ ---
275
+
276
+ ## 📊 Kit Statistics
277
+
278
+ | Metric | Count |
279
+ | --------- | ----- |
280
+ | Agents | 22 |
281
+ | Skills | 39 |
282
+ | Workflows | 7 |
283
+ | Scripts | 19 |
284
+
285
+ ---
286
+
287
+ > **Philosophy:** Modular agents + reusable skills + clear workflows + automated scripts = scalable AI assistance.
@@ -0,0 +1,318 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ AGT-Kit Master Checklist Runner
4
+ =================================
5
+
6
+ Orchestrates validation scripts in priority order for any project type.
7
+ Designed to work with AGT-Kit's 37 skills.
8
+
9
+ Usage:
10
+ python .agent/scripts/checklist.py <project_path>
11
+ python .agent/scripts/checklist.py . --url http://localhost:3000
12
+ python .agent/scripts/checklist.py . --quick
13
+
14
+ Priority Order (P0-P6):
15
+ P0: Security Scan (vulnerabilities, secrets)
16
+ P1: Lint & Type Check (code quality)
17
+ P2: Schema Validation (if database exists)
18
+ P3: Test Runner (unit/integration tests)
19
+ P4: UX Audit (accessibility, design)
20
+ P5: SEO Check (meta tags, Core Web Vitals)
21
+ P6: Performance (Lighthouse - requires URL)
22
+ """
23
+
24
+ import sys
25
+ import subprocess
26
+ import argparse
27
+ import json
28
+ from pathlib import Path
29
+ from typing import List, Optional, Dict, Any
30
+ from datetime import datetime
31
+
32
+ # ANSI colors for terminal output
33
+ class Colors:
34
+ HEADER = '\033[95m'
35
+ BLUE = '\033[94m'
36
+ CYAN = '\033[96m'
37
+ GREEN = '\033[92m'
38
+ YELLOW = '\033[93m'
39
+ RED = '\033[91m'
40
+ ENDC = '\033[0m'
41
+ BOLD = '\033[1m'
42
+
43
+
44
+ def print_header(text: str):
45
+ print(f"\n{Colors.BOLD}{Colors.CYAN}{'='*60}{Colors.ENDC}")
46
+ print(f"{Colors.BOLD}{Colors.CYAN}{text.center(60)}{Colors.ENDC}")
47
+ print(f"{Colors.BOLD}{Colors.CYAN}{'='*60}{Colors.ENDC}\n")
48
+
49
+
50
+ def print_step(text: str):
51
+ print(f"{Colors.BOLD}{Colors.BLUE}🔄 {text}{Colors.ENDC}")
52
+
53
+
54
+ def print_success(text: str):
55
+ print(f"{Colors.GREEN}✅ {text}{Colors.ENDC}")
56
+
57
+
58
+ def print_warning(text: str):
59
+ print(f"{Colors.YELLOW}⚠️ {text}{Colors.ENDC}")
60
+
61
+
62
+ def print_error(text: str):
63
+ print(f"{Colors.RED}❌ {text}{Colors.ENDC}")
64
+
65
+
66
+ # Define skill-based checks - maps to AGT-Kit skills
67
+ CORE_CHECKS = [
68
+ {
69
+ "name": "Security Scan",
70
+ "skill": "security-fundamentals",
71
+ "script": ".agent/skills/security-fundamentals/scripts/security_scan.py",
72
+ "priority": 0,
73
+ "required": True,
74
+ },
75
+ {
76
+ "name": "Lint Check",
77
+ "skill": "clean-code",
78
+ "script": ".agent/skills/clean-code/scripts/lint_runner.py",
79
+ "priority": 1,
80
+ "required": True,
81
+ },
82
+ {
83
+ "name": "Schema Validation",
84
+ "skill": "database-design",
85
+ "script": ".agent/skills/database-design/scripts/schema_validator.py",
86
+ "priority": 2,
87
+ "required": False,
88
+ },
89
+ {
90
+ "name": "Test Runner",
91
+ "skill": "testing-patterns",
92
+ "script": ".agent/skills/testing-patterns/scripts/test_runner.py",
93
+ "priority": 3,
94
+ "required": False,
95
+ },
96
+ {
97
+ "name": "UX Audit",
98
+ "skill": "frontend-design",
99
+ "script": ".agent/skills/frontend-design/scripts/ux_audit.py",
100
+ "priority": 4,
101
+ "required": False,
102
+ },
103
+ {
104
+ "name": "SEO Check",
105
+ "skill": "seo-patterns",
106
+ "script": ".agent/skills/seo-patterns/scripts/seo_checker.py",
107
+ "priority": 5,
108
+ "required": False,
109
+ },
110
+ ]
111
+
112
+ PERFORMANCE_CHECKS = [
113
+ {
114
+ "name": "Lighthouse Audit",
115
+ "skill": "performance-profiling",
116
+ "script": ".agent/skills/performance-profiling/scripts/lighthouse_audit.py",
117
+ "priority": 6,
118
+ "required": False,
119
+ "needs_url": True,
120
+ },
121
+ {
122
+ "name": "E2E Tests",
123
+ "skill": "e2e-testing",
124
+ "script": ".agent/skills/e2e-testing/scripts/playwright_runner.py",
125
+ "priority": 7,
126
+ "required": False,
127
+ "needs_url": True,
128
+ },
129
+ ]
130
+
131
+ QUICK_CHECKS = ["Security Scan", "Lint Check", "Test Runner"]
132
+
133
+
134
+ def detect_project_type(project_path: Path) -> str:
135
+ """Detect project type to filter relevant checks."""
136
+ if (project_path / "package.json").exists():
137
+ pkg = json.loads((project_path / "package.json").read_text())
138
+ deps = {**pkg.get("dependencies", {}), **pkg.get("devDependencies", {})}
139
+
140
+ if "next" in deps:
141
+ return "nextjs"
142
+ if "react" in deps:
143
+ return "react"
144
+ if "express" in deps or "fastify" in deps:
145
+ return "node-backend"
146
+ return "node"
147
+
148
+ if (project_path / "pyproject.toml").exists() or (project_path / "requirements.txt").exists():
149
+ return "python"
150
+
151
+ if (project_path / "pubspec.yaml").exists():
152
+ return "flutter"
153
+
154
+ if (project_path / "go.mod").exists():
155
+ return "go"
156
+
157
+ return "unknown"
158
+
159
+
160
+ def run_script(check: Dict[str, Any], project_path: Path, url: Optional[str] = None) -> Dict[str, Any]:
161
+ """Run a validation script and capture results."""
162
+ script_path = project_path / check["script"]
163
+
164
+ if not script_path.exists():
165
+ print_warning(f"{check['name']}: Script not found ({check['skill']} skill)")
166
+ return {
167
+ "name": check["name"],
168
+ "skill": check["skill"],
169
+ "passed": True,
170
+ "skipped": True,
171
+ "reason": "Script not found"
172
+ }
173
+
174
+ print_step(f"Running: {check['name']} ({check['skill']})")
175
+
176
+ # Build command
177
+ cmd = ["python", str(script_path), str(project_path)]
178
+ if url and check.get("needs_url"):
179
+ cmd.append(url)
180
+
181
+ try:
182
+ result = subprocess.run(
183
+ cmd,
184
+ capture_output=True,
185
+ text=True,
186
+ timeout=300 # 5 minute timeout
187
+ )
188
+
189
+ passed = result.returncode == 0
190
+
191
+ if passed:
192
+ print_success(f"{check['name']}: PASSED")
193
+ else:
194
+ print_error(f"{check['name']}: FAILED")
195
+ if result.stderr:
196
+ print(f" Error: {result.stderr[:200]}")
197
+
198
+ return {
199
+ "name": check["name"],
200
+ "skill": check["skill"],
201
+ "passed": passed,
202
+ "output": result.stdout[:2000] if result.stdout else "",
203
+ "error": result.stderr[:500] if result.stderr else "",
204
+ "skipped": False
205
+ }
206
+
207
+ except subprocess.TimeoutExpired:
208
+ print_error(f"{check['name']}: TIMEOUT (>5 minutes)")
209
+ return {"name": check["name"], "skill": check["skill"], "passed": False, "skipped": False, "error": "Timeout"}
210
+
211
+ except Exception as e:
212
+ print_error(f"{check['name']}: ERROR - {str(e)}")
213
+ return {"name": check["name"], "skill": check["skill"], "passed": False, "skipped": False, "error": str(e)}
214
+
215
+
216
+ def print_summary(results: List[Dict], project_type: str) -> bool:
217
+ """Print final summary report."""
218
+ print_header("📊 AGT-KIT CHECKLIST SUMMARY")
219
+
220
+ passed = sum(1 for r in results if r["passed"] and not r.get("skipped"))
221
+ failed = sum(1 for r in results if not r["passed"] and not r.get("skipped"))
222
+ skipped = sum(1 for r in results if r.get("skipped"))
223
+
224
+ print(f"Project Type: {project_type}")
225
+ print(f"Total Checks: {len(results)}")
226
+ print(f"{Colors.GREEN}✅ Passed: {passed}{Colors.ENDC}")
227
+ print(f"{Colors.RED}❌ Failed: {failed}{Colors.ENDC}")
228
+ print(f"{Colors.YELLOW}⏭️ Skipped: {skipped}{Colors.ENDC}")
229
+ print()
230
+
231
+ # Results by skill
232
+ print(f"{Colors.BOLD}Results by Skill:{Colors.ENDC}")
233
+ for r in results:
234
+ if r.get("skipped"):
235
+ status = f"{Colors.YELLOW}⏭️ {Colors.ENDC}"
236
+ elif r["passed"]:
237
+ status = f"{Colors.GREEN}✅{Colors.ENDC}"
238
+ else:
239
+ status = f"{Colors.RED}❌{Colors.ENDC}"
240
+
241
+ print(f" {status} {r['name']} ({r['skill']})")
242
+
243
+ print()
244
+
245
+ if failed > 0:
246
+ print_error(f"{failed} check(s) FAILED - Please fix before proceeding")
247
+ return False
248
+ else:
249
+ print_success("All checks PASSED ✨")
250
+ return True
251
+
252
+
253
+ def main():
254
+ parser = argparse.ArgumentParser(
255
+ description="AGT-Kit Master Checklist - Validate project with AGT-Kit skills",
256
+ formatter_class=argparse.RawDescriptionHelpFormatter,
257
+ epilog="""
258
+ Examples:
259
+ python .agent/scripts/checklist.py . # Core checks
260
+ python .agent/scripts/checklist.py . --url http://localhost:3000 # + Performance
261
+ python .agent/scripts/checklist.py . --quick # Quick checks only
262
+ """
263
+ )
264
+ parser.add_argument("project", help="Project path to validate")
265
+ parser.add_argument("--url", help="URL for performance checks (Lighthouse, Playwright)")
266
+ parser.add_argument("--quick", action="store_true", help="Run only quick checks (Security, Lint, Tests)")
267
+ parser.add_argument("--stop-on-fail", action="store_true", help="Stop on first critical failure")
268
+
269
+ args = parser.parse_args()
270
+
271
+ project_path = Path(args.project).resolve()
272
+
273
+ if not project_path.exists():
274
+ print_error(f"Project path does not exist: {project_path}")
275
+ sys.exit(1)
276
+
277
+ project_type = detect_project_type(project_path)
278
+
279
+ print_header("🚀 AGT-KIT MASTER CHECKLIST")
280
+ print(f"Project: {project_path}")
281
+ print(f"Type: {project_type}")
282
+ print(f"URL: {args.url if args.url else 'Not provided'}")
283
+ print(f"Mode: {'Quick' if args.quick else 'Full'}")
284
+
285
+ results = []
286
+
287
+ # Filter checks based on --quick flag
288
+ checks_to_run = CORE_CHECKS.copy()
289
+ if args.quick:
290
+ checks_to_run = [c for c in checks_to_run if c["name"] in QUICK_CHECKS]
291
+
292
+ # Run core checks
293
+ print_header("📋 CORE CHECKS")
294
+ for check in sorted(checks_to_run, key=lambda x: x["priority"]):
295
+ result = run_script(check, project_path)
296
+ results.append(result)
297
+
298
+ # Stop on critical failure if flag set
299
+ if args.stop_on_fail and check["required"] and not result["passed"] and not result.get("skipped"):
300
+ print_error(f"CRITICAL: {check['name']} failed. Stopping.")
301
+ print_summary(results, project_type)
302
+ sys.exit(1)
303
+
304
+ # Run performance checks if URL provided
305
+ if args.url and not args.quick:
306
+ print_header("⚡ PERFORMANCE CHECKS")
307
+ for check in PERFORMANCE_CHECKS:
308
+ result = run_script(check, project_path, args.url)
309
+ results.append(result)
310
+
311
+ # Print summary
312
+ all_passed = print_summary(results, project_type)
313
+
314
+ sys.exit(0 if all_passed else 1)
315
+
316
+
317
+ if __name__ == "__main__":
318
+ main()