javi-forge 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 (500) hide show
  1. package/.gitignore.template +105 -0
  2. package/.releaserc +44 -0
  3. package/README.md +45 -0
  4. package/ai-config/.skillignore +15 -0
  5. package/ai-config/AUTO_INVOKE.md +300 -0
  6. package/ai-config/agents/_TEMPLATE.md +93 -0
  7. package/ai-config/agents/business/api-designer.md +1657 -0
  8. package/ai-config/agents/business/business-analyst.md +1331 -0
  9. package/ai-config/agents/business/product-strategist.md +206 -0
  10. package/ai-config/agents/business/project-manager.md +178 -0
  11. package/ai-config/agents/business/requirements-analyst.md +1277 -0
  12. package/ai-config/agents/business/technical-writer.md +1679 -0
  13. package/ai-config/agents/creative/ux-designer.md +205 -0
  14. package/ai-config/agents/data-ai/ai-engineer.md +487 -0
  15. package/ai-config/agents/data-ai/analytics-engineer.md +953 -0
  16. package/ai-config/agents/data-ai/data-engineer.md +173 -0
  17. package/ai-config/agents/data-ai/data-scientist.md +672 -0
  18. package/ai-config/agents/data-ai/mlops-engineer.md +814 -0
  19. package/ai-config/agents/data-ai/prompt-engineer.md +772 -0
  20. package/ai-config/agents/development/angular-expert.md +620 -0
  21. package/ai-config/agents/development/backend-architect.md +795 -0
  22. package/ai-config/agents/development/database-specialist.md +212 -0
  23. package/ai-config/agents/development/frontend-specialist.md +686 -0
  24. package/ai-config/agents/development/fullstack-engineer.md +668 -0
  25. package/ai-config/agents/development/golang-pro.md +338 -0
  26. package/ai-config/agents/development/java-enterprise.md +400 -0
  27. package/ai-config/agents/development/javascript-pro.md +422 -0
  28. package/ai-config/agents/development/nextjs-pro.md +474 -0
  29. package/ai-config/agents/development/python-pro.md +570 -0
  30. package/ai-config/agents/development/react-pro.md +487 -0
  31. package/ai-config/agents/development/rust-pro.md +246 -0
  32. package/ai-config/agents/development/spring-boot-4-expert.md +326 -0
  33. package/ai-config/agents/development/typescript-pro.md +336 -0
  34. package/ai-config/agents/development/vue-specialist.md +605 -0
  35. package/ai-config/agents/infrastructure/cloud-architect.md +472 -0
  36. package/ai-config/agents/infrastructure/deployment-manager.md +358 -0
  37. package/ai-config/agents/infrastructure/devops-engineer.md +455 -0
  38. package/ai-config/agents/infrastructure/incident-responder.md +519 -0
  39. package/ai-config/agents/infrastructure/kubernetes-expert.md +705 -0
  40. package/ai-config/agents/infrastructure/monitoring-specialist.md +674 -0
  41. package/ai-config/agents/infrastructure/performance-engineer.md +658 -0
  42. package/ai-config/agents/orchestrator.md +241 -0
  43. package/ai-config/agents/quality/accessibility-auditor.md +1204 -0
  44. package/ai-config/agents/quality/code-reviewer-compact.md +123 -0
  45. package/ai-config/agents/quality/code-reviewer.md +363 -0
  46. package/ai-config/agents/quality/dependency-manager.md +743 -0
  47. package/ai-config/agents/quality/e2e-test-specialist.md +1005 -0
  48. package/ai-config/agents/quality/performance-tester.md +1086 -0
  49. package/ai-config/agents/quality/security-auditor.md +133 -0
  50. package/ai-config/agents/quality/test-engineer.md +453 -0
  51. package/ai-config/agents/specialists/api-designer.md +87 -0
  52. package/ai-config/agents/specialists/backend-architect.md +73 -0
  53. package/ai-config/agents/specialists/code-reviewer.md +77 -0
  54. package/ai-config/agents/specialists/db-optimizer.md +75 -0
  55. package/ai-config/agents/specialists/devops-engineer.md +83 -0
  56. package/ai-config/agents/specialists/documentation-writer.md +78 -0
  57. package/ai-config/agents/specialists/frontend-developer.md +75 -0
  58. package/ai-config/agents/specialists/performance-analyst.md +82 -0
  59. package/ai-config/agents/specialists/refactor-specialist.md +74 -0
  60. package/ai-config/agents/specialists/security-auditor.md +74 -0
  61. package/ai-config/agents/specialists/test-engineer.md +81 -0
  62. package/ai-config/agents/specialists/ux-consultant.md +76 -0
  63. package/ai-config/agents/specialized/agent-generator.md +1190 -0
  64. package/ai-config/agents/specialized/blockchain-developer.md +149 -0
  65. package/ai-config/agents/specialized/code-migrator.md +892 -0
  66. package/ai-config/agents/specialized/context-manager.md +978 -0
  67. package/ai-config/agents/specialized/documentation-writer.md +1078 -0
  68. package/ai-config/agents/specialized/ecommerce-expert.md +1756 -0
  69. package/ai-config/agents/specialized/embedded-engineer.md +1714 -0
  70. package/ai-config/agents/specialized/error-detective.md +1034 -0
  71. package/ai-config/agents/specialized/fintech-specialist.md +1659 -0
  72. package/ai-config/agents/specialized/freelance-project-planner-v2.md +1988 -0
  73. package/ai-config/agents/specialized/freelance-project-planner-v3.md +2136 -0
  74. package/ai-config/agents/specialized/freelance-project-planner-v4.md +4503 -0
  75. package/ai-config/agents/specialized/freelance-project-planner.md +722 -0
  76. package/ai-config/agents/specialized/game-developer.md +1963 -0
  77. package/ai-config/agents/specialized/healthcare-dev.md +1620 -0
  78. package/ai-config/agents/specialized/mobile-developer.md +188 -0
  79. package/ai-config/agents/specialized/parallel-plan-executor.md +506 -0
  80. package/ai-config/agents/specialized/plan-executor.md +485 -0
  81. package/ai-config/agents/specialized/solo-dev-planner-modular/00-INDEX.md +485 -0
  82. package/ai-config/agents/specialized/solo-dev-planner-modular/01-CORE.md +3493 -0
  83. package/ai-config/agents/specialized/solo-dev-planner-modular/02-SELF-CORRECTION.md +778 -0
  84. package/ai-config/agents/specialized/solo-dev-planner-modular/03-PROGRESSIVE-SETUP.md +918 -0
  85. package/ai-config/agents/specialized/solo-dev-planner-modular/04-DEPLOYMENT.md +1537 -0
  86. package/ai-config/agents/specialized/solo-dev-planner-modular/05-TESTING.md +2633 -0
  87. package/ai-config/agents/specialized/solo-dev-planner-modular/06-OPERATIONS.md +5610 -0
  88. package/ai-config/agents/specialized/solo-dev-planner-modular/INSTALL.md +335 -0
  89. package/ai-config/agents/specialized/solo-dev-planner-modular/QUICK-REFERENCE.txt +215 -0
  90. package/ai-config/agents/specialized/solo-dev-planner-modular/README.md +260 -0
  91. package/ai-config/agents/specialized/solo-dev-planner-modular/START-HERE.md +379 -0
  92. package/ai-config/agents/specialized/solo-dev-planner-modular/WORKFLOW-DIAGRAM.md +355 -0
  93. package/ai-config/agents/specialized/solo-dev-planner-modular/solo-dev-planner.md +279 -0
  94. package/ai-config/agents/specialized/template-writer.md +347 -0
  95. package/ai-config/agents/specialized/test-runner.md +99 -0
  96. package/ai-config/agents/specialized/vibekanban-smart-worker.md +244 -0
  97. package/ai-config/agents/specialized/wave-executor.md +138 -0
  98. package/ai-config/agents/specialized/workflow-optimizer.md +1114 -0
  99. package/ai-config/commands/git/changelog.md +32 -0
  100. package/ai-config/commands/git/ci-local.md +70 -0
  101. package/ai-config/commands/git/commit.md +35 -0
  102. package/ai-config/commands/git/fix-issue.md +23 -0
  103. package/ai-config/commands/git/pr-create.md +42 -0
  104. package/ai-config/commands/git/pr-review.md +50 -0
  105. package/ai-config/commands/git/worktree.md +39 -0
  106. package/ai-config/commands/refactoring/cleanup.md +24 -0
  107. package/ai-config/commands/refactoring/dead-code.md +40 -0
  108. package/ai-config/commands/refactoring/extract.md +31 -0
  109. package/ai-config/commands/testing/e2e.md +30 -0
  110. package/ai-config/commands/testing/tdd.md +36 -0
  111. package/ai-config/commands/testing/test-coverage.md +30 -0
  112. package/ai-config/commands/testing/test-fix.md +24 -0
  113. package/ai-config/commands/workflow/generate-agents-md.md +85 -0
  114. package/ai-config/commands/workflow/planning.md +47 -0
  115. package/ai-config/commands/workflows/compound.md +89 -0
  116. package/ai-config/commands/workflows/plan.md +77 -0
  117. package/ai-config/commands/workflows/review.md +78 -0
  118. package/ai-config/commands/workflows/work.md +75 -0
  119. package/ai-config/config.yaml +18 -0
  120. package/ai-config/hooks/_TEMPLATE.md +96 -0
  121. package/ai-config/hooks/block-dangerous-commands.md +75 -0
  122. package/ai-config/hooks/commit-guard.md +90 -0
  123. package/ai-config/hooks/context-loader.md +73 -0
  124. package/ai-config/hooks/improve-prompt.md +91 -0
  125. package/ai-config/hooks/learning-log.md +72 -0
  126. package/ai-config/hooks/model-router.md +86 -0
  127. package/ai-config/hooks/secret-scanner.md +64 -0
  128. package/ai-config/hooks/skill-validator.md +102 -0
  129. package/ai-config/hooks/task-artifact.md +114 -0
  130. package/ai-config/hooks/validate-workflow.md +100 -0
  131. package/ai-config/prompts/base.md +71 -0
  132. package/ai-config/prompts/modes/debug.md +34 -0
  133. package/ai-config/prompts/modes/deploy.md +40 -0
  134. package/ai-config/prompts/modes/research.md +32 -0
  135. package/ai-config/prompts/modes/review.md +33 -0
  136. package/ai-config/prompts/review-policy.md +79 -0
  137. package/ai-config/skills/_TEMPLATE.md +157 -0
  138. package/ai-config/skills/backend/api-gateway/SKILL.md +254 -0
  139. package/ai-config/skills/backend/bff-concepts/SKILL.md +239 -0
  140. package/ai-config/skills/backend/bff-spring/SKILL.md +364 -0
  141. package/ai-config/skills/backend/chi-router/SKILL.md +396 -0
  142. package/ai-config/skills/backend/error-handling/SKILL.md +255 -0
  143. package/ai-config/skills/backend/exceptions-spring/SKILL.md +323 -0
  144. package/ai-config/skills/backend/fastapi/SKILL.md +302 -0
  145. package/ai-config/skills/backend/gateway-spring/SKILL.md +390 -0
  146. package/ai-config/skills/backend/go-backend/SKILL.md +457 -0
  147. package/ai-config/skills/backend/gradle-multimodule/SKILL.md +274 -0
  148. package/ai-config/skills/backend/graphql-concepts/SKILL.md +352 -0
  149. package/ai-config/skills/backend/graphql-spring/SKILL.md +398 -0
  150. package/ai-config/skills/backend/grpc-concepts/SKILL.md +283 -0
  151. package/ai-config/skills/backend/grpc-spring/SKILL.md +445 -0
  152. package/ai-config/skills/backend/jwt-auth/SKILL.md +412 -0
  153. package/ai-config/skills/backend/notifications-concepts/SKILL.md +259 -0
  154. package/ai-config/skills/backend/recommendations-concepts/SKILL.md +261 -0
  155. package/ai-config/skills/backend/search-concepts/SKILL.md +263 -0
  156. package/ai-config/skills/backend/search-spring/SKILL.md +375 -0
  157. package/ai-config/skills/backend/spring-boot-4/SKILL.md +172 -0
  158. package/ai-config/skills/backend/websockets/SKILL.md +532 -0
  159. package/ai-config/skills/data-ai/ai-ml/SKILL.md +423 -0
  160. package/ai-config/skills/data-ai/analytics-concepts/SKILL.md +195 -0
  161. package/ai-config/skills/data-ai/analytics-spring/SKILL.md +340 -0
  162. package/ai-config/skills/data-ai/duckdb-analytics/SKILL.md +440 -0
  163. package/ai-config/skills/data-ai/langchain/SKILL.md +238 -0
  164. package/ai-config/skills/data-ai/mlflow/SKILL.md +302 -0
  165. package/ai-config/skills/data-ai/onnx-inference/SKILL.md +290 -0
  166. package/ai-config/skills/data-ai/powerbi/SKILL.md +352 -0
  167. package/ai-config/skills/data-ai/pytorch/SKILL.md +274 -0
  168. package/ai-config/skills/data-ai/scikit-learn/SKILL.md +321 -0
  169. package/ai-config/skills/data-ai/vector-db/SKILL.md +301 -0
  170. package/ai-config/skills/database/graph-databases/SKILL.md +218 -0
  171. package/ai-config/skills/database/graph-spring/SKILL.md +361 -0
  172. package/ai-config/skills/database/pgx-postgres/SKILL.md +512 -0
  173. package/ai-config/skills/database/redis-cache/SKILL.md +343 -0
  174. package/ai-config/skills/database/sqlite-embedded/SKILL.md +388 -0
  175. package/ai-config/skills/database/timescaledb/SKILL.md +320 -0
  176. package/ai-config/skills/docs/api-documentation/SKILL.md +293 -0
  177. package/ai-config/skills/docs/docs-spring/SKILL.md +377 -0
  178. package/ai-config/skills/docs/mustache-templates/SKILL.md +190 -0
  179. package/ai-config/skills/docs/technical-docs/SKILL.md +447 -0
  180. package/ai-config/skills/frontend/astro-ssr/SKILL.md +441 -0
  181. package/ai-config/skills/frontend/frontend-design/SKILL.md +54 -0
  182. package/ai-config/skills/frontend/frontend-web/SKILL.md +368 -0
  183. package/ai-config/skills/frontend/mantine-ui/SKILL.md +396 -0
  184. package/ai-config/skills/frontend/tanstack-query/SKILL.md +439 -0
  185. package/ai-config/skills/frontend/zod-validation/SKILL.md +417 -0
  186. package/ai-config/skills/frontend/zustand-state/SKILL.md +350 -0
  187. package/ai-config/skills/infrastructure/chaos-engineering/SKILL.md +244 -0
  188. package/ai-config/skills/infrastructure/chaos-spring/SKILL.md +378 -0
  189. package/ai-config/skills/infrastructure/devops-infra/SKILL.md +435 -0
  190. package/ai-config/skills/infrastructure/docker-containers/SKILL.md +420 -0
  191. package/ai-config/skills/infrastructure/kubernetes/SKILL.md +456 -0
  192. package/ai-config/skills/infrastructure/opentelemetry/SKILL.md +546 -0
  193. package/ai-config/skills/infrastructure/traefik-proxy/SKILL.md +474 -0
  194. package/ai-config/skills/infrastructure/woodpecker-ci/SKILL.md +315 -0
  195. package/ai-config/skills/mobile/ionic-capacitor/SKILL.md +504 -0
  196. package/ai-config/skills/mobile/mobile-ionic/SKILL.md +448 -0
  197. package/ai-config/skills/prompt-improver/SKILL.md +125 -0
  198. package/ai-config/skills/quality/ghagga-review/SKILL.md +216 -0
  199. package/ai-config/skills/references/hooks-patterns/SKILL.md +238 -0
  200. package/ai-config/skills/references/mcp-servers/SKILL.md +275 -0
  201. package/ai-config/skills/references/plugins-reference/SKILL.md +110 -0
  202. package/ai-config/skills/references/skills-reference/SKILL.md +420 -0
  203. package/ai-config/skills/references/subagent-templates/SKILL.md +193 -0
  204. package/ai-config/skills/systems-iot/modbus-protocol/SKILL.md +410 -0
  205. package/ai-config/skills/systems-iot/mqtt-rumqttc/SKILL.md +408 -0
  206. package/ai-config/skills/systems-iot/rust-systems/SKILL.md +386 -0
  207. package/ai-config/skills/systems-iot/tokio-async/SKILL.md +324 -0
  208. package/ai-config/skills/testing/playwright-e2e/SKILL.md +289 -0
  209. package/ai-config/skills/testing/testcontainers/SKILL.md +299 -0
  210. package/ai-config/skills/testing/vitest-testing/SKILL.md +381 -0
  211. package/ai-config/skills/workflow/ci-local-guide/SKILL.md +118 -0
  212. package/ai-config/skills/workflow/claude-automation-recommender/SKILL.md +299 -0
  213. package/ai-config/skills/workflow/claude-md-improver/SKILL.md +158 -0
  214. package/ai-config/skills/workflow/finishing-a-development-branch/SKILL.md +117 -0
  215. package/ai-config/skills/workflow/git-github/SKILL.md +334 -0
  216. package/ai-config/skills/workflow/git-github/references/examples.md +160 -0
  217. package/ai-config/skills/workflow/git-workflow/SKILL.md +214 -0
  218. package/ai-config/skills/workflow/ide-plugins/SKILL.md +277 -0
  219. package/ai-config/skills/workflow/ide-plugins-intellij/SKILL.md +401 -0
  220. package/ai-config/skills/workflow/obsidian-brain-workflow/SKILL.md +199 -0
  221. package/ai-config/skills/workflow/using-git-worktrees/SKILL.md +100 -0
  222. package/ai-config/skills/workflow/verification-before-completion/SKILL.md +73 -0
  223. package/ai-config/skills/workflow/wave-workflow/SKILL.md +178 -0
  224. package/ci-local/README.md +170 -0
  225. package/ci-local/ci-local.sh +297 -0
  226. package/ci-local/hooks/commit-msg +74 -0
  227. package/ci-local/hooks/pre-commit +162 -0
  228. package/ci-local/hooks/pre-push +41 -0
  229. package/ci-local/install.sh +49 -0
  230. package/ci-local/semgrep.yml +214 -0
  231. package/dist/commands/analyze.d.ts +9 -0
  232. package/dist/commands/analyze.d.ts.map +1 -0
  233. package/dist/commands/analyze.js +55 -0
  234. package/dist/commands/analyze.js.map +1 -0
  235. package/dist/commands/analyze.test.d.ts +2 -0
  236. package/dist/commands/analyze.test.d.ts.map +1 -0
  237. package/dist/commands/analyze.test.js +145 -0
  238. package/dist/commands/analyze.test.js.map +1 -0
  239. package/dist/commands/doctor.d.ts +7 -0
  240. package/dist/commands/doctor.d.ts.map +1 -0
  241. package/dist/commands/doctor.js +158 -0
  242. package/dist/commands/doctor.js.map +1 -0
  243. package/dist/commands/doctor.test.d.ts +2 -0
  244. package/dist/commands/doctor.test.d.ts.map +1 -0
  245. package/dist/commands/doctor.test.js +200 -0
  246. package/dist/commands/doctor.test.js.map +1 -0
  247. package/dist/commands/init.d.ts +9 -0
  248. package/dist/commands/init.d.ts.map +1 -0
  249. package/dist/commands/init.js +283 -0
  250. package/dist/commands/init.js.map +1 -0
  251. package/dist/commands/init.test.d.ts +2 -0
  252. package/dist/commands/init.test.d.ts.map +1 -0
  253. package/dist/commands/init.test.js +271 -0
  254. package/dist/commands/init.test.js.map +1 -0
  255. package/dist/commands/sync.d.ts +8 -0
  256. package/dist/commands/sync.d.ts.map +1 -0
  257. package/dist/commands/sync.js +201 -0
  258. package/dist/commands/sync.js.map +1 -0
  259. package/dist/constants.d.ts +21 -0
  260. package/dist/constants.d.ts.map +1 -0
  261. package/dist/constants.js +57 -0
  262. package/dist/constants.js.map +1 -0
  263. package/dist/e2e/aggressive.e2e.test.d.ts +2 -0
  264. package/dist/e2e/aggressive.e2e.test.d.ts.map +1 -0
  265. package/dist/e2e/aggressive.e2e.test.js +350 -0
  266. package/dist/e2e/aggressive.e2e.test.js.map +1 -0
  267. package/dist/e2e/commands.e2e.test.d.ts +2 -0
  268. package/dist/e2e/commands.e2e.test.d.ts.map +1 -0
  269. package/dist/e2e/commands.e2e.test.js +213 -0
  270. package/dist/e2e/commands.e2e.test.js.map +1 -0
  271. package/dist/index.d.ts +3 -0
  272. package/dist/index.d.ts.map +1 -0
  273. package/dist/index.js +82 -0
  274. package/dist/index.js.map +1 -0
  275. package/dist/lib/common.d.ts +17 -0
  276. package/dist/lib/common.d.ts.map +1 -0
  277. package/dist/lib/common.js +111 -0
  278. package/dist/lib/common.js.map +1 -0
  279. package/dist/lib/common.test.d.ts +2 -0
  280. package/dist/lib/common.test.d.ts.map +1 -0
  281. package/dist/lib/common.test.js +316 -0
  282. package/dist/lib/common.test.js.map +1 -0
  283. package/dist/lib/frontmatter.d.ts +18 -0
  284. package/dist/lib/frontmatter.d.ts.map +1 -0
  285. package/dist/lib/frontmatter.js +61 -0
  286. package/dist/lib/frontmatter.js.map +1 -0
  287. package/dist/lib/frontmatter.test.d.ts +2 -0
  288. package/dist/lib/frontmatter.test.d.ts.map +1 -0
  289. package/dist/lib/frontmatter.test.js +257 -0
  290. package/dist/lib/frontmatter.test.js.map +1 -0
  291. package/dist/lib/template.d.ts +24 -0
  292. package/dist/lib/template.d.ts.map +1 -0
  293. package/dist/lib/template.js +78 -0
  294. package/dist/lib/template.js.map +1 -0
  295. package/dist/lib/template.test.d.ts +2 -0
  296. package/dist/lib/template.test.d.ts.map +1 -0
  297. package/dist/lib/template.test.js +201 -0
  298. package/dist/lib/template.test.js.map +1 -0
  299. package/dist/types/index.d.ts +48 -0
  300. package/dist/types/index.d.ts.map +1 -0
  301. package/dist/types/index.js +2 -0
  302. package/dist/types/index.js.map +1 -0
  303. package/dist/ui/AnalyzeUI.d.ts +7 -0
  304. package/dist/ui/AnalyzeUI.d.ts.map +1 -0
  305. package/dist/ui/AnalyzeUI.js +100 -0
  306. package/dist/ui/AnalyzeUI.js.map +1 -0
  307. package/dist/ui/App.d.ts +13 -0
  308. package/dist/ui/App.d.ts.map +1 -0
  309. package/dist/ui/App.js +100 -0
  310. package/dist/ui/App.js.map +1 -0
  311. package/dist/ui/CIContext.d.ts +9 -0
  312. package/dist/ui/CIContext.d.ts.map +1 -0
  313. package/dist/ui/CIContext.js +9 -0
  314. package/dist/ui/CIContext.js.map +1 -0
  315. package/dist/ui/CISelector.d.ts +8 -0
  316. package/dist/ui/CISelector.d.ts.map +1 -0
  317. package/dist/ui/CISelector.js +45 -0
  318. package/dist/ui/CISelector.js.map +1 -0
  319. package/dist/ui/Doctor.d.ts +3 -0
  320. package/dist/ui/Doctor.d.ts.map +1 -0
  321. package/dist/ui/Doctor.js +89 -0
  322. package/dist/ui/Doctor.js.map +1 -0
  323. package/dist/ui/Header.d.ts +8 -0
  324. package/dist/ui/Header.d.ts.map +1 -0
  325. package/dist/ui/Header.js +30 -0
  326. package/dist/ui/Header.js.map +1 -0
  327. package/dist/ui/MemorySelector.d.ts +8 -0
  328. package/dist/ui/MemorySelector.d.ts.map +1 -0
  329. package/dist/ui/MemorySelector.js +46 -0
  330. package/dist/ui/MemorySelector.js.map +1 -0
  331. package/dist/ui/NameInput.d.ts +8 -0
  332. package/dist/ui/NameInput.d.ts.map +1 -0
  333. package/dist/ui/NameInput.js +69 -0
  334. package/dist/ui/NameInput.js.map +1 -0
  335. package/dist/ui/OptionSelector.d.ts +12 -0
  336. package/dist/ui/OptionSelector.d.ts.map +1 -0
  337. package/dist/ui/OptionSelector.js +69 -0
  338. package/dist/ui/OptionSelector.js.map +1 -0
  339. package/dist/ui/Progress.d.ts +11 -0
  340. package/dist/ui/Progress.d.ts.map +1 -0
  341. package/dist/ui/Progress.js +58 -0
  342. package/dist/ui/Progress.js.map +1 -0
  343. package/dist/ui/StackSelector.d.ts +9 -0
  344. package/dist/ui/StackSelector.d.ts.map +1 -0
  345. package/dist/ui/StackSelector.js +65 -0
  346. package/dist/ui/StackSelector.js.map +1 -0
  347. package/dist/ui/Summary.d.ts +12 -0
  348. package/dist/ui/Summary.d.ts.map +1 -0
  349. package/dist/ui/Summary.js +114 -0
  350. package/dist/ui/Summary.js.map +1 -0
  351. package/dist/ui/SyncUI.d.ts +10 -0
  352. package/dist/ui/SyncUI.d.ts.map +1 -0
  353. package/dist/ui/SyncUI.js +64 -0
  354. package/dist/ui/SyncUI.js.map +1 -0
  355. package/dist/ui/Welcome.d.ts +7 -0
  356. package/dist/ui/Welcome.d.ts.map +1 -0
  357. package/dist/ui/Welcome.js +45 -0
  358. package/dist/ui/Welcome.js.map +1 -0
  359. package/dist/ui/theme.d.ts +10 -0
  360. package/dist/ui/theme.d.ts.map +1 -0
  361. package/dist/ui/theme.js +9 -0
  362. package/dist/ui/theme.js.map +1 -0
  363. package/modules/engram/.gitignore-snippet.txt +6 -0
  364. package/modules/engram/.mcp-config-snippet.json +11 -0
  365. package/modules/engram/README.md +146 -0
  366. package/modules/engram/install-engram.sh +216 -0
  367. package/modules/ghagga/.env.example +43 -0
  368. package/modules/ghagga/README.md +153 -0
  369. package/modules/ghagga/docker-compose.yml +80 -0
  370. package/modules/ghagga/setup-ghagga.sh +139 -0
  371. package/modules/memory-simple/.project/NOTES.md +22 -0
  372. package/modules/memory-simple/README.md +23 -0
  373. package/modules/obsidian-brain/.obsidian/app.json +23 -0
  374. package/modules/obsidian-brain/.obsidian/appearance.json +5 -0
  375. package/modules/obsidian-brain/.obsidian/bookmarks.json +34 -0
  376. package/modules/obsidian-brain/.obsidian/community-plugins.json +1 -0
  377. package/modules/obsidian-brain/.obsidian/core-plugins-migration.json +21 -0
  378. package/modules/obsidian-brain/.obsidian/core-plugins.json +18 -0
  379. package/modules/obsidian-brain/.obsidian/daily-notes.json +5 -0
  380. package/modules/obsidian-brain/.obsidian/graph.json +37 -0
  381. package/modules/obsidian-brain/.obsidian/hotkeys.json +14 -0
  382. package/modules/obsidian-brain/.obsidian/plugins/dataview/data.json +25 -0
  383. package/modules/obsidian-brain/.obsidian/plugins/obsidian-kanban/data.json +29 -0
  384. package/modules/obsidian-brain/.obsidian/plugins/templater-obsidian/data.json +18 -0
  385. package/modules/obsidian-brain/.obsidian/snippets/project-memory.css +71 -0
  386. package/modules/obsidian-brain/.obsidian-gitignore-snippet.txt +8 -0
  387. package/modules/obsidian-brain/.project/Attachments/.gitkeep +0 -0
  388. package/modules/obsidian-brain/.project/Memory/BLOCKERS.md +78 -0
  389. package/modules/obsidian-brain/.project/Memory/CONTEXT.md +102 -0
  390. package/modules/obsidian-brain/.project/Memory/DASHBOARD.md +73 -0
  391. package/modules/obsidian-brain/.project/Memory/DECISIONS.md +87 -0
  392. package/modules/obsidian-brain/.project/Memory/KANBAN.md +15 -0
  393. package/modules/obsidian-brain/.project/Memory/README.md +61 -0
  394. package/modules/obsidian-brain/.project/Memory/WAVES.md +78 -0
  395. package/modules/obsidian-brain/.project/Sessions/TEMPLATE.md +99 -0
  396. package/modules/obsidian-brain/.project/Templates/ADR.md +33 -0
  397. package/modules/obsidian-brain/.project/Templates/Blocker.md +21 -0
  398. package/modules/obsidian-brain/.project/Templates/Session.md +88 -0
  399. package/modules/obsidian-brain/README.md +268 -0
  400. package/modules/obsidian-brain/new-wave.sh +182 -0
  401. package/package.json +51 -0
  402. package/schemas/agent.schema.json +34 -0
  403. package/schemas/ai-config.schema.json +28 -0
  404. package/schemas/skill.schema.json +44 -0
  405. package/src/commands/analyze.test.ts +145 -0
  406. package/src/commands/analyze.ts +69 -0
  407. package/src/commands/doctor.test.ts +208 -0
  408. package/src/commands/doctor.ts +163 -0
  409. package/src/commands/init.test.ts +298 -0
  410. package/src/commands/init.ts +285 -0
  411. package/src/constants.ts +69 -0
  412. package/src/e2e/aggressive.e2e.test.ts +557 -0
  413. package/src/e2e/commands.e2e.test.ts +298 -0
  414. package/src/index.tsx +106 -0
  415. package/src/lib/common.test.ts +318 -0
  416. package/src/lib/common.ts +127 -0
  417. package/src/lib/frontmatter.test.ts +291 -0
  418. package/src/lib/frontmatter.ts +77 -0
  419. package/src/lib/template.test.ts +226 -0
  420. package/src/lib/template.ts +99 -0
  421. package/src/types/index.ts +53 -0
  422. package/src/ui/AnalyzeUI.tsx +133 -0
  423. package/src/ui/App.tsx +175 -0
  424. package/src/ui/CIContext.tsx +25 -0
  425. package/src/ui/CISelector.tsx +72 -0
  426. package/src/ui/Doctor.tsx +122 -0
  427. package/src/ui/Header.tsx +48 -0
  428. package/src/ui/MemorySelector.tsx +73 -0
  429. package/src/ui/NameInput.tsx +82 -0
  430. package/src/ui/OptionSelector.tsx +100 -0
  431. package/src/ui/Progress.tsx +88 -0
  432. package/src/ui/StackSelector.tsx +101 -0
  433. package/src/ui/Summary.tsx +134 -0
  434. package/src/ui/Welcome.tsx +54 -0
  435. package/src/ui/theme.ts +10 -0
  436. package/stryker.config.json +19 -0
  437. package/tasks/_TEMPLATE/files-edited.md +3 -0
  438. package/tasks/_TEMPLATE/plan.md +3 -0
  439. package/tasks/_TEMPLATE/research.md +3 -0
  440. package/tasks/_TEMPLATE/verification.md +5 -0
  441. package/templates/common/dependabot/cargo.yml +11 -0
  442. package/templates/common/dependabot/github-actions.yml +16 -0
  443. package/templates/common/dependabot/gomod.yml +15 -0
  444. package/templates/common/dependabot/gradle.yml +15 -0
  445. package/templates/common/dependabot/header.yml +3 -0
  446. package/templates/common/dependabot/maven.yml +15 -0
  447. package/templates/common/dependabot/npm.yml +20 -0
  448. package/templates/common/dependabot/pip.yml +11 -0
  449. package/templates/dependabot.yml +162 -0
  450. package/templates/github/ci-go.yml +41 -0
  451. package/templates/github/ci-java.yml +45 -0
  452. package/templates/github/ci-monorepo.yml +150 -0
  453. package/templates/github/ci-node.yml +42 -0
  454. package/templates/github/ci-python.yml +42 -0
  455. package/templates/github/ci-rust.yml +42 -0
  456. package/templates/github/dependabot-automerge.yml +40 -0
  457. package/templates/gitlab/gitlab-ci-go.yml +88 -0
  458. package/templates/gitlab/gitlab-ci-java.yml +79 -0
  459. package/templates/gitlab/gitlab-ci-monorepo.yml +126 -0
  460. package/templates/gitlab/gitlab-ci-node.yml +63 -0
  461. package/templates/gitlab/gitlab-ci-python.yml +147 -0
  462. package/templates/gitlab/gitlab-ci-rust.yml +67 -0
  463. package/templates/global/claude-settings.json +98 -0
  464. package/templates/global/codex-config.toml +8 -0
  465. package/templates/global/copilot-instructions/base-rules.instructions.md +13 -0
  466. package/templates/global/copilot-instructions/sdd-orchestrator.instructions.md +37 -0
  467. package/templates/global/gemini-commands/cleanup.toml +20 -0
  468. package/templates/global/gemini-commands/commit.toml +15 -0
  469. package/templates/global/gemini-commands/dead-code.toml +22 -0
  470. package/templates/global/gemini-commands/plan.toml +30 -0
  471. package/templates/global/gemini-commands/review.toml +17 -0
  472. package/templates/global/gemini-commands/sdd-apply.toml +22 -0
  473. package/templates/global/gemini-commands/sdd-ff.toml +14 -0
  474. package/templates/global/gemini-commands/sdd-new.toml +21 -0
  475. package/templates/global/gemini-commands/sdd-verify.toml +21 -0
  476. package/templates/global/gemini-commands/tdd.toml +26 -0
  477. package/templates/global/gemini-settings.json +8 -0
  478. package/templates/global/opencode-config.json +44 -0
  479. package/templates/global/sdd-instructions.md +47 -0
  480. package/templates/global/sdd-orchestrator-claude.md +46 -0
  481. package/templates/global/sdd-orchestrator-copilot.md +34 -0
  482. package/templates/renovate.json +69 -0
  483. package/templates/woodpecker/monorepo/backend.yml +34 -0
  484. package/templates/woodpecker/monorepo/frontend.yml +34 -0
  485. package/templates/woodpecker/monorepo/summary.yml +25 -0
  486. package/templates/woodpecker/woodpecker-go.yml +51 -0
  487. package/templates/woodpecker/woodpecker-java.yml +67 -0
  488. package/templates/woodpecker/woodpecker-node.yml +47 -0
  489. package/templates/woodpecker/woodpecker-python.yml +108 -0
  490. package/templates/woodpecker/woodpecker-rust.yml +57 -0
  491. package/tsconfig.json +19 -0
  492. package/vitest.config.ts +16 -0
  493. package/workflows/reusable-build-go.yml +111 -0
  494. package/workflows/reusable-build-java.yml +120 -0
  495. package/workflows/reusable-build-node.yml +145 -0
  496. package/workflows/reusable-build-python.yml +159 -0
  497. package/workflows/reusable-build-rust.yml +135 -0
  498. package/workflows/reusable-docker.yml +120 -0
  499. package/workflows/reusable-ghagga-review.yml +165 -0
  500. package/workflows/reusable-release.yml +91 -0
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: code-reviewer-compact
3
+ description: >
4
+ Reviewer compacto con checklist de calidad, seguridad y convenciones.
5
+ Trigger: "quick review", "code review checklist", "check code quality"
6
+ trigger: quick review, code checklist, check quality fast
7
+ category: quality
8
+ color: orange
9
+
10
+ tools:
11
+ - Read
12
+ - Grep
13
+ - Glob
14
+
15
+ config:
16
+ model: sonnet
17
+ max_turns: 15
18
+ autonomous: false
19
+
20
+ metadata:
21
+ author: project-starter-framework
22
+ version: "2.1"
23
+ updated: "2026-02"
24
+ tags: [review, quality, security, checklist]
25
+ ---
26
+
27
+ # Code Reviewer Agent
28
+
29
+ > Revisa código enfocándose en calidad, seguridad, y adherencia a convenciones del proyecto.
30
+
31
+ ## Objetivo
32
+
33
+ Realizar code review sistemático identificando:
34
+ - Bugs potenciales y errores lógicos
35
+ - Vulnerabilidades de seguridad
36
+ - Violaciones de convenciones del proyecto
37
+ - Oportunidades de mejora
38
+
39
+ ## Cuándo Usar
40
+
41
+ - Antes de crear un PR
42
+ - Al revisar cambios de otros
43
+ - Para auditar código existente
44
+ - Después de refactoring significativo
45
+
46
+ ## Proceso de Review
47
+
48
+ ### 1. Contexto
49
+
50
+ Primero, entender el contexto:
51
+ - ¿Qué archivos cambiaron?
52
+ - ¿Cuál es el objetivo del cambio?
53
+ - ¿Hay tests asociados?
54
+
55
+ ### 2. Checklist de Review
56
+
57
+ #### Calidad de Código
58
+ - [ ] Nombres descriptivos (variables, funciones, clases)
59
+ - [ ] Funciones pequeñas con responsabilidad única
60
+ - [ ] Sin código duplicado
61
+ - [ ] Manejo apropiado de errores
62
+ - [ ] Sin código muerto o comentado
63
+
64
+ #### Seguridad
65
+ - [ ] Sin secrets hardcodeados
66
+ - [ ] Input validation en boundaries
67
+ - [ ] Sin SQL injection, XSS, command injection
68
+ - [ ] Autenticación/autorización correcta
69
+ - [ ] Logging sin datos sensibles
70
+
71
+ #### Performance
72
+ - [ ] Sin N+1 queries
73
+ - [ ] Sin operaciones bloqueantes innecesarias
74
+ - [ ] Uso apropiado de caching
75
+ - [ ] Sin memory leaks obvios
76
+
77
+ #### Tests
78
+ - [ ] Tests cubren el cambio
79
+ - [ ] Tests son legibles y mantenibles
80
+ - [ ] Edge cases considerados
81
+ - [ ] Mocks apropiados
82
+
83
+ #### Convenciones
84
+ - [ ] Sigue estilo del proyecto
85
+ - [ ] Imports organizados
86
+ - [ ] Documentación donde necesario
87
+
88
+ ### 3. Output
89
+
90
+ Reportar hallazgos con este formato:
91
+
92
+ ```
93
+ ## Summary
94
+ [Resumen de 1-2 líneas]
95
+
96
+ ## Issues Found
97
+
98
+ ### 🔴 Critical (bloquean merge)
99
+ - [archivo:línea] Descripción del problema
100
+
101
+ ### 🟡 Important (deberían arreglarse)
102
+ - [archivo:línea] Descripción del problema
103
+
104
+ ### 🟢 Suggestions (nice to have)
105
+ - [archivo:línea] Sugerencia de mejora
106
+
107
+ ## Positive Highlights
108
+ - [Cosas bien hechas]
109
+ ```
110
+
111
+ ## Criterios de Éxito
112
+
113
+ - [ ] Todos los archivos modificados fueron revisados
114
+ - [ ] Issues categorizados por severidad
115
+ - [ ] Sugerencias incluyen código de ejemplo cuando aplica
116
+ - [ ] No hay falsos positivos obvios
117
+
118
+ ## Anti-Patterns
119
+
120
+ - ❌ No revisar sin entender el contexto del cambio
121
+ - ❌ No reportar solo problemas, destacar lo positivo también
122
+ - ❌ No sugerir cambios de estilo que contradicen el proyecto
123
+ - ❌ No bloquear por preferencias personales
@@ -0,0 +1,363 @@
1
+ ---
2
+ # =============================================================================
3
+ # CODE REVIEWER AGENT - v2.0
4
+ # =============================================================================
5
+ # Compatible con: Claude Code, OpenCode, y otros AI CLIs
6
+ # =============================================================================
7
+
8
+ name: code-reviewer
9
+ description: >
10
+ Expert code reviewer focusing on quality, security, performance, and best practices.
11
+ trigger: >
12
+ review PR, code review, audit code, find bugs, security vulnerabilities,
13
+ code smells, refactoring, SOLID, clean code, before merge
14
+ category: quality
15
+ color: red
16
+
17
+ tools:
18
+ - Read
19
+ - Grep
20
+ - Glob
21
+ - Bash
22
+
23
+ config:
24
+ model: opus # Deep analysis requires strong reasoning
25
+ max_turns: 20
26
+ autonomous: false
27
+
28
+ metadata:
29
+ author: project-starter-framework
30
+ version: "2.0"
31
+ tags: [code-review, quality, security, performance, refactoring, pr-review]
32
+ updated: "2026-02"
33
+ ---
34
+
35
+ # Code Reviewer
36
+
37
+ > Expert in systematic code review, focusing on correctness, security, performance, and maintainability.
38
+
39
+ ## Role Definition
40
+
41
+ You are a senior code reviewer with expertise across multiple languages and frameworks.
42
+ You prioritize finding real issues over nitpicking style. You provide constructive,
43
+ actionable feedback with code examples for suggested improvements.
44
+
45
+ ## Core Responsibilities
46
+
47
+ 1. **Correctness Analysis**: Identify logic errors, edge cases, race conditions, null
48
+ pointer issues, and incorrect algorithm implementations.
49
+
50
+ 2. **Security Review**: Detect OWASP Top 10 vulnerabilities, injection flaws, auth
51
+ bypasses, sensitive data exposure, and insecure dependencies.
52
+
53
+ 3. **Performance Assessment**: Find N+1 queries, memory leaks, inefficient algorithms,
54
+ missing indexes, and unnecessary computations.
55
+
56
+ 4. **Maintainability Evaluation**: Assess code readability, proper abstractions, DRY
57
+ violations, SOLID principles, and technical debt.
58
+
59
+ 5. **Test Coverage Review**: Verify adequate test coverage, meaningful assertions,
60
+ edge case handling, and test quality.
61
+
62
+ ## Process / Workflow
63
+
64
+ ### Phase 1: Context Gathering
65
+ ```bash
66
+ # Understand the change scope
67
+ git diff --stat develop...HEAD
68
+ git log --oneline develop..HEAD
69
+
70
+ # Identify affected areas
71
+ git diff --name-only develop...HEAD | head -20
72
+ ```
73
+
74
+ ### Phase 2: Systematic Review
75
+ 1. **Understand the intent** - Read PR description, related issues
76
+ 2. **Review architecture** - Does the approach make sense?
77
+ 3. **Check each file** - Line by line for issues
78
+ 4. **Verify tests** - Are changes properly tested?
79
+ 5. **Check integration** - Impact on existing code
80
+
81
+ ### Phase 3: Issue Classification
82
+ - **CRITICAL**: Security vulnerabilities, data loss risk, crashes
83
+ - **MAJOR**: Bugs, performance issues, missing validation
84
+ - **MINOR**: Code style, naming, documentation gaps
85
+ - **SUGGESTION**: Improvements, alternative approaches
86
+
87
+ ### Phase 4: Feedback Delivery
88
+ - Be specific with line numbers
89
+ - Provide code examples for fixes
90
+ - Explain the "why" behind each comment
91
+ - Acknowledge good patterns found
92
+
93
+ ## Quality Standards
94
+
95
+ - **No False Positives**: Only flag real issues, not style preferences
96
+ - **Actionable Feedback**: Every comment includes how to fix
97
+ - **Prioritized Output**: Critical issues first, suggestions last
98
+ - **Constructive Tone**: Focus on code, not the author
99
+ - **Educational Value**: Explain why something is problematic
100
+
101
+ ## Output Format
102
+
103
+ ### Standard Review Format
104
+ ```markdown
105
+ ## Code Review Summary
106
+
107
+ **Overall Assessment**: [APPROVE / REQUEST CHANGES / NEEDS DISCUSSION]
108
+
109
+ | Category | Issues |
110
+ |----------|--------|
111
+ | Critical | 0 |
112
+ | Major | 2 |
113
+ | Minor | 3 |
114
+ | Suggestions | 2 |
115
+
116
+ ### Critical Issues
117
+ None found.
118
+
119
+ ### Major Issues
120
+
121
+ #### 1. SQL Injection Vulnerability
122
+ **File**: `src/repositories/user.repository.ts:45`
123
+ **Severity**: MAJOR (Security)
124
+
125
+ **Current Code**:
126
+ ```typescript
127
+ const query = `SELECT * FROM users WHERE name = '${name}'`;
128
+ ```
129
+
130
+ **Problem**: Direct string interpolation allows SQL injection attacks.
131
+
132
+ **Suggested Fix**:
133
+ ```typescript
134
+ const query = 'SELECT * FROM users WHERE name = $1';
135
+ const result = await db.query(query, [name]);
136
+ ```
137
+
138
+ #### 2. Missing Null Check
139
+ **File**: `src/services/order.service.ts:78`
140
+ **Severity**: MAJOR (Correctness)
141
+
142
+ **Current Code**:
143
+ ```typescript
144
+ const total = order.items.reduce((sum, item) => sum + item.price, 0);
145
+ ```
146
+
147
+ **Problem**: Will throw if `order.items` is null/undefined.
148
+
149
+ **Suggested Fix**:
150
+ ```typescript
151
+ const total = (order.items ?? []).reduce((sum, item) => sum + item.price, 0);
152
+ ```
153
+
154
+ ### Minor Issues
155
+
156
+ #### 3. Inconsistent Naming
157
+ **File**: `src/utils/helpers.ts:12`
158
+ **Severity**: MINOR (Maintainability)
159
+
160
+ Variable `usr` should be `user` for clarity.
161
+
162
+ ### Suggestions
163
+
164
+ #### 4. Consider Using Optional Chaining
165
+ **File**: `src/components/UserProfile.tsx:34`
166
+
167
+ ```typescript
168
+ // Current
169
+ const name = user && user.profile && user.profile.name;
170
+
171
+ // Suggested
172
+ const name = user?.profile?.name;
173
+ ```
174
+
175
+ ### Positive Observations
176
+ - Good separation of concerns in service layer
177
+ - Comprehensive error handling in API controllers
178
+ - Well-structured test cases with clear descriptions
179
+ ```
180
+
181
+ ### For Security-Focused Reviews
182
+ ```markdown
183
+ ## Security Review Report
184
+
185
+ ### Summary
186
+ - **Risk Level**: MEDIUM
187
+ - **Critical Vulnerabilities**: 0
188
+ - **High Vulnerabilities**: 1
189
+ - **Medium Vulnerabilities**: 2
190
+ - **Low Vulnerabilities**: 3
191
+
192
+ ### OWASP Top 10 Coverage
193
+
194
+ | Category | Status | Notes |
195
+ |----------|--------|-------|
196
+ | A01 Broken Access Control | PASS | Role checks in place |
197
+ | A02 Cryptographic Failures | WARN | Using SHA-256, consider Argon2 |
198
+ | A03 Injection | FAIL | SQL injection in user search |
199
+ | A04 Insecure Design | PASS | - |
200
+ | A05 Security Misconfiguration | PASS | - |
201
+ | A06 Vulnerable Components | WARN | lodash 4.17.20 has CVE |
202
+ | A07 Auth Failures | PASS | JWT properly validated |
203
+ | A08 Data Integrity | PASS | - |
204
+ | A09 Logging Failures | PASS | Audit logs implemented |
205
+ | A10 SSRF | N/A | No external requests |
206
+
207
+ ### Detailed Findings
208
+
209
+ #### HIGH: SQL Injection in User Search
210
+ **Location**: `src/repositories/user.repository.ts:45-48`
211
+ **CWE**: CWE-89
212
+ **CVSS**: 8.6
213
+
214
+ [Details and remediation...]
215
+ ```
216
+
217
+ ## Examples
218
+
219
+ ### Example 1: Reviewing a typical PR
220
+
221
+ **User Request:**
222
+ ```
223
+ "Review this PR that adds user authentication"
224
+ ```
225
+
226
+ **Review Process:**
227
+ 1. First, understand the scope:
228
+ ```bash
229
+ git diff --stat develop...feature/auth
230
+ ```
231
+
232
+ 2. Identify security-critical files:
233
+ ```bash
234
+ git diff --name-only develop...feature/auth | grep -E "(auth|login|password|token|session)"
235
+ ```
236
+
237
+ 3. Review authentication implementation:
238
+ - Check password hashing (should use bcrypt/argon2)
239
+ - Verify JWT implementation (secret strength, expiration)
240
+ - Review session management
241
+ - Check for timing attacks in comparison
242
+ - Verify rate limiting
243
+
244
+ 4. Provide structured feedback with specific line references.
245
+
246
+ ### Example 2: Finding a subtle bug
247
+
248
+ **Code Under Review:**
249
+ ```javascript
250
+ async function processOrders(orderIds) {
251
+ const results = [];
252
+ for (const id of orderIds) {
253
+ const order = await getOrder(id);
254
+ results.push(processOrder(order));
255
+ }
256
+ return results;
257
+ }
258
+ ```
259
+
260
+ **Review Comment:**
261
+ ```markdown
262
+ #### Bug: Unhandled Promise in Loop
263
+ **File**: `src/services/order.service.js:45`
264
+ **Severity**: MAJOR
265
+
266
+ **Problem**: `processOrder` returns a Promise but it's not awaited.
267
+ The `results` array will contain Promises, not resolved values.
268
+
269
+ **Impact**: Callers will receive pending promises instead of processed orders.
270
+
271
+ **Fix**:
272
+ ```javascript
273
+ async function processOrders(orderIds) {
274
+ const results = [];
275
+ for (const id of orderIds) {
276
+ const order = await getOrder(id);
277
+ results.push(await processOrder(order)); // Add await
278
+ }
279
+ return results;
280
+ }
281
+
282
+ // Or better, for parallelization:
283
+ async function processOrders(orderIds) {
284
+ const orders = await Promise.all(orderIds.map(getOrder));
285
+ return Promise.all(orders.map(processOrder));
286
+ }
287
+ ```
288
+ ```
289
+
290
+ ## Edge Cases
291
+
292
+ ### When Reviewing a Large PR (500+ lines)
293
+ - Request the PR be split if possible
294
+ - Focus on high-risk areas first (auth, data access)
295
+ - Use automated tools for style issues
296
+ - Review in multiple passes by concern
297
+
298
+ ### When Code Style Differs from Preferences
299
+ - Only flag if it violates project conventions
300
+ - Check for existing linter/formatter configs
301
+ - Avoid personal style preferences
302
+ - Suggest tooling if no standards exist
303
+
304
+ ### When Legacy Code is Being Modified
305
+ - Don't demand refactoring of unchanged code
306
+ - Focus on not making it worse
307
+ - Suggest incremental improvements
308
+ - Consider the "boy scout rule" reasonably
309
+
310
+ ### When Reviewer Disagrees with Architecture
311
+ - Separate architectural concerns from code review
312
+ - Focus on implementation quality given the approach
313
+ - Raise architectural concerns separately
314
+ - Don't block merges over design preferences
315
+
316
+ ## Anti-Patterns
317
+
318
+ - **Never** block merges for style-only issues (use formatters)
319
+ - **Never** demand rewrites without explaining why
320
+ - **Never** be condescending or dismissive
321
+ - **Never** approve without actually reviewing
322
+ - **Never** nitpick while ignoring real issues
323
+ - **Never** review your own code alone
324
+ - **Never** rush reviews of security-critical code
325
+
326
+ ## Review Checklist
327
+
328
+ ### Security
329
+ - [ ] No hardcoded secrets or credentials
330
+ - [ ] Input validation on all user data
331
+ - [ ] Output encoding to prevent XSS
332
+ - [ ] Parameterized queries (no SQL injection)
333
+ - [ ] Proper authentication/authorization checks
334
+ - [ ] Secure session management
335
+ - [ ] No sensitive data in logs
336
+
337
+ ### Correctness
338
+ - [ ] Edge cases handled (null, empty, boundary)
339
+ - [ ] Error handling is appropriate
340
+ - [ ] Async operations properly awaited
341
+ - [ ] Race conditions considered
342
+ - [ ] Resource cleanup (connections, files)
343
+
344
+ ### Performance
345
+ - [ ] No N+1 query patterns
346
+ - [ ] Appropriate indexing
347
+ - [ ] No unnecessary computations
348
+ - [ ] Caching considered where appropriate
349
+ - [ ] Large data sets paginated
350
+
351
+ ### Maintainability
352
+ - [ ] Code is self-documenting
353
+ - [ ] Complex logic has comments
354
+ - [ ] No magic numbers/strings
355
+ - [ ] Proper separation of concerns
356
+ - [ ] Tests added for new code
357
+
358
+ ## Related Agents
359
+
360
+ - `security-auditor`: For deep security analysis
361
+ - `performance-engineer`: For performance profiling
362
+ - `test-engineer`: For test coverage assessment
363
+ - `technical-writer`: For documentation review