buildanything 1.8.0 → 2.1.1

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 (494) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +17 -3
  3. package/CHANGELOG.md +57 -0
  4. package/README.md +57 -61
  5. package/agents/a11y-architect.md +168 -0
  6. package/agents/briefing-officer.md +172 -0
  7. package/agents/business-model.md +82 -29
  8. package/agents/code-architect.md +80 -0
  9. package/agents/code-reviewer.md +256 -0
  10. package/agents/code-simplifier.md +72 -0
  11. package/agents/design-brand-guardian.md +312 -53
  12. package/agents/design-critic.md +144 -0
  13. package/agents/design-inclusive-visuals-specialist.md +8 -19
  14. package/agents/design-ui-designer.md +352 -56
  15. package/agents/design-ux-architect.md +418 -55
  16. package/agents/design-ux-researcher.md +359 -49
  17. package/agents/engineering-ai-engineer.md +28 -36
  18. package/agents/engineering-backend-architect.md +187 -36
  19. package/agents/engineering-data-engineer.md +227 -43
  20. package/agents/engineering-devops-automator.md +229 -74
  21. package/agents/engineering-frontend-developer.md +223 -34
  22. package/agents/engineering-mobile-app-builder.md +8 -1
  23. package/agents/engineering-rapid-prototyper.md +45 -11
  24. package/agents/engineering-security-engineer.md +265 -61
  25. package/agents/engineering-senior-developer.md +141 -19
  26. package/agents/engineering-sre.md +86 -0
  27. package/agents/engineering-technical-writer.md +287 -41
  28. package/agents/feature-intel.md +111 -0
  29. package/agents/ios-app-review-guardian.md +21 -2
  30. package/agents/ios-foundation-models-specialist.md +22 -2
  31. package/agents/ios-product-reality-auditor.md +292 -0
  32. package/agents/ios-storekit-specialist.md +11 -2
  33. package/agents/ios-swift-architect.md +29 -1
  34. package/agents/ios-swift-search.md +9 -1
  35. package/agents/ios-swift-ui-design.md +40 -5
  36. package/agents/marketing-app-store-optimizer.md +248 -64
  37. package/agents/planner.md +221 -0
  38. package/agents/pr-test-analyzer.md +64 -0
  39. package/agents/product-feedback-synthesizer.md +70 -2
  40. package/agents/product-owner.md +163 -0
  41. package/agents/product-reality-auditor.md +216 -0
  42. package/agents/product-spec-writer.md +176 -0
  43. package/agents/refactor-cleaner.md +110 -0
  44. package/agents/security-reviewer.md +129 -0
  45. package/agents/silent-failure-hunter.md +55 -0
  46. package/agents/swift-build-resolver.md +121 -0
  47. package/agents/swift-reviewer.md +113 -0
  48. package/agents/tech-feasibility.md +26 -4
  49. package/agents/testing-api-tester.md +238 -59
  50. package/agents/testing-evidence-collector.md +50 -1
  51. package/agents/testing-performance-benchmarker.md +23 -1
  52. package/agents/testing-reality-checker.md +7 -1
  53. package/agents/visual-research.md +118 -0
  54. package/bin/adapters/cycle-counter-tool.ts +155 -0
  55. package/bin/adapters/scribe-tool.ts +73 -0
  56. package/bin/adapters/state-save-tool.ts +130 -0
  57. package/bin/adapters/write-lease-tool.ts +127 -0
  58. package/bin/buildanything-runtime.js +15 -0
  59. package/bin/buildanything-runtime.ts +241 -0
  60. package/bin/graph-index.js +24 -0
  61. package/bin/graph-index.ts +340 -0
  62. package/bin/mcp-servers/graph-mcp.js +26 -0
  63. package/bin/mcp-servers/graph-mcp.ts +481 -0
  64. package/bin/mcp-servers/orchestrator-mcp.js +26 -0
  65. package/bin/mcp-servers/orchestrator-mcp.ts +361 -0
  66. package/bin/setup.js +312 -76
  67. package/commands/add-feature.md +2 -0
  68. package/commands/build.md +994 -265
  69. package/commands/fix.md +1 -1
  70. package/commands/idea-sweep.md +2 -2
  71. package/commands/self-check.md +121 -0
  72. package/commands/setup.md +61 -9
  73. package/commands/ux-review.md +5 -5
  74. package/commands/verify.md +9 -9
  75. package/docs/migration/agents.yaml +729 -0
  76. package/docs/migration/phase-graph.yaml +1504 -0
  77. package/docs/migration/sdk-host-compat.md +18 -0
  78. package/hooks/compile-writer-owner-cache.ts +171 -0
  79. package/hooks/design-md-lint +4 -0
  80. package/hooks/design-md-lint.ts +295 -0
  81. package/hooks/hooks.json +36 -0
  82. package/hooks/pre-tool-use +19 -0
  83. package/hooks/pre-tool-use.ts +807 -0
  84. package/hooks/record-mode-transitions.ts +235 -0
  85. package/hooks/session-start +71 -1
  86. package/hooks/subagent-start +17 -0
  87. package/hooks/subagent-start.ts +472 -0
  88. package/hooks/subagent-stop +17 -0
  89. package/hooks/subagent-stop.ts +153 -0
  90. package/package.json +26 -4
  91. package/protocols/agent-prompt-authoring.md +165 -0
  92. package/protocols/architecture-schema.md +178 -0
  93. package/protocols/cleanup.md +4 -0
  94. package/protocols/decision-log.md +135 -0
  95. package/protocols/design-md-authoring.md +520 -0
  96. package/protocols/design-md-spec.md +362 -0
  97. package/protocols/fake-data-detector.md +1 -1
  98. package/protocols/ios-context.md +10 -11
  99. package/protocols/ios-fake-data-detector.md +65 -0
  100. package/protocols/ios-phase-branches.md +299 -39
  101. package/protocols/launch-readiness.md +262 -0
  102. package/protocols/metric-loop.md +62 -2
  103. package/protocols/page-spec-schema.md +234 -0
  104. package/protocols/product-spec-schema.md +354 -0
  105. package/protocols/smoke-test.md +9 -1
  106. package/protocols/sprint-tasks-schema.md +53 -0
  107. package/protocols/state-schema.json +423 -0
  108. package/protocols/state-schema.md +202 -0
  109. package/protocols/verify.md +91 -3
  110. package/protocols/web-phase-branches.md +395 -75
  111. package/skills/ios/_VENDORED.md +2 -0
  112. package/skills/ios/app-store-connect-metadata/SKILL.md +148 -0
  113. package/skills/ios/asc-privacy-manifest/SKILL.md +350 -0
  114. package/skills/ios/hig-components-content/SKILL.md +86 -0
  115. package/skills/ios/hig-components-content/references/activity-views.md +79 -0
  116. package/skills/ios/hig-components-content/references/charts.md +180 -0
  117. package/skills/ios/hig-components-content/references/collections.md +48 -0
  118. package/skills/ios/hig-components-content/references/color-wells.md +42 -0
  119. package/skills/ios/hig-components-content/references/image-views.md +82 -0
  120. package/skills/ios/hig-components-content/references/image-wells.md +34 -0
  121. package/skills/ios/hig-components-content/references/lockups.md +78 -0
  122. package/skills/ios/hig-components-content/references/web-views.md +36 -0
  123. package/skills/ios/hig-components-controls/SKILL.md +88 -0
  124. package/skills/ios/hig-components-controls/references/combo-boxes.md +40 -0
  125. package/skills/ios/hig-components-controls/references/controls.md +112 -0
  126. package/skills/ios/hig-components-controls/references/gauges.md +74 -0
  127. package/skills/ios/hig-components-controls/references/labels.md +92 -0
  128. package/skills/ios/hig-components-controls/references/pickers.md +128 -0
  129. package/skills/ios/hig-components-controls/references/rating-indicators.md +38 -0
  130. package/skills/ios/hig-components-controls/references/segmented-controls.md +94 -0
  131. package/skills/ios/hig-components-controls/references/sliders.md +92 -0
  132. package/skills/ios/hig-components-controls/references/steppers.md +40 -0
  133. package/skills/ios/hig-components-controls/references/text-fields.md +88 -0
  134. package/skills/ios/hig-components-controls/references/text-views.md +56 -0
  135. package/skills/ios/hig-components-controls/references/toggles.md +127 -0
  136. package/skills/ios/hig-components-controls/references/token-fields.md +48 -0
  137. package/skills/ios/hig-components-controls/references/virtual-keyboards.md +156 -0
  138. package/skills/ios/hig-components-dialogs/SKILL.md +76 -0
  139. package/skills/ios/hig-components-dialogs/references/action-sheets.md +74 -0
  140. package/skills/ios/hig-components-dialogs/references/alerts.md +158 -0
  141. package/skills/ios/hig-components-dialogs/references/digit-entry-views.md +32 -0
  142. package/skills/ios/hig-components-dialogs/references/popovers.md +81 -0
  143. package/skills/ios/hig-components-dialogs/references/sheets.md +157 -0
  144. package/skills/ios/hig-components-layout/SKILL.md +99 -0
  145. package/skills/ios/hig-components-layout/references/boxes.md +48 -0
  146. package/skills/ios/hig-components-layout/references/column-views.md +44 -0
  147. package/skills/ios/hig-components-layout/references/lists-and-tables.md +99 -0
  148. package/skills/ios/hig-components-layout/references/ornaments.md +56 -0
  149. package/skills/ios/hig-components-layout/references/outline-views.md +64 -0
  150. package/skills/ios/hig-components-layout/references/panels.md +75 -0
  151. package/skills/ios/hig-components-layout/references/scroll-views.md +123 -0
  152. package/skills/ios/hig-components-layout/references/sidebars.md +109 -0
  153. package/skills/ios/hig-components-layout/references/split-views.md +110 -0
  154. package/skills/ios/hig-components-layout/references/tab-bars.md +173 -0
  155. package/skills/ios/hig-components-layout/references/tab-views.md +68 -0
  156. package/skills/ios/hig-components-layout/references/windows.md +188 -0
  157. package/skills/ios/hig-components-menus/SKILL.md +81 -0
  158. package/skills/ios/hig-components-menus/references/action-button.md +61 -0
  159. package/skills/ios/hig-components-menus/references/buttons.md +261 -0
  160. package/skills/ios/hig-components-menus/references/context-menus.md +105 -0
  161. package/skills/ios/hig-components-menus/references/disclosure-controls.md +84 -0
  162. package/skills/ios/hig-components-menus/references/dock-menus.md +40 -0
  163. package/skills/ios/hig-components-menus/references/edit-menus.md +88 -0
  164. package/skills/ios/hig-components-menus/references/menus.md +171 -0
  165. package/skills/ios/hig-components-menus/references/pop-up-buttons.md +70 -0
  166. package/skills/ios/hig-components-menus/references/pull-down-buttons.md +77 -0
  167. package/skills/ios/hig-components-menus/references/the-menu-bar.md +303 -0
  168. package/skills/ios/hig-components-menus/references/toolbars.md +256 -0
  169. package/skills/ios/hig-components-search/SKILL.md +68 -0
  170. package/skills/ios/hig-components-search/references/page-controls.md +120 -0
  171. package/skills/ios/hig-components-search/references/path-controls.md +40 -0
  172. package/skills/ios/hig-components-search/references/search-fields.md +189 -0
  173. package/skills/ios/hig-components-status/SKILL.md +80 -0
  174. package/skills/ios/hig-components-status/references/activity-rings.md +105 -0
  175. package/skills/ios/hig-components-status/references/progress-indicators.md +116 -0
  176. package/skills/ios/hig-components-status/references/status-bars.md +38 -0
  177. package/skills/ios/hig-components-system/SKILL.md +88 -0
  178. package/skills/ios/hig-components-system/references/app-clips.md +387 -0
  179. package/skills/ios/hig-components-system/references/app-shortcuts.md +114 -0
  180. package/skills/ios/hig-components-system/references/complications.md +425 -0
  181. package/skills/ios/hig-components-system/references/home-screen-quick-actions.md +42 -0
  182. package/skills/ios/hig-components-system/references/live-activities.md +442 -0
  183. package/skills/ios/hig-components-system/references/notifications.md +153 -0
  184. package/skills/ios/hig-components-system/references/top-shelf.md +135 -0
  185. package/skills/ios/hig-components-system/references/watch-faces.md +40 -0
  186. package/skills/ios/hig-components-system/references/widgets.md +517 -0
  187. package/skills/ios/hig-foundations/SKILL.md +98 -0
  188. package/skills/ios/hig-foundations/references/accessibility.md +291 -0
  189. package/skills/ios/hig-foundations/references/app-icons.md +210 -0
  190. package/skills/ios/hig-foundations/references/branding.md +44 -0
  191. package/skills/ios/hig-foundations/references/color.md +274 -0
  192. package/skills/ios/hig-foundations/references/dark-mode.md +116 -0
  193. package/skills/ios/hig-foundations/references/icons.md +263 -0
  194. package/skills/ios/hig-foundations/references/images.md +176 -0
  195. package/skills/ios/hig-foundations/references/immersive-experiences.md +174 -0
  196. package/skills/ios/hig-foundations/references/inclusion.md +189 -0
  197. package/skills/ios/hig-foundations/references/layout.md +425 -0
  198. package/skills/ios/hig-foundations/references/materials.md +238 -0
  199. package/skills/ios/hig-foundations/references/motion.md +103 -0
  200. package/skills/ios/hig-foundations/references/privacy.md +231 -0
  201. package/skills/ios/hig-foundations/references/right-to-left.md +206 -0
  202. package/skills/ios/hig-foundations/references/sf-symbols.md +310 -0
  203. package/skills/ios/hig-foundations/references/spatial-layout.md +142 -0
  204. package/skills/ios/hig-foundations/references/typography.md +1146 -0
  205. package/skills/ios/hig-foundations/references/writing.md +91 -0
  206. package/skills/ios/hig-inputs/SKILL.md +94 -0
  207. package/skills/ios/hig-inputs/references/apple-pencil-and-scribble.md +148 -0
  208. package/skills/ios/hig-inputs/references/camera-control.md +107 -0
  209. package/skills/ios/hig-inputs/references/digital-crown.md +83 -0
  210. package/skills/ios/hig-inputs/references/eyes.md +120 -0
  211. package/skills/ios/hig-inputs/references/focus-and-selection.md +120 -0
  212. package/skills/ios/hig-inputs/references/game-controls.md +156 -0
  213. package/skills/ios/hig-inputs/references/gestures.md +208 -0
  214. package/skills/ios/hig-inputs/references/gyro-and-accelerometer.md +40 -0
  215. package/skills/ios/hig-inputs/references/keyboards.md +234 -0
  216. package/skills/ios/hig-inputs/references/nearby-interactions.md +70 -0
  217. package/skills/ios/hig-inputs/references/pointing-devices.md +237 -0
  218. package/skills/ios/hig-inputs/references/remotes.md +67 -0
  219. package/skills/ios/hig-inputs/references/spatial-interactions.md +70 -0
  220. package/skills/ios/hig-patterns/SKILL.md +104 -0
  221. package/skills/ios/hig-patterns/references/charting-data.md +81 -0
  222. package/skills/ios/hig-patterns/references/collaboration-and-sharing.md +86 -0
  223. package/skills/ios/hig-patterns/references/drag-and-drop.md +134 -0
  224. package/skills/ios/hig-patterns/references/entering-data.md +69 -0
  225. package/skills/ios/hig-patterns/references/feedback.md +67 -0
  226. package/skills/ios/hig-patterns/references/file-management.md +135 -0
  227. package/skills/ios/hig-patterns/references/going-full-screen.md +79 -0
  228. package/skills/ios/hig-patterns/references/launching.md +81 -0
  229. package/skills/ios/hig-patterns/references/live-viewing-apps.md +79 -0
  230. package/skills/ios/hig-patterns/references/loading.md +59 -0
  231. package/skills/ios/hig-patterns/references/managing-accounts.md +107 -0
  232. package/skills/ios/hig-patterns/references/managing-notifications.md +99 -0
  233. package/skills/ios/hig-patterns/references/modality.md +82 -0
  234. package/skills/ios/hig-patterns/references/multitasking.md +131 -0
  235. package/skills/ios/hig-patterns/references/offering-help.md +117 -0
  236. package/skills/ios/hig-patterns/references/onboarding.md +69 -0
  237. package/skills/ios/hig-patterns/references/playing-audio.md +124 -0
  238. package/skills/ios/hig-patterns/references/playing-haptics.md +280 -0
  239. package/skills/ios/hig-patterns/references/playing-video.md +180 -0
  240. package/skills/ios/hig-patterns/references/printing.md +50 -0
  241. package/skills/ios/hig-patterns/references/ratings-and-reviews.md +48 -0
  242. package/skills/ios/hig-patterns/references/searching.md +70 -0
  243. package/skills/ios/hig-patterns/references/settings.md +84 -0
  244. package/skills/ios/hig-patterns/references/undo-and-redo.md +58 -0
  245. package/skills/ios/hig-patterns/references/workouts.md +76 -0
  246. package/skills/ios/hig-platforms/SKILL.md +84 -0
  247. package/skills/ios/hig-platforms/references/designing-for-games.md +159 -0
  248. package/skills/ios/hig-platforms/references/designing-for-ios.md +66 -0
  249. package/skills/ios/hig-platforms/references/designing-for-ipados.md +64 -0
  250. package/skills/ios/hig-platforms/references/designing-for-macos.md +70 -0
  251. package/skills/ios/hig-platforms/references/designing-for-tvos.md +68 -0
  252. package/skills/ios/hig-platforms/references/designing-for-visionos.md +85 -0
  253. package/skills/ios/hig-platforms/references/designing-for-watchos.md +74 -0
  254. package/skills/ios/hig-project-context/SKILL.md +133 -0
  255. package/skills/ios/hig-technologies/SKILL.md +107 -0
  256. package/skills/ios/hig-technologies/references/airplay.md +125 -0
  257. package/skills/ios/hig-technologies/references/always-on.md +62 -0
  258. package/skills/ios/hig-technologies/references/apple-pay.md +441 -0
  259. package/skills/ios/hig-technologies/references/augmented-reality.md +247 -0
  260. package/skills/ios/hig-technologies/references/carekit.md +224 -0
  261. package/skills/ios/hig-technologies/references/carplay.md +119 -0
  262. package/skills/ios/hig-technologies/references/game-center.md +343 -0
  263. package/skills/ios/hig-technologies/references/generative-ai.md +110 -0
  264. package/skills/ios/hig-technologies/references/healthkit.md +120 -0
  265. package/skills/ios/hig-technologies/references/homekit.md +343 -0
  266. package/skills/ios/hig-technologies/references/icloud.md +52 -0
  267. package/skills/ios/hig-technologies/references/id-verifier.md +73 -0
  268. package/skills/ios/hig-technologies/references/imessage-apps-and-stickers.md +105 -0
  269. package/skills/ios/hig-technologies/references/in-app-purchase.md +263 -0
  270. package/skills/ios/hig-technologies/references/live-photos.md +54 -0
  271. package/skills/ios/hig-technologies/references/mac-catalyst.md +216 -0
  272. package/skills/ios/hig-technologies/references/machine-learning.md +394 -0
  273. package/skills/ios/hig-technologies/references/maps.md +221 -0
  274. package/skills/ios/hig-technologies/references/nfc.md +51 -0
  275. package/skills/ios/hig-technologies/references/photo-editing.md +40 -0
  276. package/skills/ios/hig-technologies/references/researchkit.md +134 -0
  277. package/skills/ios/hig-technologies/references/shareplay.md +142 -0
  278. package/skills/ios/hig-technologies/references/shazamkit.md +47 -0
  279. package/skills/ios/hig-technologies/references/sign-in-with-apple.md +288 -0
  280. package/skills/ios/hig-technologies/references/siri.md +523 -0
  281. package/skills/ios/hig-technologies/references/tap-to-pay-on-iphone.md +208 -0
  282. package/skills/ios/hig-technologies/references/voiceover.md +90 -0
  283. package/skills/ios/hig-technologies/references/wallet.md +420 -0
  284. package/skills/ios/ios-bootstrap/SKILL.md +17 -8
  285. package/skills/ios/swift-actor-persistence/SKILL.md +143 -0
  286. package/skills/ios/swift-concurrency-6-2/SKILL.md +216 -0
  287. package/skills/ios/swift-protocol-di-testing/SKILL.md +190 -0
  288. package/skills/ios/swiftui-design-tokens/SKILL.md +475 -0
  289. package/skills/ios/writing-for-interfaces/SKILL.md +75 -0
  290. package/skills/web/accessibility/SKILL.md +146 -0
  291. package/skills/web/aceternity-ui/SKILL.md +719 -0
  292. package/skills/web/aceternity-ui/metadata.json +10 -0
  293. package/skills/web/api-design/SKILL.md +523 -0
  294. package/skills/web/chart-accessibility/SKILL.md +332 -0
  295. package/skills/web/composition-patterns/AGENTS.md +946 -0
  296. package/skills/web/composition-patterns/README.md +60 -0
  297. package/skills/web/composition-patterns/SKILL.md +89 -0
  298. package/skills/web/composition-patterns/metadata.json +11 -0
  299. package/skills/web/composition-patterns/rules/_sections.md +29 -0
  300. package/skills/web/composition-patterns/rules/_template.md +24 -0
  301. package/skills/web/composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  302. package/skills/web/composition-patterns/rules/architecture-compound-components.md +112 -0
  303. package/skills/web/composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  304. package/skills/web/composition-patterns/rules/patterns-explicit-variants.md +100 -0
  305. package/skills/web/composition-patterns/rules/react19-no-forwardref.md +42 -0
  306. package/skills/web/composition-patterns/rules/state-context-interface.md +191 -0
  307. package/skills/web/composition-patterns/rules/state-decouple-implementation.md +113 -0
  308. package/skills/web/composition-patterns/rules/state-lift-state.md +125 -0
  309. package/skills/web/cost-aware-llm-pipeline/SKILL.md +183 -0
  310. package/skills/web/database-migrations/SKILL.md +429 -0
  311. package/skills/web/deployment-patterns/SKILL.md +427 -0
  312. package/skills/web/docker-patterns/SKILL.md +364 -0
  313. package/skills/web/e2e-testing/SKILL.md +326 -0
  314. package/skills/web/lighthouse-ci/SKILL.md +361 -0
  315. package/skills/web/mcp-server-patterns/SKILL.md +69 -0
  316. package/skills/web/next-best-practices/SKILL.md +153 -0
  317. package/skills/web/next-best-practices/async-patterns.md +87 -0
  318. package/skills/web/next-best-practices/bundling.md +180 -0
  319. package/skills/web/next-best-practices/data-patterns.md +297 -0
  320. package/skills/web/next-best-practices/debug-tricks.md +105 -0
  321. package/skills/web/next-best-practices/directives.md +73 -0
  322. package/skills/web/next-best-practices/error-handling.md +227 -0
  323. package/skills/web/next-best-practices/file-conventions.md +140 -0
  324. package/skills/web/next-best-practices/font.md +245 -0
  325. package/skills/web/next-best-practices/functions.md +108 -0
  326. package/skills/web/next-best-practices/hydration-error.md +91 -0
  327. package/skills/web/next-best-practices/image.md +173 -0
  328. package/skills/web/next-best-practices/metadata.md +301 -0
  329. package/skills/web/next-best-practices/parallel-routes.md +287 -0
  330. package/skills/web/next-best-practices/route-handlers.md +146 -0
  331. package/skills/web/next-best-practices/rsc-boundaries.md +159 -0
  332. package/skills/web/next-best-practices/runtime-selection.md +39 -0
  333. package/skills/web/next-best-practices/scripts.md +141 -0
  334. package/skills/web/next-best-practices/self-hosting.md +371 -0
  335. package/skills/web/next-best-practices/suspense-boundaries.md +67 -0
  336. package/skills/web/next-cache-components/SKILL.md +411 -0
  337. package/skills/web/postgres-best-practices/SKILL.md +14 -0
  338. package/skills/web/postgres-best-practices/references/schema-design.md +9 -0
  339. package/skills/web/react-best-practices/AGENTS.md +3810 -0
  340. package/skills/web/react-best-practices/README.md +123 -0
  341. package/skills/web/react-best-practices/SKILL.md +149 -0
  342. package/skills/web/react-best-practices/metadata.json +15 -0
  343. package/skills/web/react-best-practices/rules/_sections.md +46 -0
  344. package/skills/web/react-best-practices/rules/_template.md +28 -0
  345. package/skills/web/react-best-practices/rules/advanced-effect-event-deps.md +56 -0
  346. package/skills/web/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  347. package/skills/web/react-best-practices/rules/advanced-init-once.md +42 -0
  348. package/skills/web/react-best-practices/rules/advanced-use-latest.md +39 -0
  349. package/skills/web/react-best-practices/rules/async-api-routes.md +38 -0
  350. package/skills/web/react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
  351. package/skills/web/react-best-practices/rules/async-defer-await.md +82 -0
  352. package/skills/web/react-best-practices/rules/async-dependencies.md +51 -0
  353. package/skills/web/react-best-practices/rules/async-parallel.md +28 -0
  354. package/skills/web/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  355. package/skills/web/react-best-practices/rules/bundle-analyzable-paths.md +63 -0
  356. package/skills/web/react-best-practices/rules/bundle-barrel-imports.md +60 -0
  357. package/skills/web/react-best-practices/rules/bundle-conditional.md +31 -0
  358. package/skills/web/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  359. package/skills/web/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  360. package/skills/web/react-best-practices/rules/bundle-preload.md +50 -0
  361. package/skills/web/react-best-practices/rules/client-event-listeners.md +74 -0
  362. package/skills/web/react-best-practices/rules/client-localstorage-schema.md +71 -0
  363. package/skills/web/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  364. package/skills/web/react-best-practices/rules/client-swr-dedup.md +56 -0
  365. package/skills/web/react-best-practices/rules/js-batch-dom-css.md +107 -0
  366. package/skills/web/react-best-practices/rules/js-cache-function-results.md +80 -0
  367. package/skills/web/react-best-practices/rules/js-cache-property-access.md +28 -0
  368. package/skills/web/react-best-practices/rules/js-cache-storage.md +70 -0
  369. package/skills/web/react-best-practices/rules/js-combine-iterations.md +32 -0
  370. package/skills/web/react-best-practices/rules/js-early-exit.md +50 -0
  371. package/skills/web/react-best-practices/rules/js-flatmap-filter.md +60 -0
  372. package/skills/web/react-best-practices/rules/js-hoist-regexp.md +45 -0
  373. package/skills/web/react-best-practices/rules/js-index-maps.md +37 -0
  374. package/skills/web/react-best-practices/rules/js-length-check-first.md +49 -0
  375. package/skills/web/react-best-practices/rules/js-min-max-loop.md +82 -0
  376. package/skills/web/react-best-practices/rules/js-request-idle-callback.md +105 -0
  377. package/skills/web/react-best-practices/rules/js-set-map-lookups.md +24 -0
  378. package/skills/web/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  379. package/skills/web/react-best-practices/rules/rendering-activity.md +26 -0
  380. package/skills/web/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  381. package/skills/web/react-best-practices/rules/rendering-conditional-render.md +40 -0
  382. package/skills/web/react-best-practices/rules/rendering-content-visibility.md +38 -0
  383. package/skills/web/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  384. package/skills/web/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  385. package/skills/web/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  386. package/skills/web/react-best-practices/rules/rendering-resource-hints.md +85 -0
  387. package/skills/web/react-best-practices/rules/rendering-script-defer-async.md +68 -0
  388. package/skills/web/react-best-practices/rules/rendering-svg-precision.md +28 -0
  389. package/skills/web/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  390. package/skills/web/react-best-practices/rules/rerender-defer-reads.md +39 -0
  391. package/skills/web/react-best-practices/rules/rerender-dependencies.md +45 -0
  392. package/skills/web/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  393. package/skills/web/react-best-practices/rules/rerender-derived-state.md +29 -0
  394. package/skills/web/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  395. package/skills/web/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  396. package/skills/web/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  397. package/skills/web/react-best-practices/rules/rerender-memo.md +44 -0
  398. package/skills/web/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  399. package/skills/web/react-best-practices/rules/rerender-no-inline-components.md +82 -0
  400. package/skills/web/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  401. package/skills/web/react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
  402. package/skills/web/react-best-practices/rules/rerender-transitions.md +40 -0
  403. package/skills/web/react-best-practices/rules/rerender-use-deferred-value.md +59 -0
  404. package/skills/web/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  405. package/skills/web/react-best-practices/rules/server-after-nonblocking.md +73 -0
  406. package/skills/web/react-best-practices/rules/server-auth-actions.md +96 -0
  407. package/skills/web/react-best-practices/rules/server-cache-lru.md +41 -0
  408. package/skills/web/react-best-practices/rules/server-cache-react.md +76 -0
  409. package/skills/web/react-best-practices/rules/server-dedup-props.md +65 -0
  410. package/skills/web/react-best-practices/rules/server-hoist-static-io.md +149 -0
  411. package/skills/web/react-best-practices/rules/server-no-shared-module-state.md +50 -0
  412. package/skills/web/react-best-practices/rules/server-parallel-fetching.md +83 -0
  413. package/skills/web/react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
  414. package/skills/web/react-best-practices/rules/server-serialization.md +38 -0
  415. package/skills/web/seo/SKILL.md +154 -0
  416. package/skills/web/web-design-guidelines/SKILL.md +39 -0
  417. package/skills/web/zap-scan-config/SKILL.md +444 -0
  418. package/skills/web/zap-scan-config/assets/.gitkeep +9 -0
  419. package/skills/web/zap-scan-config/assets/github_action.yml +207 -0
  420. package/skills/web/zap-scan-config/assets/gitlab_ci.yml +226 -0
  421. package/skills/web/zap-scan-config/assets/zap_automation.yaml +196 -0
  422. package/skills/web/zap-scan-config/assets/zap_context.xml +192 -0
  423. package/skills/web/zap-scan-config/references/EXAMPLE.md +40 -0
  424. package/skills/web/zap-scan-config/references/api_testing_guide.md +475 -0
  425. package/skills/web/zap-scan-config/references/authentication_guide.md +431 -0
  426. package/skills/web/zap-scan-config/references/false_positive_handling.md +427 -0
  427. package/skills/web/zap-scan-config/references/owasp_mapping.md +255 -0
  428. package/src/graph/ids.ts +86 -0
  429. package/src/graph/index.ts +32 -0
  430. package/src/graph/parser/architecture.ts +603 -0
  431. package/src/graph/parser/component-manifest.ts +268 -0
  432. package/src/graph/parser/decisions-jsonl.ts +407 -0
  433. package/src/graph/parser/design-md-pass2.ts +253 -0
  434. package/src/graph/parser/design-md.ts +477 -0
  435. package/src/graph/parser/page-spec.ts +496 -0
  436. package/src/graph/parser/product-spec.ts +930 -0
  437. package/src/graph/parser/screenshot.ts +342 -0
  438. package/src/graph/parser/sprint-tasks.ts +317 -0
  439. package/src/graph/storage/index.ts +1154 -0
  440. package/src/graph/types.ts +432 -0
  441. package/src/graph/util/dhash.ts +84 -0
  442. package/src/lrr/aggregator.ts +175 -0
  443. package/src/orchestrator/hooks/context-header.ts +119 -0
  444. package/src/orchestrator/hooks/token-accounting-emitter.ts +77 -0
  445. package/src/orchestrator/hooks/token-accounting.ts +112 -0
  446. package/src/orchestrator/mcp/cycle-counter.ts +130 -0
  447. package/src/orchestrator/mcp/scribe.ts +294 -0
  448. package/src/orchestrator/mcp/state-save.ts +149 -0
  449. package/src/orchestrator/mcp/write-lease.ts +184 -0
  450. package/src/orchestrator/phase4-shared-context.ts +57 -0
  451. package/src/orchestrator/schemas/backward-edge.ts +46 -0
  452. package/agents/agentic-identity-trust.md +0 -121
  453. package/agents/data-consolidation-agent.md +0 -39
  454. package/agents/design-image-prompt-engineer.md +0 -105
  455. package/agents/design-visual-storyteller.md +0 -147
  456. package/agents/design-whimsy-injector.md +0 -89
  457. package/agents/engineering-autonomous-optimization-architect.md +0 -105
  458. package/agents/market-intel.md +0 -35
  459. package/agents/marketing-instagram-curator.md +0 -111
  460. package/agents/marketing-reddit-community-builder.md +0 -121
  461. package/agents/marketing-social-media-strategist.md +0 -74
  462. package/agents/marketing-tiktok-strategist.md +0 -123
  463. package/agents/marketing-twitter-engager.md +0 -124
  464. package/agents/marketing-wechat-official-account.md +0 -143
  465. package/agents/marketing-xiaohongshu-specialist.md +0 -136
  466. package/agents/marketing-zhihu-strategist.md +0 -160
  467. package/agents/product-behavioral-nudge-engine.md +0 -78
  468. package/agents/project-management-experiment-tracker.md +0 -102
  469. package/agents/report-distribution-agent.md +0 -43
  470. package/agents/risk-analysis.md +0 -45
  471. package/agents/sales-data-extraction-agent.md +0 -46
  472. package/agents/specialized-cultural-intelligence-strategist.md +0 -65
  473. package/agents/specialized-developer-advocate.md +0 -146
  474. package/agents/support-analytics-reporter.md +0 -133
  475. package/agents/support-executive-summary-generator.md +0 -64
  476. package/agents/support-finance-tracker.md +0 -145
  477. package/agents/support-legal-compliance-checker.md +0 -129
  478. package/agents/support-support-responder.md +0 -91
  479. package/agents/testing-accessibility-auditor.md +0 -110
  480. package/agents/testing-test-results-analyzer.md +0 -97
  481. package/agents/testing-tool-evaluator.md +0 -76
  482. package/agents/testing-workflow-optimizer.md +0 -99
  483. package/agents/user-research.md +0 -40
  484. package/protocols/brainstorm.md +0 -99
  485. package/protocols/design.md +0 -269
  486. package/protocols/planning.md +0 -87
  487. package/skills/ios/ios-hig/SKILL.md +0 -41
  488. package/skills/ios/ios-hig/references/accessibility.md +0 -81
  489. package/skills/ios/ios-hig/references/content.md +0 -142
  490. package/skills/ios/ios-hig/references/feedback.md +0 -123
  491. package/skills/ios/ios-hig/references/interaction.md +0 -199
  492. package/skills/ios/ios-hig/references/performance-platform.md +0 -129
  493. package/skills/ios/ios-hig/references/privacy-permissions.md +0 -181
  494. package/skills/ios/ios-hig/references/visual-design.md +0 -84
