@techwavedev/agi-agent-kit 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +147 -0
  3. package/bin/init.js +471 -0
  4. package/package.json +36 -0
  5. package/templates/.agent/agents/backend-specialist.md +263 -0
  6. package/templates/.agent/agents/code-archaeologist.md +106 -0
  7. package/templates/.agent/agents/database-architect.md +226 -0
  8. package/templates/.agent/agents/debugger.md +225 -0
  9. package/templates/.agent/agents/devops-engineer.md +242 -0
  10. package/templates/.agent/agents/documentation-writer.md +104 -0
  11. package/templates/.agent/agents/explorer-agent.md +73 -0
  12. package/templates/.agent/agents/frontend-specialist.md +556 -0
  13. package/templates/.agent/agents/game-developer.md +162 -0
  14. package/templates/.agent/agents/mobile-developer.md +377 -0
  15. package/templates/.agent/agents/orchestrator.md +416 -0
  16. package/templates/.agent/agents/penetration-tester.md +188 -0
  17. package/templates/.agent/agents/performance-optimizer.md +187 -0
  18. package/templates/.agent/agents/product-manager.md +112 -0
  19. package/templates/.agent/agents/project-planner.md +403 -0
  20. package/templates/.agent/agents/qa-automation-engineer.md +109 -0
  21. package/templates/.agent/agents/security-auditor.md +170 -0
  22. package/templates/.agent/agents/seo-specialist.md +111 -0
  23. package/templates/.agent/agents/test-engineer.md +158 -0
  24. package/templates/.agent/rules/GEMINI.md +253 -0
  25. package/templates/.agent/workflows/brainstorm.md +113 -0
  26. package/templates/.agent/workflows/create.md +59 -0
  27. package/templates/.agent/workflows/debug.md +103 -0
  28. package/templates/.agent/workflows/deploy.md +176 -0
  29. package/templates/.agent/workflows/enhance.md +63 -0
  30. package/templates/.agent/workflows/orchestrate.md +237 -0
  31. package/templates/.agent/workflows/plan.md +89 -0
  32. package/templates/.agent/workflows/preview.md +81 -0
  33. package/templates/.agent/workflows/status.md +86 -0
  34. package/templates/.agent/workflows/test.md +144 -0
  35. package/templates/.agent/workflows/ui-ux-pro-max.md +296 -0
  36. package/templates/base/.env.example +54 -0
  37. package/templates/base/AGENTS.md +463 -0
  38. package/templates/base/requirements.txt +6 -0
  39. package/templates/base/skill-creator/LICENSE.txt +202 -0
  40. package/templates/base/skill-creator/SKILL_skillcreator.md +389 -0
  41. package/templates/base/skill-creator/references/output-patterns.md +82 -0
  42. package/templates/base/skill-creator/references/workflows.md +28 -0
  43. package/templates/base/skill-creator/scripts/init_skill.py +304 -0
  44. package/templates/base/skill-creator/scripts/package_skill.py +110 -0
  45. package/templates/base/skill-creator/scripts/quick_validate.py +95 -0
  46. package/templates/base/skill-creator/scripts/update_catalog.py +371 -0
  47. package/templates/skills/core/README.md +21 -0
  48. package/templates/skills/core/documentation/SKILL.md +351 -0
  49. package/templates/skills/core/documentation/references/best_practices.md +201 -0
  50. package/templates/skills/core/documentation/scripts/analyze_code.py +307 -0
  51. package/templates/skills/core/documentation/scripts/detect_changes.py +460 -0
  52. package/templates/skills/core/documentation/scripts/generate_changelog.py +312 -0
  53. package/templates/skills/core/documentation/scripts/sync_docs.py +272 -0
  54. package/templates/skills/core/documentation/scripts/update_skill_docs.py +366 -0
  55. package/templates/skills/core/pdf-reader/SKILL.md +104 -0
  56. package/templates/skills/core/pdf-reader/references/pdf_libraries.md +83 -0
  57. package/templates/skills/core/pdf-reader/scripts/extract_text.py +295 -0
  58. package/templates/skills/core/qdrant-memory/SKILL.md +435 -0
  59. package/templates/skills/core/qdrant-memory/references/advanced_patterns.md +375 -0
  60. package/templates/skills/core/qdrant-memory/references/collection_schemas.md +229 -0
  61. package/templates/skills/core/qdrant-memory/references/complete_guide.md +724 -0
  62. package/templates/skills/core/qdrant-memory/references/embedding_models.md +325 -0
  63. package/templates/skills/core/qdrant-memory/scripts/benchmark_token_savings.py +640 -0
  64. package/templates/skills/core/qdrant-memory/scripts/embedding_utils.py +323 -0
  65. package/templates/skills/core/qdrant-memory/scripts/hybrid_search.py +214 -0
  66. package/templates/skills/core/qdrant-memory/scripts/init_collection.py +193 -0
  67. package/templates/skills/core/qdrant-memory/scripts/memory_retrieval.py +345 -0
  68. package/templates/skills/core/qdrant-memory/scripts/semantic_cache.py +282 -0
  69. package/templates/skills/core/qdrant-memory/scripts/test_skill.py +655 -0
  70. package/templates/skills/core/webcrawler/SKILL.md +292 -0
  71. package/templates/skills/core/webcrawler/references/advanced_crawling.md +181 -0
  72. package/templates/skills/core/webcrawler/scripts/crawl_docs.py +532 -0
  73. package/templates/skills/core/webcrawler/scripts/extract_page.py +189 -0
  74. package/templates/skills/core/webcrawler/scripts/filter_docs.py +200 -0
  75. package/templates/skills/knowledge/api-patterns/SKILL.md +81 -0
  76. package/templates/skills/knowledge/api-patterns/api-style.md +42 -0
  77. package/templates/skills/knowledge/api-patterns/auth.md +24 -0
  78. package/templates/skills/knowledge/api-patterns/documentation.md +26 -0
  79. package/templates/skills/knowledge/api-patterns/graphql.md +41 -0
  80. package/templates/skills/knowledge/api-patterns/rate-limiting.md +31 -0
  81. package/templates/skills/knowledge/api-patterns/response.md +37 -0
  82. package/templates/skills/knowledge/api-patterns/rest.md +40 -0
  83. package/templates/skills/knowledge/api-patterns/scripts/api_validator.py +211 -0
  84. package/templates/skills/knowledge/api-patterns/security-testing.md +122 -0
  85. package/templates/skills/knowledge/api-patterns/trpc.md +41 -0
  86. package/templates/skills/knowledge/api-patterns/versioning.md +22 -0
  87. package/templates/skills/knowledge/app-builder/SKILL.md +75 -0
  88. package/templates/skills/knowledge/app-builder/agent-coordination.md +71 -0
  89. package/templates/skills/knowledge/app-builder/feature-building.md +53 -0
  90. package/templates/skills/knowledge/app-builder/project-detection.md +34 -0
  91. package/templates/skills/knowledge/app-builder/scaffolding.md +118 -0
  92. package/templates/skills/knowledge/app-builder/tech-stack.md +40 -0
  93. package/templates/skills/knowledge/app-builder/templates/SKILL.md +39 -0
  94. package/templates/skills/knowledge/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  95. package/templates/skills/knowledge/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  96. package/templates/skills/knowledge/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  97. package/templates/skills/knowledge/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  98. package/templates/skills/knowledge/app-builder/templates/express-api/TEMPLATE.md +83 -0
  99. package/templates/skills/knowledge/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  100. package/templates/skills/knowledge/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  101. package/templates/skills/knowledge/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  102. package/templates/skills/knowledge/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  103. package/templates/skills/knowledge/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  104. package/templates/skills/knowledge/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  105. package/templates/skills/knowledge/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  106. package/templates/skills/knowledge/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  107. package/templates/skills/knowledge/architecture/SKILL.md +55 -0
  108. package/templates/skills/knowledge/architecture/context-discovery.md +43 -0
  109. package/templates/skills/knowledge/architecture/examples.md +94 -0
  110. package/templates/skills/knowledge/architecture/pattern-selection.md +68 -0
  111. package/templates/skills/knowledge/architecture/patterns-reference.md +50 -0
  112. package/templates/skills/knowledge/architecture/trade-off-analysis.md +77 -0
  113. package/templates/skills/knowledge/bash-linux/SKILL.md +199 -0
  114. package/templates/skills/knowledge/behavioral-modes/SKILL.md +242 -0
  115. package/templates/skills/knowledge/brainstorming/SKILL.md +163 -0
  116. package/templates/skills/knowledge/brainstorming/dynamic-questioning.md +350 -0
  117. package/templates/skills/knowledge/clean-code/SKILL.md +201 -0
  118. package/templates/skills/knowledge/code-review-checklist/SKILL.md +109 -0
  119. package/templates/skills/knowledge/database-design/SKILL.md +52 -0
  120. package/templates/skills/knowledge/database-design/database-selection.md +43 -0
  121. package/templates/skills/knowledge/database-design/indexing.md +39 -0
  122. package/templates/skills/knowledge/database-design/migrations.md +48 -0
  123. package/templates/skills/knowledge/database-design/optimization.md +36 -0
  124. package/templates/skills/knowledge/database-design/orm-selection.md +30 -0
  125. package/templates/skills/knowledge/database-design/schema-design.md +56 -0
  126. package/templates/skills/knowledge/database-design/scripts/schema_validator.py +172 -0
  127. package/templates/skills/knowledge/deployment-procedures/SKILL.md +241 -0
  128. package/templates/skills/knowledge/doc.md +177 -0
  129. package/templates/skills/knowledge/documentation-templates/SKILL.md +194 -0
  130. package/templates/skills/knowledge/frontend-design/SKILL.md +396 -0
  131. package/templates/skills/knowledge/frontend-design/animation-guide.md +331 -0
  132. package/templates/skills/knowledge/frontend-design/color-system.md +311 -0
  133. package/templates/skills/knowledge/frontend-design/decision-trees.md +418 -0
  134. package/templates/skills/knowledge/frontend-design/motion-graphics.md +306 -0
  135. package/templates/skills/knowledge/frontend-design/scripts/accessibility_checker.py +183 -0
  136. package/templates/skills/knowledge/frontend-design/scripts/ux_audit.py +722 -0
  137. package/templates/skills/knowledge/frontend-design/typography-system.md +345 -0
  138. package/templates/skills/knowledge/frontend-design/ux-psychology.md +541 -0
  139. package/templates/skills/knowledge/frontend-design/visual-effects.md +383 -0
  140. package/templates/skills/knowledge/game-development/2d-games/SKILL.md +119 -0
  141. package/templates/skills/knowledge/game-development/3d-games/SKILL.md +135 -0
  142. package/templates/skills/knowledge/game-development/SKILL.md +167 -0
  143. package/templates/skills/knowledge/game-development/game-art/SKILL.md +185 -0
  144. package/templates/skills/knowledge/game-development/game-audio/SKILL.md +190 -0
  145. package/templates/skills/knowledge/game-development/game-design/SKILL.md +129 -0
  146. package/templates/skills/knowledge/game-development/mobile-games/SKILL.md +108 -0
  147. package/templates/skills/knowledge/game-development/multiplayer/SKILL.md +132 -0
  148. package/templates/skills/knowledge/game-development/pc-games/SKILL.md +144 -0
  149. package/templates/skills/knowledge/game-development/vr-ar/SKILL.md +123 -0
  150. package/templates/skills/knowledge/game-development/web-games/SKILL.md +150 -0
  151. package/templates/skills/knowledge/geo-fundamentals/SKILL.md +156 -0
  152. package/templates/skills/knowledge/geo-fundamentals/scripts/geo_checker.py +289 -0
  153. package/templates/skills/knowledge/i18n-localization/SKILL.md +154 -0
  154. package/templates/skills/knowledge/i18n-localization/scripts/i18n_checker.py +241 -0
  155. package/templates/skills/knowledge/intelligent-routing/SKILL.md +334 -0
  156. package/templates/skills/knowledge/lint-and-validate/SKILL.md +45 -0
  157. package/templates/skills/knowledge/lint-and-validate/scripts/lint_runner.py +172 -0
  158. package/templates/skills/knowledge/lint-and-validate/scripts/type_coverage.py +173 -0
  159. package/templates/skills/knowledge/mcp-builder/SKILL.md +176 -0
  160. package/templates/skills/knowledge/mobile-design/SKILL.md +394 -0
  161. package/templates/skills/knowledge/mobile-design/decision-trees.md +516 -0
  162. package/templates/skills/knowledge/mobile-design/mobile-backend.md +491 -0
  163. package/templates/skills/knowledge/mobile-design/mobile-color-system.md +420 -0
  164. package/templates/skills/knowledge/mobile-design/mobile-debugging.md +122 -0
  165. package/templates/skills/knowledge/mobile-design/mobile-design-thinking.md +357 -0
  166. package/templates/skills/knowledge/mobile-design/mobile-navigation.md +458 -0
  167. package/templates/skills/knowledge/mobile-design/mobile-performance.md +767 -0
  168. package/templates/skills/knowledge/mobile-design/mobile-testing.md +356 -0
  169. package/templates/skills/knowledge/mobile-design/mobile-typography.md +433 -0
  170. package/templates/skills/knowledge/mobile-design/platform-android.md +666 -0
  171. package/templates/skills/knowledge/mobile-design/platform-ios.md +561 -0
  172. package/templates/skills/knowledge/mobile-design/scripts/mobile_audit.py +670 -0
  173. package/templates/skills/knowledge/mobile-design/touch-psychology.md +537 -0
  174. package/templates/skills/knowledge/nextjs-best-practices/SKILL.md +203 -0
  175. package/templates/skills/knowledge/nodejs-best-practices/SKILL.md +333 -0
  176. package/templates/skills/knowledge/parallel-agents/SKILL.md +175 -0
  177. package/templates/skills/knowledge/performance-profiling/SKILL.md +143 -0
  178. package/templates/skills/knowledge/performance-profiling/scripts/lighthouse_audit.py +76 -0
  179. package/templates/skills/knowledge/plan-writing/SKILL.md +152 -0
  180. package/templates/skills/knowledge/powershell-windows/SKILL.md +167 -0
  181. package/templates/skills/knowledge/python-patterns/SKILL.md +441 -0
  182. package/templates/skills/knowledge/react-patterns/SKILL.md +198 -0
  183. package/templates/skills/knowledge/red-team-tactics/SKILL.md +199 -0
  184. package/templates/skills/knowledge/seo-fundamentals/SKILL.md +129 -0
  185. package/templates/skills/knowledge/seo-fundamentals/scripts/seo_checker.py +219 -0
  186. package/templates/skills/knowledge/server-management/SKILL.md +161 -0
  187. package/templates/skills/knowledge/systematic-debugging/SKILL.md +109 -0
  188. package/templates/skills/knowledge/tailwind-patterns/SKILL.md +269 -0
  189. package/templates/skills/knowledge/tdd-workflow/SKILL.md +149 -0
  190. package/templates/skills/knowledge/testing-patterns/SKILL.md +178 -0
  191. package/templates/skills/knowledge/testing-patterns/scripts/test_runner.py +219 -0
  192. package/templates/skills/knowledge/vulnerability-scanner/SKILL.md +276 -0
  193. package/templates/skills/knowledge/vulnerability-scanner/checklists.md +121 -0
  194. package/templates/skills/knowledge/vulnerability-scanner/scripts/security_scan.py +458 -0
  195. package/templates/skills/knowledge/webapp-testing/SKILL.md +187 -0
  196. package/templates/skills/knowledge/webapp-testing/scripts/playwright_runner.py +173 -0