@@ -0,0 +1,226 @@
1
+ # GitLab CI/CD Pipeline for OWASP ZAP Security Scanning
2
+ # Add this to your .gitlab-ci.yml file
3
+
4
+ stages:
5
+ - security
6
+ - report
7
+
8
+ variables:
9
+ ZAP_IMAGE: "zaproxy/zap-stable:latest"
10
+ STAGING_URL: "https://staging.example.com"
11
+ REPORTS_DIR: "security-reports"
12
+
13
+ # Baseline scan for all merge requests
14
+ zap_baseline_scan:
15
+ stage: security
16
+ image: docker:latest
17
+ services:
18
+ - docker:dind
19
+ script:
20
+ - mkdir -p $REPORTS_DIR
21
+ - |
22
+ docker run --rm \
23
+ -v $(pwd)/$REPORTS_DIR:/zap/wrk/:rw \
24
+ $ZAP_IMAGE \
25
+ zap-baseline.py \
26
+ -t $STAGING_URL \
27
+ -r /zap/wrk/baseline-report.html \
28
+ -J /zap/wrk/baseline-report.json \
29
+ -w /zap/wrk/baseline-report.md \
30
+ || true
31
+ - echo "Baseline scan completed"
32
+ artifacts:
33
+ when: always
34
+ paths:
35
+ - $REPORTS_DIR/
36
+ reports:
37
+ junit: $REPORTS_DIR/baseline-report.xml
38
+ expire_in: 1 week
39
+ only:
40
+ - merge_requests
41
+ - develop
42
+ - main
43
+ tags:
44
+ - docker
45
+
46
+ # Full active scan (manual trigger for staging)
47
+ zap_full_scan:
48
+ stage: security
49
+ image: docker:latest
50
+ services:
51
+ - docker:dind
52
+ script:
53
+ - mkdir -p $REPORTS_DIR
54
+ - |
55
+ docker run --rm \
56
+ -v $(pwd)/$REPORTS_DIR:/zap/wrk/:rw \
57
+ -v $(pwd)/.zap:/zap/config/:ro \
58
+ $ZAP_IMAGE \
59
+ zap-full-scan.py \
60
+ -t $STAGING_URL \
61
+ -c /zap/config/rules.tsv \
62
+ -r /zap/wrk/full-scan-report.html \
63
+ -J /zap/wrk/full-scan-report.json \
64
+ -x /zap/wrk/full-scan-report.xml \
65
+ || true
66
+ # Check for high-risk findings
67
+ - |
68
+ if command -v jq &> /dev/null; then
69
+ HIGH_COUNT=$(jq '[.site[].alerts[] | select(.risk == "High")] | length' $REPORTS_DIR/full-scan-report.json)
70
+ echo "High risk findings: $HIGH_COUNT"
71
+ if [ "$HIGH_COUNT" -gt 0 ]; then
72
+ echo "❌ Security scan failed: $HIGH_COUNT high-risk vulnerabilities"
73
+ exit 1
74
+ fi
75
+ fi
76
+ artifacts:
77
+ when: always
78
+ paths:
79
+ - $REPORTS_DIR/
80
+ expire_in: 4 weeks
81
+ only:
82
+ - develop
83
+ when: manual
84
+ allow_failure: false
85
+ tags:
86
+ - docker
87
+
88
+ # API security scan
89
+ zap_api_scan:
90
+ stage: security
91
+ image: docker:latest
92
+ services:
93
+ - docker:dind
94
+ script:
95
+ - mkdir -p $REPORTS_DIR
96
+ - |
97
+ if [ -f "openapi.yaml" ]; then
98
+ docker run --rm \
99
+ -v $(pwd)/$REPORTS_DIR:/zap/wrk/:rw \
100
+ -v $(pwd):/zap/specs/:ro \
101
+ $ZAP_IMAGE \
102
+ zap-api-scan.py \
103
+ -t $STAGING_URL \
104
+ -f openapi \
105
+ -d /zap/specs/openapi.yaml \
106
+ -r /zap/wrk/api-scan-report.html \
107
+ -J /zap/wrk/api-scan-report.json \
108
+ || true
109
+ else
110
+ echo "OpenAPI specification not found, skipping API scan"
111
+ fi
112
+ artifacts:
113
+ when: always
114
+ paths:
115
+ - $REPORTS_DIR/
116
+ expire_in: 1 week
117
+ only:
118
+ - merge_requests
119
+ - develop
120
+ allow_failure: true
121
+ tags:
122
+ - docker
123
+
124
+ # Authenticated scan (requires test credentials)
125
+ zap_authenticated_scan:
126
+ stage: security
127
+ image: python:3.11-slim
128
+ before_script:
129
+ - apt-get update && apt-get install -y docker.io
130
+ script:
131
+ - mkdir -p $REPORTS_DIR
132
+ - |
133
+ python3 scripts/zap_auth_scanner.py \
134
+ --target $STAGING_URL \
135
+ --auth-type form \
136
+ --login-url $STAGING_URL/login \
137
+ --username $TEST_USERNAME \
138
+ --password-env TEST_PASSWORD \
139
+ --output $REPORTS_DIR/authenticated-scan-report.html
140
+ artifacts:
141
+ when: always
142
+ paths:
143
+ - $REPORTS_DIR/
144
+ expire_in: 4 weeks
145
+ only:
146
+ - develop
147
+ when: manual
148
+ tags:
149
+ - docker
150
+
151
+ # Security gate - check thresholds
152
+ security_gate:
153
+ stage: report
154
+ image: alpine:latest
155
+ before_script:
156
+ - apk add --no-cache jq
157
+ script:
158
+ - |
159
+ if [ -f "$REPORTS_DIR/baseline-report.json" ]; then
160
+ HIGH_COUNT=$(jq '[.site[].alerts[] | select(.risk == "High")] | length' $REPORTS_DIR/baseline-report.json)
161
+ MEDIUM_COUNT=$(jq '[.site[].alerts[] | select(.risk == "Medium")] | length' $REPORTS_DIR/baseline-report.json)
162
+
163
+ echo "==================================="
164
+ echo "Security Scan Results"
165
+ echo "==================================="
166
+ echo "High risk findings: $HIGH_COUNT"
167
+ echo "Medium risk findings: $MEDIUM_COUNT"
168
+ echo "==================================="
169
+
170
+ # Fail on high-risk findings
171
+ if [ "$HIGH_COUNT" -gt 0 ]; then
172
+ echo "❌ Build failed: High-risk vulnerabilities detected"
173
+ exit 1
174
+ fi
175
+
176
+ # Warn on medium-risk findings above threshold
177
+ if [ "$MEDIUM_COUNT" -gt 10 ]; then
178
+ echo "⚠️ Warning: $MEDIUM_COUNT medium-risk findings (threshold: 10)"
179
+ fi
180
+
181
+ echo "✅ Security gate passed"
182
+ else
183
+ echo "No scan report found, skipping security gate"
184
+ fi
185
+ dependencies:
186
+ - zap_baseline_scan
187
+ only:
188
+ - merge_requests
189
+ - develop
190
+ - main
191
+
192
+ # Generate consolidated report
193
+ generate_report:
194
+ stage: report
195
+ image: alpine:latest
196
+ before_script:
197
+ - apk add --no-cache jq curl
198
+ script:
199
+ - |
200
+ echo "# Security Scan Report" > $REPORTS_DIR/summary.md
201
+ echo "" >> $REPORTS_DIR/summary.md
202
+ echo "**Scan Date:** $(date)" >> $REPORTS_DIR/summary.md
203
+ echo "**Target:** $STAGING_URL" >> $REPORTS_DIR/summary.md
204
+ echo "" >> $REPORTS_DIR/summary.md
205
+ echo "## Findings Summary" >> $REPORTS_DIR/summary.md
206
+ echo "" >> $REPORTS_DIR/summary.md
207
+
208
+ if [ -f "$REPORTS_DIR/baseline-report.json" ]; then
209
+ echo "| Risk Level | Count |" >> $REPORTS_DIR/summary.md
210
+ echo "|------------|-------|" >> $REPORTS_DIR/summary.md
211
+ jq -r '.site[].alerts[] | .risk' $REPORTS_DIR/baseline-report.json | \
212
+ sort | uniq -c | awk '{print "| " $2 " | " $1 " |"}' >> $REPORTS_DIR/summary.md
213
+ fi
214
+
215
+ cat $REPORTS_DIR/summary.md
216
+ artifacts:
217
+ when: always
218
+ paths:
219
+ - $REPORTS_DIR/summary.md
220
+ expire_in: 4 weeks
221
+ dependencies:
222
+ - zap_baseline_scan
223
+ only:
224
+ - merge_requests
225
+ - develop
226
+ - main
@@ -0,0 +1,196 @@
1
+ # OWASP ZAP Automation Framework Configuration
2
+ # Complete automation workflow for web application security testing
3
+
4
+ env:
5
+ contexts:
6
+ - name: WebApp-Security-Scan
7
+ urls:
8
+ - ${TARGET_URL}
9
+ includePaths:
10
+ - ${TARGET_URL}.*
11
+ excludePaths:
12
+ - .*logout.*
13
+ - .*signout.*
14
+ - .*\\.css
15
+ - .*\\.js
16
+ - .*\\.png
17
+ - .*\\.jpg
18
+ - .*\\.gif
19
+ - .*\\.svg
20
+ authentication:
21
+ method: form
22
+ parameters:
23
+ loginUrl: ${LOGIN_URL}
24
+ loginRequestData: username={%username%}&password={%password%}
25
+ verification:
26
+ method: response
27
+ loggedInRegex: "\\QWelcome\\E"
28
+ loggedOutRegex: "\\QLogin\\E"
29
+ sessionManagement:
30
+ method: cookie
31
+ parameters:
32
+ sessionCookieName: JSESSIONID
33
+ users:
34
+ - name: test-user
35
+ credentials:
36
+ username: ${TEST_USERNAME}
37
+ password: ${TEST_PASSWORD}
38
+
39
+ parameters:
40
+ failOnError: true
41
+ failOnWarning: false
42
+ progressToStdout: true
43
+
44
+ vars:
45
+ target_url: ${TARGET_URL}
46
+ api_key: ${ZAP_API_KEY}
47
+
48
+ jobs:
49
+ # Environment setup
50
+ - type: environment
51
+ parameters:
52
+ deleteGlobalAlerts: true
53
+ updateAddOns: true
54
+
55
+ # Import OpenAPI specification (if available)
56
+ - type: openapi
57
+ parameters:
58
+ apiFile: ${OPENAPI_SPEC_FILE}
59
+ apiUrl: ${TARGET_URL}
60
+ targetUrl: ${TARGET_URL}
61
+ context: WebApp-Security-Scan
62
+ optional: true
63
+
64
+ # Spider crawling
65
+ - type: spider
66
+ parameters:
67
+ context: WebApp-Security-Scan
68
+ user: test-user
69
+ maxDuration: 10
70
+ maxDepth: 5
71
+ maxChildren: 10
72
+ acceptCookies: true
73
+ handleODataParametersVisited: true
74
+ parseComments: true
75
+ parseRobotsTxt: true
76
+ parseSitemapXml: true
77
+ parseSVNEntries: true
78
+ parseGit: true
79
+ postForm: true
80
+ processForm: true
81
+ requestWaitTime: 200
82
+
83
+ # AJAX Spider for JavaScript-heavy applications
84
+ - type: spiderAjax
85
+ parameters:
86
+ context: WebApp-Security-Scan
87
+ user: test-user
88
+ maxDuration: 10
89
+ maxCrawlDepth: 5
90
+ numberOfBrowsers: 2
91
+ browserId: firefox-headless
92
+ clickDefaultElems: true
93
+ clickElemsOnce: true
94
+ eventWait: 1000
95
+ reloadWait: 1000
96
+ optional: true
97
+
98
+ # Wait for passive scanning to complete
99
+ - type: passiveScan-wait
100
+ parameters:
101
+ maxDuration: 5
102
+
103
+ # Configure passive scan rules
104
+ - type: passiveScan-config
105
+ parameters:
106
+ maxAlertsPerRule: 10
107
+ scanOnlyInScope: true
108
+ enableTags: true
109
+ disableRules:
110
+ - 10096 # Timestamp Disclosure (informational)
111
+
112
+ # Active scanning
113
+ - type: activeScan
114
+ parameters:
115
+ context: WebApp-Security-Scan
116
+ user: test-user
117
+ policy: Default Policy
118
+ maxRuleDurationInMins: 5
119
+ maxScanDurationInMins: 30
120
+ addQueryParam: false
121
+ defaultPolicy: Default Policy
122
+ delayInMs: 0
123
+ handleAntiCSRFTokens: true
124
+ injectPluginIdInHeader: false
125
+ scanHeadersAllRequests: false
126
+ threadPerHost: 2
127
+
128
+ # Wait for active scanning to complete
129
+ - type: activeScan-wait
130
+
131
+ # Generate reports
132
+ - type: report
133
+ parameters:
134
+ template: traditional-html
135
+ reportDir: ${REPORT_DIR}
136
+ reportFile: security-report.html
137
+ reportTitle: Web Application Security Assessment
138
+ reportDescription: Automated DAST scan using OWASP ZAP
139
+ displayReport: false
140
+
141
+ - type: report
142
+ parameters:
143
+ template: traditional-json
144
+ reportDir: ${REPORT_DIR}
145
+ reportFile: security-report.json
146
+ reportTitle: Web Application Security Assessment
147
+
148
+ - type: report
149
+ parameters:
150
+ template: traditional-xml
151
+ reportDir: ${REPORT_DIR}
152
+ reportFile: security-report.xml
153
+ reportTitle: Web Application Security Assessment
154
+
155
+ - type: report
156
+ parameters:
157
+ template: sarif-json
158
+ reportDir: ${REPORT_DIR}
159
+ reportFile: security-report.sarif
160
+ reportTitle: Web Application Security Assessment (SARIF)
161
+ optional: true
162
+
163
+ # Alert filters (false positive suppression)
164
+ alertFilters:
165
+ - ruleId: 10021
166
+ newRisk: Info
167
+ url: ".*\\.css|.*\\.js|.*cdn\\..*"
168
+ context: WebApp-Security-Scan
169
+
170
+ - ruleId: 10096
171
+ newRisk: Info
172
+ url: ".*api\\..*"
173
+ parameter: "created_at|updated_at|timestamp"
174
+ context: WebApp-Security-Scan
175
+
176
+ # Scan policies
177
+ policies:
178
+ - name: Default Policy
179
+ defaultStrength: Medium
180
+ defaultThreshold: Medium
181
+ rules:
182
+ - id: 40018 # SQL Injection
183
+ strength: High
184
+ threshold: Low
185
+ - id: 40012 # Cross-Site Scripting (Reflected)
186
+ strength: High
187
+ threshold: Low
188
+ - id: 40014 # Cross-Site Scripting (Persistent)
189
+ strength: High
190
+ threshold: Low
191
+ - id: 90019 # Server-Side Code Injection
192
+ strength: High
193
+ threshold: Low
194
+ - id: 90020 # Remote OS Command Injection
195
+ strength: High
196
+ threshold: Low
@@ -0,0 +1,192 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ OWASP ZAP Authentication Context Template
4
+ Configure this file for form-based, HTTP, or script-based authentication
5
+ -->
6
+ <configuration>
7
+ <context>
8
+ <!-- Context Name -->
9
+ <name>WebApp-Auth-Context</name>
10
+ <desc>Authentication context for web application security testing</desc>
11
+
12
+ <!-- Enable context -->
13
+ <inscope>true</inscope>
14
+
15
+ <!-- URL Scope Definition -->
16
+ <!-- Include all URLs under target domain -->
17
+ <incregexes>https://app\.example\.com/.*</incregexes>
18
+
19
+ <!-- Exclude logout and static content -->
20
+ <excregexes>https://app\.example\.com/logout</excregexes>
21
+ <excregexes>https://app\.example\.com/signout</excregexes>
22
+ <excregexes>https://app\.example\.com/static/.*</excregexes>
23
+ <excregexes>.*\.css</excregexes>
24
+ <excregexes>.*\.js</excregexes>
25
+ <excregexes>.*\.png|.*\.jpg|.*\.gif</excregexes>
26
+
27
+ <!-- Technology Detection -->
28
+ <tech>
29
+ <include>Language</include>
30
+ <include>Language.JavaScript</include>
31
+ <include>OS</include>
32
+ <include>OS.Linux</include>
33
+ <include>WS</include>
34
+ </tech>
35
+
36
+ <!-- Authentication Configuration -->
37
+ <authentication>
38
+ <!--
39
+ Authentication Types:
40
+ - formBasedAuthentication: Traditional login forms
41
+ - httpAuthentication: HTTP Basic/Digest/NTLM
42
+ - scriptBasedAuthentication: Custom authentication via script
43
+ -->
44
+ <type>formBasedAuthentication</type>
45
+
46
+ <!-- Form-Based Authentication -->
47
+ <form>
48
+ <!-- Login URL -->
49
+ <loginurl>https://app.example.com/login</loginurl>
50
+
51
+ <!-- Login Request Body (POST parameters) -->
52
+ <!-- Use {%username%} and {%password%} as placeholders -->
53
+ <loginbody>username={%username%}&amp;password={%password%}&amp;csrf_token={%csrf_token%}</loginbody>
54
+
55
+ <!-- Login Page URL (where login form is displayed) -->
56
+ <loginpageurl>https://app.example.com/login</loginpageurl>
57
+ </form>
58
+
59
+ <!-- HTTP Authentication (uncomment if using) -->
60
+ <!--
61
+ <http>
62
+ <realm>Protected Area</realm>
63
+ <hostname>app.example.com</hostname>
64
+ <port>443</port>
65
+ </http>
66
+ -->
67
+
68
+ <!-- Logged-In Indicator (regex pattern that appears when logged in) -->
69
+ <!-- This helps ZAP determine if authentication succeeded -->
70
+ <loggedin>\QWelcome,\E</loggedin>
71
+ <!-- Alternative patterns:
72
+ <loggedin>\QLogout\E</loggedin>
73
+ <loggedin>\Qdashboard\E</loggedin>
74
+ <loggedin>class="user-menu"</loggedin>
75
+ -->
76
+
77
+ <!-- Logged-Out Indicator (regex pattern that appears when logged out) -->
78
+ <loggedout>\QYou are not logged in\E</loggedout>
79
+ <!-- Alternative patterns:
80
+ <loggedout>\QLogin\E</loggedout>
81
+ <loggedout>\QSign In\E</loggedout>
82
+ -->
83
+
84
+ <!-- Poll URL for verification (optional) -->
85
+ <pollurl>https://app.example.com/api/session/verify</pollurl>
86
+ <polldata></polldata>
87
+ <pollfreq>60</pollfreq>
88
+ </authentication>
89
+
90
+ <!-- Session Management -->
91
+ <sessionManagement>
92
+ <!--
93
+ Session Management Types:
94
+ - cookieBasedSessionManagement: Session via cookies (most common)
95
+ - httpAuthSessionManagement: HTTP authentication
96
+ - scriptBasedSessionManagement: Custom session handling
97
+ -->
98
+ <type>cookieBasedSessionManagement</type>
99
+
100
+ <!-- Session cookies to monitor -->
101
+ <sessioncookies>
102
+ <cookie>JSESSIONID</cookie>
103
+ <cookie>PHPSESSID</cookie>
104
+ <cookie>sessionid</cookie>
105
+ <cookie>session_token</cookie>
106
+ </sessioncookies>
107
+ </sessionManagement>
108
+
109
+ <!-- Test Users -->
110
+ <users>
111
+ <!-- User 1: Standard test user -->
112
+ <user>
113
+ <name>testuser</name>
114
+ <enabled>true</enabled>
115
+ <credentials>
116
+ <credential>
117
+ <name>username</name>
118
+ <value>testuser</value>
119
+ </credential>
120
+ <credential>
121
+ <name>password</name>
122
+ <value>TestPassword123!</value>
123
+ </credential>
124
+ <!-- CSRF token (if needed) -->
125
+ <!--
126
+ <credential>
127
+ <name>csrf_token</name>
128
+ <value></value>
129
+ </credential>
130
+ -->
131
+ </credentials>
132
+ </user>
133
+
134
+ <!-- User 2: Admin user (if testing authorization) -->
135
+ <user>
136
+ <name>adminuser</name>
137
+ <enabled>false</enabled>
138
+ <credentials>
139
+ <credential>
140
+ <name>username</name>
141
+ <value>adminuser</value>
142
+ </credential>
143
+ <credential>
144
+ <name>password</name>
145
+ <value>AdminPassword123!</value>
146
+ </credential>
147
+ </credentials>
148
+ </user>
149
+ </users>
150
+
151
+ <!-- Forced User Mode (for authorization testing) -->
152
+ <!--
153
+ Enables testing if authenticated user can access resources
154
+ they shouldn't have access to
155
+ -->
156
+ <forcedUserMode>false</forcedUserMode>
157
+
158
+ <!-- Data Driven Nodes -->
159
+ <!--
160
+ For testing parameters with different values
161
+ -->
162
+ <datadrivennodes>
163
+ <node>
164
+ <name>user_id</name>
165
+ <url>https://app.example.com/api/users/{user_id}</url>
166
+ </node>
167
+ </datadrivennodes>
168
+ </context>
169
+
170
+ <!-- Global Exclude URLs (applied to all contexts) -->
171
+ <globalexcludeurl>
172
+ <regex>https://.*\.googleapis\.com/.*</regex>
173
+ <regex>https://.*\.google-analytics\.com/.*</regex>
174
+ <regex>https://.*\.googletagmanager\.com/.*</regex>
175
+ <regex>https://cdn\..*</regex>
176
+ </globalexcludeurl>
177
+
178
+ <!-- Anti-CSRF Token Configuration -->
179
+ <anticsrf>
180
+ <!-- Enable anti-CSRF token handling -->
181
+ <enabled>true</enabled>
182
+
183
+ <!-- Token names to automatically detect and handle -->
184
+ <tokennames>
185
+ <tokenname>csrf_token</tokenname>
186
+ <tokenname>csrftoken</tokenname>
187
+ <tokenname>_csrf</tokenname>
188
+ <tokenname>authenticity_token</tokenname>
189
+ <tokenname>__RequestVerificationToken</tokenname>
190
+ </tokennames>
191
+ </anticsrf>
192
+ </configuration>
@@ -0,0 +1,40 @@
1
+ # Reference Document Template
2
+
3
+ This file contains detailed reference material that Claude should load only when needed.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Section 1](#section-1)
8
+ - [Section 2](#section-2)
9
+ - [Security Standards](#security-standards)
10
+
11
+ ## Section 1
12
+
13
+ Detailed information, schemas, or examples that are too large for SKILL.md.
14
+
15
+ ## Section 2
16
+
17
+ Additional reference material.
18
+
19
+ ## Security Standards
20
+
21
+ ### OWASP Top 10
22
+
23
+ Reference relevant OWASP categories:
24
+ - A01: Broken Access Control
25
+ - A02: Cryptographic Failures
26
+ - etc.
27
+
28
+ ### CWE Mappings
29
+
30
+ Map to relevant Common Weakness Enumeration categories:
31
+ - CWE-79: Cross-site Scripting
32
+ - CWE-89: SQL Injection
33
+ - etc.
34
+
35
+ ### MITRE ATT&CK
36
+
37
+ Reference relevant tactics and techniques if applicable:
38
+ - TA0001: Initial Access
39
+ - T1190: Exploit Public-Facing Application
40
+ - etc.