@@ -0,0 +1,40 @@
1
+ # REST Principles
2
+
3
+ > Resource-based API design - nouns not verbs.
4
+
5
+ ## Resource Naming Rules
6
+
7
+ ```
8
+ Principles:
9
+ ├── Use NOUNS, not verbs (resources, not actions)
10
+ ├── Use PLURAL forms (/users not /user)
11
+ ├── Use lowercase with hyphens (/user-profiles)
12
+ ├── Nest for relationships (/users/123/posts)
13
+ └── Keep shallow (max 3 levels deep)
14
+ ```
15
+
16
+ ## HTTP Method Selection
17
+
18
+ | Method | Purpose | Idempotent? | Body? |
19
+ |--------|---------|-------------|-------|
20
+ | **GET** | Read resource(s) | Yes | No |
21
+ | **POST** | Create new resource | No | Yes |
22
+ | **PUT** | Replace entire resource | Yes | Yes |
23
+ | **PATCH** | Partial update | No | Yes |
24
+ | **DELETE** | Remove resource | Yes | No |
25
+
26
+ ## Status Code Selection
27
+
28
+ | Situation | Code | Why |
29
+ |-----------|------|-----|
30
+ | Success (read) | 200 | Standard success |
31
+ | Created | 201 | New resource created |
32
+ | No content | 204 | Success, nothing to return |
33
+ | Bad request | 400 | Malformed request |
34
+ | Unauthorized | 401 | Missing/invalid auth |
35
+ | Forbidden | 403 | Valid auth, no permission |
36
+ | Not found | 404 | Resource doesn't exist |
37
+ | Conflict | 409 | State conflict (duplicate) |
38
+ | Validation error | 422 | Valid syntax, invalid data |
39
+ | Rate limited | 429 | Too many requests |
40
+ | Server error | 500 | Our fault |
@@ -0,0 +1,211 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ API Validator - Checks API endpoints for best practices.
4
+ Validates OpenAPI specs, response formats, and common issues.
5
+ """
6
+ import sys
7
+ import json
8
+ import re
9
+ from pathlib import Path
10
+
11
+ # Fix Windows console encoding for Unicode output
12
+ try:
13
+ sys.stdout.reconfigure(encoding='utf-8', errors='replace')
14
+ sys.stderr.reconfigure(encoding='utf-8', errors='replace')
15
+ except AttributeError:
16
+ pass # Python < 3.7
17
+
18
+ def find_api_files(project_path: Path) -> list:
19
+ """Find API-related files."""
20
+ patterns = [
21
+ "**/*api*.ts", "**/*api*.js", "**/*api*.py",
22
+ "**/routes/*.ts", "**/routes/*.js", "**/routes/*.py",
23
+ "**/controllers/*.ts", "**/controllers/*.js",
24
+ "**/endpoints/*.ts", "**/endpoints/*.py",
25
+ "**/*.openapi.json", "**/*.openapi.yaml",
26
+ "**/swagger.json", "**/swagger.yaml",
27
+ "**/openapi.json", "**/openapi.yaml"
28
+ ]
29
+
30
+ files = []
31
+ for pattern in patterns:
32
+ files.extend(project_path.glob(pattern))
33
+
34
+ # Exclude node_modules, etc.
35
+ return [f for f in files if not any(x in str(f) for x in ['node_modules', '.git', 'dist', 'build', '__pycache__'])]
36
+
37
+ def check_openapi_spec(file_path: Path) -> dict:
38
+ """Check OpenAPI/Swagger specification."""
39
+ issues = []
40
+ passed = []
41
+
42
+ try:
43
+ content = file_path.read_text(encoding='utf-8')
44
+
45
+ if file_path.suffix == '.json':
46
+ spec = json.loads(content)
47
+ else:
48
+ # Basic YAML check
49
+ if 'openapi:' in content or 'swagger:' in content:
50
+ passed.append("[OK] OpenAPI/Swagger version defined")
51
+ else:
52
+ issues.append("[X] No OpenAPI version found")
53
+
54
+ if 'paths:' in content:
55
+ passed.append("[OK] Paths section exists")
56
+ else:
57
+ issues.append("[X] No paths defined")
58
+
59
+ if 'components:' in content or 'definitions:' in content:
60
+ passed.append("[OK] Schema components defined")
61
+
62
+ return {'file': str(file_path), 'passed': passed, 'issues': issues, 'type': 'openapi'}
63
+
64
+ # JSON OpenAPI checks
65
+ if 'openapi' in spec or 'swagger' in spec:
66
+ passed.append("[OK] OpenAPI version defined")
67
+
68
+ if 'info' in spec:
69
+ if 'title' in spec['info']:
70
+ passed.append("[OK] API title defined")
71
+ if 'version' in spec['info']:
72
+ passed.append("[OK] API version defined")
73
+ if 'description' not in spec['info']:
74
+ issues.append("[!] API description missing")
75
+
76
+ if 'paths' in spec:
77
+ path_count = len(spec['paths'])
78
+ passed.append(f"[OK] {path_count} endpoints defined")
79
+
80
+ # Check each path
81
+ for path, methods in spec['paths'].items():
82
+ for method, details in methods.items():
83
+ if method in ['get', 'post', 'put', 'patch', 'delete']:
84
+ if 'responses' not in details:
85
+ issues.append(f"[X] {method.upper()} {path}: No responses defined")
86
+ if 'summary' not in details and 'description' not in details:
87
+ issues.append(f"[!] {method.upper()} {path}: No description")
88
+
89
+ except Exception as e:
90
+ issues.append(f"[X] Parse error: {e}")
91
+
92
+ return {'file': str(file_path), 'passed': passed, 'issues': issues, 'type': 'openapi'}
93
+
94
+ def check_api_code(file_path: Path) -> dict:
95
+ """Check API code for common issues."""
96
+ issues = []
97
+ passed = []
98
+
99
+ try:
100
+ content = file_path.read_text(encoding='utf-8')
101
+
102
+ # Check for error handling
103
+ error_patterns = [
104
+ r'try\s*{', r'try:', r'\.catch\(',
105
+ r'except\s+', r'catch\s*\('
106
+ ]
107
+ has_error_handling = any(re.search(p, content) for p in error_patterns)
108
+ if has_error_handling:
109
+ passed.append("[OK] Error handling present")
110
+ else:
111
+ issues.append("[X] No error handling found")
112
+
113
+ # Check for status codes
114
+ status_patterns = [
115
+ r'status\s*\(\s*\d{3}\s*\)', r'statusCode\s*[=:]\s*\d{3}',
116
+ r'HttpStatus\.', r'status_code\s*=\s*\d{3}',
117
+ r'\.status\(\d{3}\)', r'res\.status\('
118
+ ]
119
+ has_status = any(re.search(p, content) for p in status_patterns)
120
+ if has_status:
121
+ passed.append("[OK] HTTP status codes used")
122
+ else:
123
+ issues.append("[!] No explicit HTTP status codes")
124
+
125
+ # Check for validation
126
+ validation_patterns = [
127
+ r'validate', r'schema', r'zod', r'joi', r'yup',
128
+ r'pydantic', r'@Body\(', r'@Query\('
129
+ ]
130
+ has_validation = any(re.search(p, content, re.I) for p in validation_patterns)
131
+ if has_validation:
132
+ passed.append("[OK] Input validation present")
133
+ else:
134
+ issues.append("[!] No input validation detected")
135
+
136
+ # Check for auth middleware
137
+ auth_patterns = [
138
+ r'auth', r'jwt', r'bearer', r'token',
139
+ r'middleware', r'guard', r'@Authenticated'
140
+ ]
141
+ has_auth = any(re.search(p, content, re.I) for p in auth_patterns)
142
+ if has_auth:
143
+ passed.append("[OK] Authentication/authorization detected")
144
+
145
+ # Check for rate limiting
146
+ rate_patterns = [r'rateLimit', r'throttle', r'rate.?limit']
147
+ has_rate = any(re.search(p, content, re.I) for p in rate_patterns)
148
+ if has_rate:
149
+ passed.append("[OK] Rate limiting present")
150
+
151
+ # Check for logging
152
+ log_patterns = [r'console\.log', r'logger\.', r'logging\.', r'log\.']
153
+ has_logging = any(re.search(p, content) for p in log_patterns)
154
+ if has_logging:
155
+ passed.append("[OK] Logging present")
156
+
157
+ except Exception as e:
158
+ issues.append(f"[X] Read error: {e}")
159
+
160
+ return {'file': str(file_path), 'passed': passed, 'issues': issues, 'type': 'code'}
161
+
162
+ def main():
163
+ target = sys.argv[1] if len(sys.argv) > 1 else "."
164
+ project_path = Path(target)
165
+
166
+ print("\n" + "=" * 60)
167
+ print(" API VALIDATOR - Endpoint Best Practices Check")
168
+ print("=" * 60 + "\n")
169
+
170
+ api_files = find_api_files(project_path)
171
+
172
+ if not api_files:
173
+ print("[!] No API files found.")
174
+ print(" Looking for: routes/, controllers/, api/, openapi.json/yaml")
175
+ sys.exit(0)
176
+
177
+ results = []
178
+ for file_path in api_files[:15]: # Limit
179
+ if 'openapi' in file_path.name.lower() or 'swagger' in file_path.name.lower():
180
+ result = check_openapi_spec(file_path)
181
+ else:
182
+ result = check_api_code(file_path)
183
+ results.append(result)
184
+
185
+ # Print results
186
+ total_issues = 0
187
+ total_passed = 0
188
+
189
+ for result in results:
190
+ print(f"\n[FILE] {result['file']} [{result['type']}]")
191
+ for item in result['passed']:
192
+ print(f" {item}")
193
+ total_passed += 1
194
+ for item in result['issues']:
195
+ print(f" {item}")
196
+ if item.startswith("[X]"):
197
+ total_issues += 1
198
+
199
+ print("\n" + "=" * 60)
200
+ print(f"[RESULTS] {total_passed} passed, {total_issues} critical issues")
201
+ print("=" * 60)
202
+
203
+ if total_issues == 0:
204
+ print("[OK] API validation passed")
205
+ sys.exit(0)
206
+ else:
207
+ print("[X] Fix critical issues before deployment")
208
+ sys.exit(1)
209
+
210
+ if __name__ == "__main__":
211
+ main()
@@ -0,0 +1,122 @@
1
+ # API Security Testing
2
+
3
+ > Principles for testing API security. OWASP API Top 10, authentication, authorization testing.
4
+
5
+ ---
6
+
7
+ ## OWASP API Security Top 10
8
+
9
+ | Vulnerability | Test Focus |
10
+ |---------------|------------|
11
+ | **API1: BOLA** | Access other users' resources |
12
+ | **API2: Broken Auth** | JWT, session, credentials |
13
+ | **API3: Property Auth** | Mass assignment, data exposure |
14
+ | **API4: Resource Consumption** | Rate limiting, DoS |
15
+ | **API5: Function Auth** | Admin endpoints, role bypass |
16
+ | **API6: Business Flow** | Logic abuse, automation |
17
+ | **API7: SSRF** | Internal network access |
18
+ | **API8: Misconfiguration** | Debug endpoints, CORS |
19
+ | **API9: Inventory** | Shadow APIs, old versions |
20
+ | **API10: Unsafe Consumption** | Third-party API trust |
21
+
22
+ ---
23
+
24
+ ## Authentication Testing
25
+
26
+ ### JWT Testing
27
+
28
+ | Check | What to Test |
29
+ |-------|--------------|
30
+ | Algorithm | None, algorithm confusion |
31
+ | Secret | Weak secrets, brute force |
32
+ | Claims | Expiration, issuer, audience |
33
+ | Signature | Manipulation, key injection |
34
+
35
+ ### Session Testing
36
+
37
+ | Check | What to Test |
38
+ |-------|--------------|
39
+ | Generation | Predictability |
40
+ | Storage | Client-side security |
41
+ | Expiration | Timeout enforcement |
42
+ | Invalidation | Logout effectiveness |
43
+
44
+ ---
45
+
46
+ ## Authorization Testing
47
+
48
+ | Test Type | Approach |
49
+ |-----------|----------|
50
+ | **Horizontal** | Access peer users' data |
51
+ | **Vertical** | Access higher privilege functions |
52
+ | **Context** | Access outside allowed scope |
53
+
54
+ ### BOLA/IDOR Testing
55
+
56
+ 1. Identify resource IDs in requests
57
+ 2. Capture request with user A's session
58
+ 3. Replay with user B's session
59
+ 4. Check for unauthorized access
60
+
61
+ ---
62
+
63
+ ## Input Validation Testing
64
+
65
+ | Injection Type | Test Focus |
66
+ |----------------|------------|
67
+ | SQL | Query manipulation |
68
+ | NoSQL | Document queries |
69
+ | Command | System commands |
70
+ | LDAP | Directory queries |
71
+
72
+ **Approach:** Test all parameters, try type coercion, test boundaries, check error messages.
73
+
74
+ ---
75
+
76
+ ## Rate Limiting Testing
77
+
78
+ | Aspect | Check |
79
+ |--------|-------|
80
+ | Existence | Is there any limit? |
81
+ | Bypass | Headers, IP rotation |
82
+ | Scope | Per-user, per-IP, global |
83
+
84
+ **Bypass techniques:** X-Forwarded-For, different HTTP methods, case variations, API versioning.
85
+
86
+ ---
87
+
88
+ ## GraphQL Security
89
+
90
+ | Test | Focus |
91
+ |------|-------|
92
+ | Introspection | Schema disclosure |
93
+ | Batching | Query DoS |
94
+ | Nesting | Depth-based DoS |
95
+ | Authorization | Field-level access |
96
+
97
+ ---
98
+
99
+ ## Security Testing Checklist
100
+
101
+ **Authentication:**
102
+ - [ ] Test for bypass
103
+ - [ ] Check credential strength
104
+ - [ ] Verify token security
105
+
106
+ **Authorization:**
107
+ - [ ] Test BOLA/IDOR
108
+ - [ ] Check privilege escalation
109
+ - [ ] Verify function access
110
+
111
+ **Input:**
112
+ - [ ] Test all parameters
113
+ - [ ] Check for injection
114
+
115
+ **Config:**
116
+ - [ ] Check CORS
117
+ - [ ] Verify headers
118
+ - [ ] Test error handling
119
+
120
+ ---
121
+
122
+ > **Remember:** APIs are the backbone of modern apps. Test them like attackers will.
@@ -0,0 +1,41 @@
1
+ # tRPC Principles
2
+
3
+ > End-to-end type safety for TypeScript monorepos.
4
+
5
+ ## When to Use
6
+
7
+ ```
8
+ ✅ Perfect fit:
9
+ ├── TypeScript on both ends
10
+ ├── Monorepo structure
11
+ ├── Internal tools
12
+ ├── Rapid development
13
+ └── Type safety critical
14
+
15
+ ❌ Poor fit:
16
+ ├── Non-TypeScript clients
17
+ ├── Public API
18
+ ├── Need REST conventions
19
+ └── Multiple language backends
20
+ ```
21
+
22
+ ## Key Benefits
23
+
24
+ ```
25
+ Why tRPC:
26
+ ├── Zero schema maintenance
27
+ ├── End-to-end type inference
28
+ ├── IDE autocomplete across stack
29
+ ├── Instant API changes reflected
30
+ └── No code generation step
31
+ ```
32
+
33
+ ## Integration Patterns
34
+
35
+ ```
36
+ Common setups:
37
+ ├── Next.js + tRPC (most common)
38
+ ├── Monorepo with shared types
39
+ ├── Remix + tRPC
40
+ └── Any TS frontend + backend
41
+ ```
@@ -0,0 +1,22 @@
1
+ # Versioning Strategies
2
+
3
+ > Plan for API evolution from day one.
4
+
5
+ ## Decision Factors
6
+
7
+ | Strategy | Implementation | Trade-offs |
8
+ |----------|---------------|------------|
9
+ | **URI** | /v1/users | Clear, easy caching |
10
+ | **Header** | Accept-Version: 1 | Cleaner URLs, harder discovery |
11
+ | **Query** | ?version=1 | Easy to add, messy |
12
+ | **None** | Evolve carefully | Best for internal, risky for public |
13
+
14
+ ## Versioning Philosophy
15
+
16
+ ```
17
+ Consider:
18
+ ├── Public API? → Version in URI
19
+ ├── Internal only? → May not need versioning
20
+ ├── GraphQL? → Typically no versions (evolve schema)
21
+ ├── tRPC? → Types enforce compatibility
22
+ ```
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: app-builder
3
+ description: Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordinates agents.
4
+ allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent
5
+ ---
6
+
7
+ # App Builder - Application Building Orchestrator
8
+
9
+ > Analyzes user's requests, determines tech stack, plans structure, and coordinates agents.
10
+
11
+ ## 🎯 Selective Reading Rule
12
+
13
+ **Read ONLY files relevant to the request!** Check the content map, find what you need.
14
+
15
+ | File | Description | When to Read |
16
+ |------|-------------|--------------|
17
+ | `project-detection.md` | Keyword matrix, project type detection | Starting new project |
18
+ | `tech-stack.md` | 2025 default stack, alternatives | Choosing technologies |
19
+ | `agent-coordination.md` | Agent pipeline, execution order | Coordinating multi-agent work |
20
+ | `scaffolding.md` | Directory structure, core files | Creating project structure |
21
+ | `feature-building.md` | Feature analysis, error handling | Adding features to existing project |
22
+ | `templates/SKILL.md` | **Project templates** | Scaffolding new project |
23
+
24
+ ---
25
+
26
+ ## 📦 Templates (13)
27
+
28
+ Quick-start scaffolding for new projects. **Read the matching template only!**
29
+
30
+ | Template | Tech Stack | When to Use |
31
+ |----------|------------|-------------|
32
+ | [nextjs-fullstack](templates/nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app |
33
+ | [nextjs-saas](templates/nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product |
34
+ | [nextjs-static](templates/nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page |
35
+ | [nuxt-app](templates/nuxt-app/TEMPLATE.md) | Nuxt 3 + Pinia | Vue full-stack app |
36
+ | [express-api](templates/express-api/TEMPLATE.md) | Express + JWT | REST API |
37
+ | [python-fastapi](templates/python-fastapi/TEMPLATE.md) | FastAPI | Python API |
38
+ | [react-native-app](templates/react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app |
39
+ | [flutter-app](templates/flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform mobile |
40
+ | [electron-desktop](templates/electron-desktop/TEMPLATE.md) | Electron + React | Desktop app |
41
+ | [chrome-extension](templates/chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension |
42
+ | [cli-tool](templates/cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app |
43
+ | [monorepo-turborepo](templates/monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo |
44
+
45
+ ---
46
+
47
+ ## 🔗 Related Agents
48
+
49
+ | Agent | Role |
50
+ |-------|------|
51
+ | `project-planner` | Task breakdown, dependency graph |
52
+ | `frontend-specialist` | UI components, pages |
53
+ | `backend-specialist` | API, business logic |
54
+ | `database-architect` | Schema, migrations |
55
+ | `devops-engineer` | Deployment, preview |
56
+
57
+ ---
58
+
59
+ ## Usage Example
60
+
61
+ ```
62
+ User: "Make an Instagram clone with photo sharing and likes"
63
+
64
+ App Builder Process:
65
+ 1. Project type: Social Media App
66
+ 2. Tech stack: Next.js + Prisma + Cloudinary + Clerk
67
+ 3. Create plan:
68
+ ├─ Database schema (users, posts, likes, follows)
69
+ ├─ API routes (12 endpoints)
70
+ ├─ Pages (feed, profile, upload)
71
+ └─ Components (PostCard, Feed, LikeButton)
72
+ 4. Coordinate agents
73
+ 5. Report progress
74
+ 6. Start preview
75
+ ```
@@ -0,0 +1,71 @@
1
+ # Agent Coordination
2
+
3
+ > How App Builder orchestrates specialist agents.
4
+
5
+ ## Agent Pipeline
6
+
7
+ ```
8
+ ┌─────────────────────────────────────────────────────────────┐
9
+ │ APP BUILDER (Orchestrator) │
10
+ └─────────────────────────────────────────────────────────────┘
11
+
12
+
13
+ ┌─────────────────────────────────────────────────────────────┐
14
+ │ PROJECT PLANNER │
15
+ │ • Task breakdown │
16
+ │ • Dependency graph │
17
+ │ • File structure planning │
18
+ │ • Create {task-slug}.md in project root (MANDATORY) │
19
+ └─────────────────────────────────────────────────────────────┘
20
+
21
+
22
+ ┌─────────────────────────────────────────────────────────────┐
23
+ │ CHECKPOINT: PLAN VERIFICATION │
24
+ │ 🔴 VERIFY: Does {task-slug}.md exist in project root? │
25
+ │ 🔴 If NO → STOP → Create plan file first │
26
+ │ 🔴 If YES → Proceed to specialist agents │
27
+ └─────────────────────────────────────────────────────────────┘
28
+
29
+ ┌───────────────────┼───────────────────┐
30
+ ▼ ▼ ▼
31
+ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
32
+ │ DATABASE │ │ BACKEND │ │ FRONTEND │
33
+ │ ARCHITECT │ │ SPECIALIST │ │ SPECIALIST │
34
+ │ │ │ │ │ │
35
+ │ • Schema design │ │ • API routes │ │ • Components │
36
+ │ • Migrations │ │ • Controllers │ │ • Pages │
37
+ │ • Seed data │ │ • Middleware │ │ • Styling │
38
+ └─────────────────┘ └─────────────────┘ └─────────────────┘
39
+ │ │ │
40
+ └───────────────────┼───────────────────┘
41
+
42
+ ┌─────────────────────────────────────────────────────────────┐
43
+ │ PARALLEL PHASE (Optional) │
44
+ │ • Security Auditor → Vulnerability check │
45
+ │ • Test Engineer → Unit tests │
46
+ │ • Performance Optimizer → Bundle analysis │
47
+ └─────────────────────────────────────────────────────────────┘
48
+
49
+
50
+ ┌─────────────────────────────────────────────────────────────┐
51
+ │ DEVOPS ENGINEER │
52
+ │ • Environment setup │
53
+ │ • Preview deployment │
54
+ │ • Health check │
55
+ └─────────────────────────────────────────────────────────────┘
56
+ ```
57
+
58
+ ## Execution Order
59
+
60
+ | Phase | Agent(s) | Parallel? | Prerequisite | CHECKPOINT |
61
+ |-------|----------|-----------|--------------|------------|
62
+ | 0 | Socratic Gate | ❌ | - | ✅ Ask 3 questions |
63
+ | 1 | Project Planner | ❌ | Questions answered | ✅ **PLAN.md created** |
64
+ | 1.5 | **PLAN VERIFICATION** | ❌ | PLAN.md exists | ✅ **File exists in root** |
65
+ | 2 | Database Architect | ❌ | Plan ready | Schema defined |
66
+ | 3 | Backend Specialist | ❌ | Schema ready | API routes created |
67
+ | 4 | Frontend Specialist | ✅ | API ready (partial) | UI components ready |
68
+ | 5 | Security Auditor, Test Engineer | ✅ | Code ready | Tests & audit pass |
69
+ | 6 | DevOps Engineer | ❌ | All code ready | Deployment ready |
70
+
71
+ > 🔴 **CRITICAL:** Phase 1.5 is MANDATORY. No specialist agents proceed without PLAN.md verification.
@@ -0,0 +1,53 @@
1
+ # Feature Building
2
+
3
+ > How to analyze and implement new features.
4
+
5
+ ## Feature Analysis
6
+
7
+ ```
8
+ Request: "add payment system"
9
+
10
+ Analysis:
11
+ ├── Required Changes:
12
+ │ ├── Database: orders, payments tables
13
+ │ ├── Backend: /api/checkout, /api/webhooks/stripe
14
+ │ ├── Frontend: CheckoutForm, PaymentSuccess
15
+ │ └── Config: Stripe API keys
16
+
17
+ ├── Dependencies:
18
+ │ ├── stripe package
19
+ │ └── Existing user authentication
20
+
21
+ └── Estimated Time: 15-20 minutes
22
+ ```
23
+
24
+ ## Iterative Enhancement Process
25
+
26
+ ```
27
+ 1. Analyze existing project
28
+ 2. Create change plan
29
+ 3. Present plan to user
30
+ 4. Get approval
31
+ 5. Apply changes
32
+ 6. Test
33
+ 7. Show preview
34
+ ```
35
+
36
+ ## Error Handling
37
+
38
+ | Error Type | Solution Strategy |
39
+ |------------|-------------------|
40
+ | TypeScript Error | Fix type, add missing import |
41
+ | Missing Dependency | Run npm install |
42
+ | Port Conflict | Suggest alternative port |
43
+ | Database Error | Check migration, validate connection |
44
+
45
+ ## Recovery Strategy
46
+
47
+ ```
48
+ 1. Detect error
49
+ 2. Try automatic fix
50
+ 3. If failed, report to user
51
+ 4. Suggest alternative
52
+ 5. Rollback if necessary
53
+ ```
@@ -0,0 +1,34 @@
1
+ # Project Type Detection
2
+
3
+ > Analyze user requests to determine project type and template.
4
+
5
+ ## Keyword Matrix
6
+
7
+ | Keywords | Project Type | Template |
8
+ |----------|--------------|----------|
9
+ | blog, post, article | Blog | astro-static |
10
+ | e-commerce, product, cart, payment | E-commerce | nextjs-saas |
11
+ | dashboard, panel, management | Admin Dashboard | nextjs-fullstack |
12
+ | api, backend, service, rest | API Service | express-api |
13
+ | python, fastapi, django | Python API | python-fastapi |
14
+ | mobile, android, ios, react native | Mobile App (RN) | react-native-app |
15
+ | flutter, dart | Mobile App (Flutter) | flutter-app |
16
+ | portfolio, personal, cv | Portfolio | nextjs-static |
17
+ | crm, customer, sales | CRM | nextjs-fullstack |
18
+ | saas, subscription, stripe | SaaS | nextjs-saas |
19
+ | landing, promotional, marketing | Landing Page | nextjs-static |
20
+ | docs, documentation | Documentation | astro-static |
21
+ | extension, plugin, chrome | Browser Extension | chrome-extension |
22
+ | desktop, electron | Desktop App | electron-desktop |
23
+ | cli, command line, terminal | CLI Tool | cli-tool |
24
+ | monorepo, workspace | Monorepo | monorepo-turborepo |
25
+
26
+ ## Detection Process
27
+
28
+ ```
29
+ 1. Tokenize user request
30
+ 2. Extract keywords
31
+ 3. Determine project type
32
+ 4. Detect missing information → forward to conversation-manager
33
+ 5. Suggest tech stack
34
+ ```