cfsa-antigravity 6.1.0 → 6.2.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 (1180) hide show
  1. package/README.md +5 -2
  2. package/bin/cli.mjs +2 -0
  3. package/package.json +1 -1
  4. package/template/.agents/mcp_config.json +7 -0
  5. package/template/.agents/skills/brand-guidelines/SKILL.md +14 -2
  6. package/template/.agents/skills/create-prd/SKILL.md +1 -1
  7. package/template/.agents/skills/create-prd-design-system/SKILL.md +16 -6
  8. package/template/.agents/skills/create-prd-stack/SKILL.md +10 -2
  9. package/template/.agents/skills/design-anti-cliche/SKILL.md +22 -4
  10. package/template/.agents/skills/design-direction/SKILL.md +34 -25
  11. package/template/.agents/skills/impeccable/SKILL.md +176 -0
  12. package/template/.agents/skills/impeccable/agents/openai.yaml +4 -0
  13. package/template/.agents/skills/impeccable/reference/adapt.md +190 -0
  14. package/template/.agents/skills/impeccable/reference/animate.md +175 -0
  15. package/template/.agents/skills/impeccable/reference/audit.md +133 -0
  16. package/template/.agents/skills/impeccable/reference/bolder.md +113 -0
  17. package/template/.agents/skills/impeccable/reference/brand.md +114 -0
  18. package/template/.agents/skills/impeccable/reference/clarify.md +174 -0
  19. package/template/.agents/skills/impeccable/reference/cognitive-load.md +106 -0
  20. package/template/.agents/skills/impeccable/reference/color-and-contrast.md +105 -0
  21. package/template/.agents/skills/impeccable/reference/colorize.md +154 -0
  22. package/template/.agents/skills/impeccable/reference/craft.md +193 -0
  23. package/template/.agents/skills/impeccable/reference/critique.md +213 -0
  24. package/template/.agents/skills/impeccable/reference/delight.md +302 -0
  25. package/template/.agents/skills/impeccable/reference/distill.md +111 -0
  26. package/template/.agents/skills/impeccable/reference/document.md +427 -0
  27. package/template/.agents/skills/impeccable/reference/extract.md +69 -0
  28. package/template/.agents/skills/impeccable/reference/harden.md +347 -0
  29. package/template/.agents/skills/impeccable/reference/heuristics-scoring.md +234 -0
  30. package/template/.agents/skills/impeccable/reference/interaction-design.md +195 -0
  31. package/template/.agents/skills/impeccable/reference/layout.md +141 -0
  32. package/template/.agents/skills/impeccable/reference/live.md +622 -0
  33. package/template/.agents/skills/impeccable/reference/motion-design.md +109 -0
  34. package/template/.agents/skills/impeccable/reference/onboard.md +234 -0
  35. package/template/.agents/skills/impeccable/reference/optimize.md +258 -0
  36. package/template/.agents/skills/impeccable/reference/overdrive.md +130 -0
  37. package/template/.agents/skills/impeccable/reference/personas.md +179 -0
  38. package/template/.agents/skills/impeccable/reference/polish.md +233 -0
  39. package/template/.agents/skills/impeccable/reference/product.md +62 -0
  40. package/template/.agents/skills/impeccable/reference/quieter.md +99 -0
  41. package/template/.agents/skills/impeccable/reference/responsive-design.md +114 -0
  42. package/template/.agents/skills/impeccable/reference/shape.md +151 -0
  43. package/template/.agents/skills/impeccable/reference/spatial-design.md +100 -0
  44. package/template/.agents/skills/impeccable/reference/teach.md +156 -0
  45. package/template/.agents/skills/impeccable/reference/typeset.md +124 -0
  46. package/template/.agents/skills/impeccable/reference/typography.md +159 -0
  47. package/template/.agents/skills/impeccable/reference/ux-writing.md +107 -0
  48. package/template/.agents/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  49. package/template/.agents/skills/impeccable/scripts/command-metadata.json +94 -0
  50. package/template/.agents/skills/impeccable/scripts/design-parser.mjs +820 -0
  51. package/template/.agents/skills/impeccable/scripts/detect-csp.mjs +198 -0
  52. package/template/.agents/skills/impeccable/scripts/impeccable-paths.mjs +105 -0
  53. package/template/.agents/skills/impeccable/scripts/is-generated.mjs +69 -0
  54. package/template/.agents/skills/impeccable/scripts/live-accept.mjs +595 -0
  55. package/template/.agents/skills/impeccable/scripts/live-browser-session.js +123 -0
  56. package/template/.agents/skills/impeccable/scripts/live-browser.js +4860 -0
  57. package/template/.agents/skills/impeccable/scripts/live-complete.mjs +75 -0
  58. package/template/.agents/skills/impeccable/scripts/live-completion.mjs +18 -0
  59. package/template/.agents/skills/impeccable/scripts/live-inject.mjs +446 -0
  60. package/template/.agents/skills/impeccable/scripts/live-poll.mjs +200 -0
  61. package/template/.agents/skills/impeccable/scripts/live-resume.mjs +48 -0
  62. package/template/.agents/skills/impeccable/scripts/live-server.mjs +836 -0
  63. package/template/.agents/skills/impeccable/scripts/live-session-store.mjs +254 -0
  64. package/template/.agents/skills/impeccable/scripts/live-status.mjs +47 -0
  65. package/template/.agents/skills/impeccable/scripts/live-wrap.mjs +632 -0
  66. package/template/.agents/skills/impeccable/scripts/live.mjs +247 -0
  67. package/template/.agents/skills/impeccable/scripts/load-context.mjs +141 -0
  68. package/template/.agents/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  69. package/template/.agents/skills/impeccable/scripts/pin.mjs +214 -0
  70. package/template/.agents/skills/write-fe-spec/SKILL.md +1 -1
  71. package/template/.agents/skills/write-fe-spec-classify/SKILL.md +1 -1
  72. package/template/.claude/CLAUDE.md +94 -0
  73. package/template/.claude/settings.json +30 -0
  74. package/template/.claude/skills/brand-guidelines/SKILL.md +14 -2
  75. package/template/.claude/skills/create-prd/SKILL.md +121 -65
  76. package/template/.claude/skills/create-prd-design-system/SKILL.md +163 -49
  77. package/template/.claude/skills/create-prd-stack/SKILL.md +130 -59
  78. package/template/.claude/skills/design-anti-cliche/SKILL.md +22 -4
  79. package/template/.claude/skills/design-direction/SKILL.md +34 -25
  80. package/template/.claude/skills/impeccable/SKILL.md +182 -0
  81. package/template/.claude/skills/impeccable/reference/adapt.md +190 -0
  82. package/template/.claude/skills/impeccable/reference/animate.md +175 -0
  83. package/template/.claude/skills/impeccable/reference/audit.md +133 -0
  84. package/template/.claude/skills/impeccable/reference/bolder.md +113 -0
  85. package/template/.claude/skills/impeccable/reference/brand.md +114 -0
  86. package/template/.claude/skills/impeccable/reference/clarify.md +174 -0
  87. package/template/.claude/skills/impeccable/reference/cognitive-load.md +106 -0
  88. package/template/.claude/skills/impeccable/reference/color-and-contrast.md +105 -0
  89. package/template/.claude/skills/impeccable/reference/colorize.md +154 -0
  90. package/template/.claude/skills/impeccable/reference/craft.md +193 -0
  91. package/template/.claude/skills/impeccable/reference/critique.md +213 -0
  92. package/template/.claude/skills/impeccable/reference/delight.md +302 -0
  93. package/template/.claude/skills/impeccable/reference/distill.md +111 -0
  94. package/template/.claude/skills/impeccable/reference/document.md +427 -0
  95. package/template/.claude/skills/impeccable/reference/extract.md +69 -0
  96. package/template/.claude/skills/impeccable/reference/harden.md +347 -0
  97. package/template/.claude/skills/impeccable/reference/heuristics-scoring.md +234 -0
  98. package/template/.claude/skills/impeccable/reference/interaction-design.md +195 -0
  99. package/template/.claude/skills/impeccable/reference/layout.md +141 -0
  100. package/template/.claude/skills/impeccable/reference/live.md +622 -0
  101. package/template/.claude/skills/impeccable/reference/motion-design.md +109 -0
  102. package/template/.claude/skills/impeccable/reference/onboard.md +234 -0
  103. package/template/.claude/skills/impeccable/reference/optimize.md +258 -0
  104. package/template/.claude/skills/impeccable/reference/overdrive.md +130 -0
  105. package/template/.claude/skills/impeccable/reference/personas.md +179 -0
  106. package/template/.claude/skills/impeccable/reference/polish.md +233 -0
  107. package/template/.claude/skills/impeccable/reference/product.md +62 -0
  108. package/template/.claude/skills/impeccable/reference/quieter.md +99 -0
  109. package/template/.claude/skills/impeccable/reference/responsive-design.md +114 -0
  110. package/template/.claude/skills/impeccable/reference/shape.md +151 -0
  111. package/template/.claude/skills/impeccable/reference/spatial-design.md +100 -0
  112. package/template/.claude/skills/impeccable/reference/teach.md +156 -0
  113. package/template/.claude/skills/impeccable/reference/typeset.md +124 -0
  114. package/template/.claude/skills/impeccable/reference/typography.md +159 -0
  115. package/template/.claude/skills/impeccable/reference/ux-writing.md +107 -0
  116. package/template/.claude/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  117. package/template/.claude/skills/impeccable/scripts/command-metadata.json +94 -0
  118. package/template/.claude/skills/impeccable/scripts/design-parser.mjs +820 -0
  119. package/template/.claude/skills/impeccable/scripts/detect-csp.mjs +198 -0
  120. package/template/.claude/skills/impeccable/scripts/impeccable-paths.mjs +105 -0
  121. package/template/.claude/skills/impeccable/scripts/is-generated.mjs +69 -0
  122. package/template/.claude/skills/impeccable/scripts/live-accept.mjs +595 -0
  123. package/template/.claude/skills/impeccable/scripts/live-browser-session.js +123 -0
  124. package/template/.claude/skills/impeccable/scripts/live-browser.js +4860 -0
  125. package/template/.claude/skills/impeccable/scripts/live-complete.mjs +75 -0
  126. package/template/.claude/skills/impeccable/scripts/live-completion.mjs +18 -0
  127. package/template/.claude/skills/impeccable/scripts/live-inject.mjs +446 -0
  128. package/template/.claude/skills/impeccable/scripts/live-poll.mjs +200 -0
  129. package/template/.claude/skills/impeccable/scripts/live-resume.mjs +48 -0
  130. package/template/.claude/skills/impeccable/scripts/live-server.mjs +836 -0
  131. package/template/.claude/skills/impeccable/scripts/live-session-store.mjs +254 -0
  132. package/template/.claude/skills/impeccable/scripts/live-status.mjs +47 -0
  133. package/template/.claude/skills/impeccable/scripts/live-wrap.mjs +632 -0
  134. package/template/.claude/skills/impeccable/scripts/live.mjs +247 -0
  135. package/template/.claude/skills/impeccable/scripts/load-context.mjs +141 -0
  136. package/template/.claude/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  137. package/template/.claude/skills/impeccable/scripts/pin.mjs +214 -0
  138. package/template/.claude/skills/write-fe-spec/SKILL.md +74 -60
  139. package/template/.claude/skills/write-fe-spec-classify/SKILL.md +158 -55
  140. package/template/.codex/AGENTS.md +84 -0
  141. package/template/.codex/config.toml +10 -0
  142. package/template/.codex/hooks.json +40 -0
  143. package/template/.codex/skills/brand-guidelines/SKILL.md +14 -2
  144. package/template/.codex/skills/create-prd/SKILL.md +121 -65
  145. package/template/.codex/skills/create-prd-design-system/SKILL.md +163 -49
  146. package/template/.codex/skills/create-prd-stack/SKILL.md +130 -59
  147. package/template/.codex/skills/design-anti-cliche/SKILL.md +22 -4
  148. package/template/.codex/skills/design-direction/SKILL.md +34 -25
  149. package/template/.codex/skills/write-fe-spec/SKILL.md +74 -60
  150. package/template/.codex/skills/write-fe-spec-classify/SKILL.md +158 -55
  151. package/template/.github/ISSUE_TEMPLATE/bug_report.yml +66 -0
  152. package/template/.github/ISSUE_TEMPLATE/config.yml +5 -0
  153. package/template/.github/ISSUE_TEMPLATE/feature_request.yml +52 -0
  154. package/template/.github/ISSUE_TEMPLATE/new_skill.yml +54 -0
  155. package/template/.github/PULL_REQUEST_TEMPLATE.md +19 -0
  156. package/template/.github/copilot-instructions.md +89 -0
  157. package/template/.github/hooks.json +14 -0
  158. package/template/.github/instructions/commands.md +24 -0
  159. package/template/.github/instructions/example.md +21 -0
  160. package/template/.github/instructions/patterns.md +61 -0
  161. package/template/.github/instructions/structure.md +29 -0
  162. package/template/.github/instructions/tech-stack.md +91 -0
  163. package/template/.github/instructions/workflow.md +65 -0
  164. package/template/.github/mcp.json +8 -0
  165. package/template/.github/rules/boundary-not-placeholder.md +146 -0
  166. package/template/.github/rules/completion-checklist.md +60 -0
  167. package/template/.github/rules/debug-by-test.md +49 -0
  168. package/template/.github/rules/decision-classification.md +113 -0
  169. package/template/.github/rules/extensibility.md +52 -0
  170. package/template/.github/rules/memory-capture.md +71 -0
  171. package/template/.github/rules/question-vs-command.md +91 -0
  172. package/template/.github/rules/security-first.md +54 -0
  173. package/template/.github/rules/single-question.md +59 -0
  174. package/template/.github/rules/skill-mcp-first.md +45 -0
  175. package/template/.github/rules/source-before-ask.md +93 -0
  176. package/template/.github/rules/specificity-standards.md +64 -0
  177. package/template/.github/rules/tdd-contract-first.md +67 -0
  178. package/template/.github/rules/vertical-slices.md +83 -0
  179. package/template/.github/skill-library/MANIFEST.md +498 -0
  180. package/template/.github/skill-library/README.md +38 -0
  181. package/template/.github/skill-library/meta/claude-code/README.md +9 -0
  182. package/template/.github/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
  183. package/template/.github/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
  184. package/template/.github/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
  185. package/template/.github/skill-library/meta/mcp-builder/SKILL.md +236 -0
  186. package/template/.github/skill-library/meta/product-marketing-context/SKILL.md +241 -0
  187. package/template/.github/skill-library/meta/tmux-processes/SKILL.md +210 -0
  188. package/template/.github/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
  189. package/template/.github/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
  190. package/template/.github/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
  191. package/template/.github/skill-library/stack/ai/langchain/SKILL.md +530 -0
  192. package/template/.github/skill-library/stack/ai/ollama/SKILL.md +321 -0
  193. package/template/.github/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
  194. package/template/.github/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
  195. package/template/.github/skill-library/stack/api/graphql/SKILL.md +1061 -0
  196. package/template/.github/skill-library/stack/api/trpc/SKILL.md +576 -0
  197. package/template/.github/skill-library/stack/auth/authjs/SKILL.md +569 -0
  198. package/template/.github/skill-library/stack/auth/clerk/SKILL.md +590 -0
  199. package/template/.github/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
  200. package/template/.github/skill-library/stack/auth/lucia/SKILL.md +230 -0
  201. package/template/.github/skill-library/stack/auth/supabase-auth/SKILL.md +293 -0
  202. package/template/.github/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
  203. package/template/.github/skill-library/stack/cms/shopify/SKILL.md +1193 -0
  204. package/template/.github/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
  205. package/template/.github/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
  206. package/template/.github/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
  207. package/template/.github/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
  208. package/template/.github/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
  209. package/template/.github/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
  210. package/template/.github/skill-library/stack/databases/influxdb/SKILL.md +280 -0
  211. package/template/.github/skill-library/stack/databases/lancedb/SKILL.md +415 -0
  212. package/template/.github/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
  213. package/template/.github/skill-library/stack/databases/neo4j/SKILL.md +839 -0
  214. package/template/.github/skill-library/stack/databases/pgvector/SKILL.md +241 -0
  215. package/template/.github/skill-library/stack/databases/pinecone/SKILL.md +212 -0
  216. package/template/.github/skill-library/stack/databases/postgresql/SKILL.md +658 -0
  217. package/template/.github/skill-library/stack/databases/qdrant/SKILL.md +312 -0
  218. package/template/.github/skill-library/stack/databases/redis/SKILL.md +1079 -0
  219. package/template/.github/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
  220. package/template/.github/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
  221. package/template/.github/skill-library/stack/databases/supabase/SKILL.md +640 -0
  222. package/template/.github/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
  223. package/template/.github/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
  224. package/template/.github/skill-library/stack/databases/weaviate/SKILL.md +218 -0
  225. package/template/.github/skill-library/stack/devops/git-advanced/SKILL.md +972 -0
  226. package/template/.github/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
  227. package/template/.github/skill-library/stack/devops/github-actions/SKILL.md +554 -0
  228. package/template/.github/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
  229. package/template/.github/skill-library/stack/devops/nginx/SKILL.md +841 -0
  230. package/template/.github/skill-library/stack/devops/terraform/SKILL.md +860 -0
  231. package/template/.github/skill-library/stack/email/resend/SKILL.md +391 -0
  232. package/template/.github/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
  233. package/template/.github/skill-library/stack/extensions/plasmo/SKILL.md +195 -0
  234. package/template/.github/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
  235. package/template/.github/skill-library/stack/extensions/wxt/SKILL.md +216 -0
  236. package/template/.github/skill-library/stack/feature-flags/flagsmith/SKILL.md +187 -0
  237. package/template/.github/skill-library/stack/feature-flags/launchdarkly/SKILL.md +183 -0
  238. package/template/.github/skill-library/stack/feature-flags/posthog-flags/SKILL.md +189 -0
  239. package/template/.github/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
  240. package/template/.github/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
  241. package/template/.github/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
  242. package/template/.github/skill-library/stack/frameworks/hono/SKILL.md +90 -0
  243. package/template/.github/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
  244. package/template/.github/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
  245. package/template/.github/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
  246. package/template/.github/skill-library/stack/frameworks/svelte5/SKILL.md +81 -0
  247. package/template/.github/skill-library/stack/frameworks/svelte5/references/events.md +353 -0
  248. package/template/.github/skill-library/stack/frameworks/svelte5/references/migration.md +339 -0
  249. package/template/.github/skill-library/stack/frameworks/svelte5/references/performance.md +443 -0
  250. package/template/.github/skill-library/stack/frameworks/svelte5/references/runes.md +394 -0
  251. package/template/.github/skill-library/stack/frameworks/svelte5/references/snippets.md +291 -0
  252. package/template/.github/skill-library/stack/frameworks/svelte5/references/sveltekit.md +401 -0
  253. package/template/.github/skill-library/stack/frameworks/svelte5/references/typescript.md +305 -0
  254. package/template/.github/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
  255. package/template/.github/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
  256. package/template/.github/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
  257. package/template/.github/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
  258. package/template/.github/skill-library/stack/hosting/aws/SKILL.md +467 -0
  259. package/template/.github/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
  260. package/template/.github/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
  261. package/template/.github/skill-library/stack/hosting/vercel/SKILL.md +484 -0
  262. package/template/.github/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
  263. package/template/.github/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
  264. package/template/.github/skill-library/stack/languages/gdscript/SKILL.md +789 -0
  265. package/template/.github/skill-library/stack/languages/go/SKILL.md +664 -0
  266. package/template/.github/skill-library/stack/languages/java/SKILL.md +778 -0
  267. package/template/.github/skill-library/stack/languages/kotlin/SKILL.md +665 -0
  268. package/template/.github/skill-library/stack/languages/python/SKILL.md +678 -0
  269. package/template/.github/skill-library/stack/languages/rust/SKILL.md +673 -0
  270. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
  271. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
  272. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
  273. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
  274. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
  275. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
  276. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
  277. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
  278. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
  279. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
  280. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
  281. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
  282. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
  283. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
  284. package/template/.github/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
  285. package/template/.github/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
  286. package/template/.github/skill-library/stack/messaging/kafka/SKILL.md +235 -0
  287. package/template/.github/skill-library/stack/messaging/nats/SKILL.md +147 -0
  288. package/template/.github/skill-library/stack/messaging/rabbitmq/SKILL.md +178 -0
  289. package/template/.github/skill-library/stack/messaging/sqs/SKILL.md +187 -0
  290. package/template/.github/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
  291. package/template/.github/skill-library/stack/mobile/flutter/SKILL.md +316 -0
  292. package/template/.github/skill-library/stack/mobile/kotlin-compose/SKILL.md +215 -0
  293. package/template/.github/skill-library/stack/mobile/react-native/SKILL.md +337 -0
  294. package/template/.github/skill-library/stack/mobile/swiftui/SKILL.md +261 -0
  295. package/template/.github/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
  296. package/template/.github/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
  297. package/template/.github/skill-library/stack/notifications/fcm/SKILL.md +229 -0
  298. package/template/.github/skill-library/stack/notifications/sendgrid/SKILL.md +220 -0
  299. package/template/.github/skill-library/stack/notifications/twilio/SKILL.md +204 -0
  300. package/template/.github/skill-library/stack/observability/datadog/SKILL.md +179 -0
  301. package/template/.github/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
  302. package/template/.github/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
  303. package/template/.github/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
  304. package/template/.github/skill-library/stack/observability/python-observability/SKILL.md +158 -0
  305. package/template/.github/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
  306. package/template/.github/skill-library/stack/orm/prisma/SKILL.md +744 -0
  307. package/template/.github/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
  308. package/template/.github/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
  309. package/template/.github/skill-library/stack/queue/bullmq/SKILL.md +385 -0
  310. package/template/.github/skill-library/stack/queue/inngest/SKILL.md +438 -0
  311. package/template/.github/skill-library/stack/realtime/socketio/SKILL.md +595 -0
  312. package/template/.github/skill-library/stack/search/algolia/SKILL.md +206 -0
  313. package/template/.github/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
  314. package/template/.github/skill-library/stack/search/meilisearch/SKILL.md +385 -0
  315. package/template/.github/skill-library/stack/search/typesense/SKILL.md +189 -0
  316. package/template/.github/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
  317. package/template/.github/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
  318. package/template/.github/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
  319. package/template/.github/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
  320. package/template/.github/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
  321. package/template/.github/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
  322. package/template/.github/skill-library/stack/state/zustand/SKILL.md +483 -0
  323. package/template/.github/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
  324. package/template/.github/skill-library/stack/storage/cloudflare-r2/SKILL.md +252 -0
  325. package/template/.github/skill-library/stack/storage/gcs/SKILL.md +229 -0
  326. package/template/.github/skill-library/stack/testing/playwright/SKILL.md +641 -0
  327. package/template/.github/skill-library/stack/testing/storybook/SKILL.md +923 -0
  328. package/template/.github/skill-library/stack/testing/testing-library/SKILL.md +872 -0
  329. package/template/.github/skill-library/stack/testing/vitest/SKILL.md +714 -0
  330. package/template/.github/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
  331. package/template/.github/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
  332. package/template/.github/skill-library/stack/ui/react-flow/SKILL.md +425 -0
  333. package/template/.github/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
  334. package/template/.github/skill-library/stack/ui/svelte-flow/SKILL.md +390 -0
  335. package/template/.github/skill-library/surface/api/api-caching/SKILL.md +458 -0
  336. package/template/.github/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
  337. package/template/.github/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
  338. package/template/.github/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
  339. package/template/.github/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
  340. package/template/.github/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
  341. package/template/.github/skill-library/surface/api/webhook-design/SKILL.md +752 -0
  342. package/template/.github/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
  343. package/template/.github/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
  344. package/template/.github/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
  345. package/template/.github/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
  346. package/template/.github/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
  347. package/template/.github/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
  348. package/template/.github/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
  349. package/template/.github/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
  350. package/template/.github/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
  351. package/template/.github/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
  352. package/template/.github/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
  353. package/template/.github/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
  354. package/template/.github/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
  355. package/template/.github/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
  356. package/template/.github/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
  357. package/template/.github/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
  358. package/template/.github/skill-library/surface/web/ai-seo/SKILL.md +398 -0
  359. package/template/.github/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
  360. package/template/.github/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
  361. package/template/.github/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
  362. package/template/.github/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
  363. package/template/.github/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
  364. package/template/.github/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
  365. package/template/.github/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
  366. package/template/.github/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
  367. package/template/.github/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
  368. package/template/.github/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
  369. package/template/.github/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
  370. package/template/.github/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
  371. package/template/.github/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
  372. package/template/.github/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
  373. package/template/.github/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
  374. package/template/.github/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
  375. package/template/.github/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
  376. package/template/.github/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
  377. package/template/.github/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
  378. package/template/.github/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
  379. package/template/.github/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
  380. package/template/.github/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
  381. package/template/.github/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
  382. package/template/.github/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
  383. package/template/.github/skill-library/surface/web/i18n-localization/SKILL.md +332 -0
  384. package/template/.github/skill-library/surface/web/i18n-localization/references/icu-message-format.md +223 -0
  385. package/template/.github/skill-library/surface/web/i18n-localization/references/intl-api-patterns.md +326 -0
  386. package/template/.github/skill-library/surface/web/i18n-localization/references/rtl-support.md +298 -0
  387. package/template/.github/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
  388. package/template/.github/skill-library/surface/web/page-cro/SKILL.md +182 -0
  389. package/template/.github/skill-library/surface/web/page-cro/references/experiments.md +248 -0
  390. package/template/.github/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
  391. package/template/.github/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
  392. package/template/.github/skill-library/surface/web/schema-markup/SKILL.md +179 -0
  393. package/template/.github/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
  394. package/template/.github/skill-library/surface/web/seo-audit/SKILL.md +394 -0
  395. package/template/.github/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
  396. package/template/.github/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
  397. package/template/.github/skill-library/surface/web/web-scraping/SKILL.md +58 -0
  398. package/template/.github/skills/accessibility/SKILL.md +522 -0
  399. package/template/.github/skills/accessibility/references/WCAG.md +162 -0
  400. package/template/.github/skills/accessibility/references/ia-spec-checklist.md +35 -0
  401. package/template/.github/skills/adversarial-review/SKILL.md +90 -0
  402. package/template/.github/skills/antigravity-workflows/SKILL.md +81 -0
  403. package/template/.github/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
  404. package/template/.github/skills/api-design-principles/SKILL.md +169 -0
  405. package/template/.github/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  406. package/template/.github/skills/api-design-principles/assets/rest-api-template.py +182 -0
  407. package/template/.github/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  408. package/template/.github/skills/api-design-principles/references/rest-best-practices.md +408 -0
  409. package/template/.github/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  410. package/template/.github/skills/api-versioning/SKILL.md +166 -0
  411. package/template/.github/skills/api-versioning/references/typescript.md +157 -0
  412. package/template/.github/skills/architecture-mapping/SKILL.md +219 -0
  413. package/template/.github/skills/audit-ambiguity/SKILL.md +64 -0
  414. package/template/.github/skills/audit-ambiguity-execute/SKILL.md +177 -0
  415. package/template/.github/skills/audit-ambiguity-rubrics/SKILL.md +100 -0
  416. package/template/.github/skills/bootstrap-agents/SKILL.md +72 -0
  417. package/template/.github/skills/bootstrap-agents/library-skill.md +258 -0
  418. package/template/.github/skills/bootstrap-agents-fill/SKILL.md +143 -0
  419. package/template/.github/skills/bootstrap-agents-provision/SKILL.md +165 -0
  420. package/template/.github/skills/brainstorming/SKILL.md +177 -0
  421. package/template/.github/skills/brand-guidelines/SKILL.md +56 -0
  422. package/template/.github/skills/clean-code/SKILL.md +196 -0
  423. package/template/.github/skills/clean-code/references/typescript.md +126 -0
  424. package/template/.github/skills/code-review-pro/SKILL.md +152 -0
  425. package/template/.github/skills/concise-planning/SKILL.md +107 -0
  426. package/template/.github/skills/create-prd/SKILL.md +150 -0
  427. package/template/.github/skills/create-prd-architecture/SKILL.md +162 -0
  428. package/template/.github/skills/create-prd-compile/SKILL.md +175 -0
  429. package/template/.github/skills/create-prd-design-system/SKILL.md +183 -0
  430. package/template/.github/skills/create-prd-security/SKILL.md +155 -0
  431. package/template/.github/skills/create-prd-stack/SKILL.md +155 -0
  432. package/template/.github/skills/cross-layer-consistency/SKILL.md +117 -0
  433. package/template/.github/skills/database-schema-design/SKILL.md +205 -0
  434. package/template/.github/skills/database-schema-design/references/relational.md +228 -0
  435. package/template/.github/skills/decompose-architecture/SKILL.md +102 -0
  436. package/template/.github/skills/decompose-architecture-structure/SKILL.md +109 -0
  437. package/template/.github/skills/decompose-architecture-validate/SKILL.md +103 -0
  438. package/template/.github/skills/deployment-procedures/SKILL.md +241 -0
  439. package/template/.github/skills/design-anti-cliche/SKILL.md +177 -0
  440. package/template/.github/skills/design-direction/SKILL.md +54 -0
  441. package/template/.github/skills/error-handling-patterns/SKILL.md +226 -0
  442. package/template/.github/skills/error-handling-patterns/references/go.md +162 -0
  443. package/template/.github/skills/error-handling-patterns/references/python.md +262 -0
  444. package/template/.github/skills/error-handling-patterns/references/rust.md +112 -0
  445. package/template/.github/skills/error-handling-patterns/references/typescript.md +178 -0
  446. package/template/.github/skills/evolve-contract/SKILL.md +130 -0
  447. package/template/.github/skills/evolve-feature/SKILL.md +56 -0
  448. package/template/.github/skills/evolve-feature-cascade/SKILL.md +98 -0
  449. package/template/.github/skills/evolve-feature-classify/SKILL.md +90 -0
  450. package/template/.github/skills/find-skills/SKILL.md +145 -0
  451. package/template/.github/skills/git-advanced/SKILL.md +972 -0
  452. package/template/.github/skills/git-workflow/SKILL.md +420 -0
  453. package/template/.github/skills/idea-extraction/SKILL.md +644 -0
  454. package/template/.github/skills/ideate/SKILL.md +137 -0
  455. package/template/.github/skills/ideate-discover/SKILL.md +191 -0
  456. package/template/.github/skills/ideate-extract/SKILL.md +112 -0
  457. package/template/.github/skills/ideate-validate/SKILL.md +154 -0
  458. package/template/.github/skills/impeccable/SKILL.md +176 -0
  459. package/template/.github/skills/impeccable/agents/openai.yaml +4 -0
  460. package/template/.github/skills/impeccable/reference/adapt.md +190 -0
  461. package/template/.github/skills/impeccable/reference/animate.md +175 -0
  462. package/template/.github/skills/impeccable/reference/audit.md +133 -0
  463. package/template/.github/skills/impeccable/reference/bolder.md +113 -0
  464. package/template/.github/skills/impeccable/reference/brand.md +114 -0
  465. package/template/.github/skills/impeccable/reference/clarify.md +174 -0
  466. package/template/.github/skills/impeccable/reference/cognitive-load.md +106 -0
  467. package/template/.github/skills/impeccable/reference/color-and-contrast.md +105 -0
  468. package/template/.github/skills/impeccable/reference/colorize.md +154 -0
  469. package/template/.github/skills/impeccable/reference/craft.md +193 -0
  470. package/template/.github/skills/impeccable/reference/critique.md +213 -0
  471. package/template/.github/skills/impeccable/reference/delight.md +302 -0
  472. package/template/.github/skills/impeccable/reference/distill.md +111 -0
  473. package/template/.github/skills/impeccable/reference/document.md +427 -0
  474. package/template/.github/skills/impeccable/reference/extract.md +69 -0
  475. package/template/.github/skills/impeccable/reference/harden.md +347 -0
  476. package/template/.github/skills/impeccable/reference/heuristics-scoring.md +234 -0
  477. package/template/.github/skills/impeccable/reference/interaction-design.md +195 -0
  478. package/template/.github/skills/impeccable/reference/layout.md +141 -0
  479. package/template/.github/skills/impeccable/reference/live.md +622 -0
  480. package/template/.github/skills/impeccable/reference/motion-design.md +109 -0
  481. package/template/.github/skills/impeccable/reference/onboard.md +234 -0
  482. package/template/.github/skills/impeccable/reference/optimize.md +258 -0
  483. package/template/.github/skills/impeccable/reference/overdrive.md +130 -0
  484. package/template/.github/skills/impeccable/reference/personas.md +179 -0
  485. package/template/.github/skills/impeccable/reference/polish.md +233 -0
  486. package/template/.github/skills/impeccable/reference/product.md +62 -0
  487. package/template/.github/skills/impeccable/reference/quieter.md +99 -0
  488. package/template/.github/skills/impeccable/reference/responsive-design.md +114 -0
  489. package/template/.github/skills/impeccable/reference/shape.md +151 -0
  490. package/template/.github/skills/impeccable/reference/spatial-design.md +100 -0
  491. package/template/.github/skills/impeccable/reference/teach.md +156 -0
  492. package/template/.github/skills/impeccable/reference/typeset.md +124 -0
  493. package/template/.github/skills/impeccable/reference/typography.md +159 -0
  494. package/template/.github/skills/impeccable/reference/ux-writing.md +107 -0
  495. package/template/.github/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  496. package/template/.github/skills/impeccable/scripts/command-metadata.json +94 -0
  497. package/template/.github/skills/impeccable/scripts/design-parser.mjs +820 -0
  498. package/template/.github/skills/impeccable/scripts/detect-csp.mjs +198 -0
  499. package/template/.github/skills/impeccable/scripts/impeccable-paths.mjs +105 -0
  500. package/template/.github/skills/impeccable/scripts/is-generated.mjs +69 -0
  501. package/template/.github/skills/impeccable/scripts/live-accept.mjs +595 -0
  502. package/template/.github/skills/impeccable/scripts/live-browser-session.js +123 -0
  503. package/template/.github/skills/impeccable/scripts/live-browser.js +4860 -0
  504. package/template/.github/skills/impeccable/scripts/live-complete.mjs +75 -0
  505. package/template/.github/skills/impeccable/scripts/live-completion.mjs +18 -0
  506. package/template/.github/skills/impeccable/scripts/live-inject.mjs +446 -0
  507. package/template/.github/skills/impeccable/scripts/live-poll.mjs +200 -0
  508. package/template/.github/skills/impeccable/scripts/live-resume.mjs +48 -0
  509. package/template/.github/skills/impeccable/scripts/live-server.mjs +836 -0
  510. package/template/.github/skills/impeccable/scripts/live-session-store.mjs +254 -0
  511. package/template/.github/skills/impeccable/scripts/live-status.mjs +47 -0
  512. package/template/.github/skills/impeccable/scripts/live-wrap.mjs +632 -0
  513. package/template/.github/skills/impeccable/scripts/live.mjs +247 -0
  514. package/template/.github/skills/impeccable/scripts/load-context.mjs +141 -0
  515. package/template/.github/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  516. package/template/.github/skills/impeccable/scripts/pin.mjs +214 -0
  517. package/template/.github/skills/implement-slice/SKILL.md +60 -0
  518. package/template/.github/skills/implement-slice-setup/SKILL.md +135 -0
  519. package/template/.github/skills/implement-slice-tdd/SKILL.md +202 -0
  520. package/template/.github/skills/logging-best-practices/SKILL.md +192 -0
  521. package/template/.github/skills/logging-best-practices/references/go.md +49 -0
  522. package/template/.github/skills/logging-best-practices/references/python.md +52 -0
  523. package/template/.github/skills/logging-best-practices/references/typescript.md +215 -0
  524. package/template/.github/skills/migration-management/SKILL.md +200 -0
  525. package/template/.github/skills/migration-management/references/relational.md +214 -0
  526. package/template/.github/skills/minimalist-surgical-development/SKILL.md +135 -0
  527. package/template/.github/skills/parallel-agents/SKILL.md +165 -0
  528. package/template/.github/skills/parallel-debugging/SKILL.md +135 -0
  529. package/template/.github/skills/parallel-feature-development/SKILL.md +157 -0
  530. package/template/.github/skills/performance-budgeting/SKILL.md +144 -0
  531. package/template/.github/skills/pipeline-rubrics/SKILL.md +51 -0
  532. package/template/.github/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
  533. package/template/.github/skills/pipeline-rubrics/references/be-rubric.md +21 -0
  534. package/template/.github/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
  535. package/template/.github/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
  536. package/template/.github/skills/pipeline-rubrics/references/scoring.md +32 -0
  537. package/template/.github/skills/pipeline-rubrics/references/vision-rubric.md +12 -0
  538. package/template/.github/skills/plan-phase/SKILL.md +54 -0
  539. package/template/.github/skills/plan-phase-preflight/SKILL.md +138 -0
  540. package/template/.github/skills/plan-phase-write/SKILL.md +171 -0
  541. package/template/.github/skills/prd-templates/SKILL.md +107 -0
  542. package/template/.github/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
  543. package/template/.github/skills/prd-templates/references/architecture-design-template.md +88 -0
  544. package/template/.github/skills/prd-templates/references/be-spec-classification.md +41 -0
  545. package/template/.github/skills/prd-templates/references/be-spec-template.md +107 -0
  546. package/template/.github/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
  547. package/template/.github/skills/prd-templates/references/constraint-exploration.md +41 -0
  548. package/template/.github/skills/prd-templates/references/data-placement-template.md +74 -0
  549. package/template/.github/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
  550. package/template/.github/skills/prd-templates/references/decision-propagation.md +121 -0
  551. package/template/.github/skills/prd-templates/references/decomposition-templates.md +226 -0
  552. package/template/.github/skills/prd-templates/references/deep-ideation-loading-protocol.md +114 -0
  553. package/template/.github/skills/prd-templates/references/design-system-decisions.md +198 -0
  554. package/template/.github/skills/prd-templates/references/design-system-prerequisite-check.md +18 -0
  555. package/template/.github/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
  556. package/template/.github/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
  557. package/template/.github/skills/prd-templates/references/engineering-standards-template.md +126 -0
  558. package/template/.github/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
  559. package/template/.github/skills/prd-templates/references/expansion-modes.md +27 -0
  560. package/template/.github/skills/prd-templates/references/fe-classification-procedures.md +47 -0
  561. package/template/.github/skills/prd-templates/references/fe-spec-template.md +90 -0
  562. package/template/.github/skills/prd-templates/references/feature-ledger-protocol.md +149 -0
  563. package/template/.github/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
  564. package/template/.github/skills/prd-templates/references/fractal-cx-template.md +58 -0
  565. package/template/.github/skills/prd-templates/references/fractal-feature-template.md +93 -0
  566. package/template/.github/skills/prd-templates/references/fractal-node-index-template.md +55 -0
  567. package/template/.github/skills/prd-templates/references/gate-applicability.md +92 -0
  568. package/template/.github/skills/prd-templates/references/ideation-crosscut-template.md +36 -0
  569. package/template/.github/skills/prd-templates/references/ideation-index-template.md +111 -0
  570. package/template/.github/skills/prd-templates/references/ideation-meta-template.md +126 -0
  571. package/template/.github/skills/prd-templates/references/infrastructure-report-template.md +71 -0
  572. package/template/.github/skills/prd-templates/references/input-classification.md +23 -0
  573. package/template/.github/skills/prd-templates/references/map-guard-protocol.md +65 -0
  574. package/template/.github/skills/prd-templates/references/operational-templates.md +116 -0
  575. package/template/.github/skills/prd-templates/references/persona-completeness-gate.md +20 -0
  576. package/template/.github/skills/prd-templates/references/placeholder-guard-template.md +21 -0
  577. package/template/.github/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -0
  578. package/template/.github/skills/prd-templates/references/shard-boundary-analysis.md +103 -0
  579. package/template/.github/skills/prd-templates/references/shard-split-remediation.md +157 -0
  580. package/template/.github/skills/prd-templates/references/skill-loading-protocol.md +36 -0
  581. package/template/.github/skills/prd-templates/references/slice-completion-gates.md +37 -0
  582. package/template/.github/skills/prd-templates/references/slice-depth-floor.md +96 -0
  583. package/template/.github/skills/prd-templates/references/spec-coverage-sweep.md +44 -0
  584. package/template/.github/skills/prd-templates/references/surface-model.md +61 -0
  585. package/template/.github/skills/prd-templates/references/tdd-testing-policy.md +39 -0
  586. package/template/.github/skills/prd-templates/references/vision-template.md +57 -0
  587. package/template/.github/skills/prd-templates/references/workflow-checkpoint-protocol.md +112 -0
  588. package/template/.github/skills/prd-templates/references/write-verification-protocol.md +57 -0
  589. package/template/.github/skills/prompt-engineer/SKILL.md +203 -0
  590. package/template/.github/skills/propagate-decision/SKILL.md +56 -0
  591. package/template/.github/skills/propagate-decision-apply/SKILL.md +70 -0
  592. package/template/.github/skills/propagate-decision-scan/SKILL.md +76 -0
  593. package/template/.github/skills/regex-patterns/SKILL.md +333 -0
  594. package/template/.github/skills/regex-patterns/references/go.md +44 -0
  595. package/template/.github/skills/regex-patterns/references/javascript.md +63 -0
  596. package/template/.github/skills/regex-patterns/references/python.md +77 -0
  597. package/template/.github/skills/regex-patterns/references/rust.md +43 -0
  598. package/template/.github/skills/remediate-pipeline/SKILL.md +55 -0
  599. package/template/.github/skills/remediate-pipeline-assess/SKILL.md +139 -0
  600. package/template/.github/skills/remediate-pipeline-execute/SKILL.md +143 -0
  601. package/template/.github/skills/remediate-shard-split/SKILL.md +201 -0
  602. package/template/.github/skills/resolve-ambiguity/SKILL.md +91 -0
  603. package/template/.github/skills/resolve-ambiguity/library-skill.md +278 -0
  604. package/template/.github/skills/security-scanning-security-hardening/SKILL.md +231 -0
  605. package/template/.github/skills/session-continuity/SKILL.md +734 -0
  606. package/template/.github/skills/session-continuity/protocols/01-session-resumption.md +63 -0
  607. package/template/.github/skills/session-continuity/protocols/02-progress-generation.md +85 -0
  608. package/template/.github/skills/session-continuity/protocols/03-progress-update.md +116 -0
  609. package/template/.github/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
  610. package/template/.github/skills/session-continuity/protocols/05-session-close.md +37 -0
  611. package/template/.github/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
  612. package/template/.github/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
  613. package/template/.github/skills/session-continuity/protocols/08-spec-pipeline-update.md +65 -0
  614. package/template/.github/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
  615. package/template/.github/skills/session-continuity/protocols/10-placeholder-verification-gate.md +83 -0
  616. package/template/.github/skills/session-continuity/protocols/11-parallel-synthesis.md +21 -0
  617. package/template/.github/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
  618. package/template/.github/skills/setup-workspace/SKILL.md +88 -0
  619. package/template/.github/skills/setup-workspace-cicd/SKILL.md +137 -0
  620. package/template/.github/skills/setup-workspace-data/SKILL.md +169 -0
  621. package/template/.github/skills/setup-workspace-hosting/SKILL.md +170 -0
  622. package/template/.github/skills/setup-workspace-scaffold/SKILL.md +178 -0
  623. package/template/.github/skills/skill-creator/SKILL.md +203 -0
  624. package/template/.github/skills/skill-creator/references/.gitkeep +0 -0
  625. package/template/.github/skills/skill-creator/scripts/.gitkeep +0 -0
  626. package/template/.github/skills/spec-writing/SKILL.md +110 -0
  627. package/template/.github/skills/sync-kit/SKILL.md +267 -0
  628. package/template/.github/skills/systematic-debugging/CREATION-LOG.md +119 -0
  629. package/template/.github/skills/systematic-debugging/SKILL.md +297 -0
  630. package/template/.github/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  631. package/template/.github/skills/systematic-debugging/condition-based-waiting.md +115 -0
  632. package/template/.github/skills/systematic-debugging/defense-in-depth.md +122 -0
  633. package/template/.github/skills/systematic-debugging/find-polluter.sh +63 -0
  634. package/template/.github/skills/systematic-debugging/root-cause-tracing.md +169 -0
  635. package/template/.github/skills/systematic-debugging/test-academic.md +14 -0
  636. package/template/.github/skills/systematic-debugging/test-pressure-1.md +58 -0
  637. package/template/.github/skills/systematic-debugging/test-pressure-2.md +68 -0
  638. package/template/.github/skills/systematic-debugging/test-pressure-3.md +69 -0
  639. package/template/.github/skills/tdd-workflow/SKILL.md +186 -0
  640. package/template/.github/skills/tdd-workflow/references/typescript.md +231 -0
  641. package/template/.github/skills/tech-stack-catalog/SKILL.md +49 -0
  642. package/template/.github/skills/tech-stack-catalog/references/constraint-questions.md +237 -0
  643. package/template/.github/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
  644. package/template/.github/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
  645. package/template/.github/skills/technical-writer/SKILL.md +242 -0
  646. package/template/.github/skills/testing-strategist/SKILL.md +319 -0
  647. package/template/.github/skills/testing-strategist/references/typescript.md +328 -0
  648. package/template/.github/skills/update-architecture-map/SKILL.md +91 -0
  649. package/template/.github/skills/validate-phase/SKILL.md +61 -0
  650. package/template/.github/skills/validate-phase-quality/SKILL.md +166 -0
  651. package/template/.github/skills/validate-phase-readiness/SKILL.md +181 -0
  652. package/template/.github/skills/verification-before-completion/SKILL.md +97 -0
  653. package/template/.github/skills/verify-infrastructure/SKILL.md +232 -0
  654. package/template/.github/skills/workflow-automation/SKILL.md +166 -0
  655. package/template/.github/skills/workflow-automation/references/inngest.md +88 -0
  656. package/template/.github/skills/workflow-automation/references/temporal.md +64 -0
  657. package/template/.github/skills/write-architecture-spec/SKILL.md +89 -0
  658. package/template/.github/skills/write-architecture-spec-deepen/SKILL.md +185 -0
  659. package/template/.github/skills/write-architecture-spec-design/SKILL.md +203 -0
  660. package/template/.github/skills/write-be-spec/SKILL.md +96 -0
  661. package/template/.github/skills/write-be-spec-classify/SKILL.md +122 -0
  662. package/template/.github/skills/write-be-spec-write/SKILL.md +238 -0
  663. package/template/.github/skills/write-fe-spec/SKILL.md +93 -0
  664. package/template/.github/skills/write-fe-spec-classify/SKILL.md +180 -0
  665. package/template/.github/skills/write-fe-spec-write/SKILL.md +233 -0
  666. package/template/.memory/config.json +1 -1
  667. package/template/.memory/pipeline/kit-sync.md +5 -3
  668. package/template/.pi/PRDS/codex-runtime-support.md +96 -0
  669. package/template/.pi/TASKS/codex-runtime-support.md +11 -0
  670. package/template/.pi/instructions/commands.md +24 -0
  671. package/template/.pi/instructions/example.md +21 -0
  672. package/template/.pi/instructions/patterns.md +61 -0
  673. package/template/.pi/instructions/structure.md +29 -0
  674. package/template/.pi/instructions/tech-stack.md +91 -0
  675. package/template/.pi/instructions/workflow.md +65 -0
  676. package/template/.pi/mcp.json +7 -0
  677. package/template/.pi/rules/boundary-not-placeholder.md +146 -0
  678. package/template/.pi/rules/completion-checklist.md +60 -0
  679. package/template/.pi/rules/debug-by-test.md +49 -0
  680. package/template/.pi/rules/decision-classification.md +113 -0
  681. package/template/.pi/rules/extensibility.md +52 -0
  682. package/template/.pi/rules/memory-capture.md +71 -0
  683. package/template/.pi/rules/question-vs-command.md +91 -0
  684. package/template/.pi/rules/security-first.md +54 -0
  685. package/template/.pi/rules/single-question.md +59 -0
  686. package/template/.pi/rules/skill-mcp-first.md +45 -0
  687. package/template/.pi/rules/source-before-ask.md +93 -0
  688. package/template/.pi/rules/specificity-standards.md +64 -0
  689. package/template/.pi/rules/tdd-contract-first.md +67 -0
  690. package/template/.pi/rules/vertical-slices.md +83 -0
  691. package/template/.pi/settings.json +17 -0
  692. package/template/.pi/skill-library/MANIFEST.md +498 -0
  693. package/template/.pi/skill-library/README.md +38 -0
  694. package/template/.pi/skill-library/meta/claude-code/README.md +9 -0
  695. package/template/.pi/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
  696. package/template/.pi/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
  697. package/template/.pi/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
  698. package/template/.pi/skill-library/meta/mcp-builder/SKILL.md +236 -0
  699. package/template/.pi/skill-library/meta/product-marketing-context/SKILL.md +241 -0
  700. package/template/.pi/skill-library/meta/tmux-processes/SKILL.md +210 -0
  701. package/template/.pi/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
  702. package/template/.pi/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
  703. package/template/.pi/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
  704. package/template/.pi/skill-library/stack/ai/langchain/SKILL.md +530 -0
  705. package/template/.pi/skill-library/stack/ai/ollama/SKILL.md +321 -0
  706. package/template/.pi/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
  707. package/template/.pi/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
  708. package/template/.pi/skill-library/stack/api/graphql/SKILL.md +1061 -0
  709. package/template/.pi/skill-library/stack/api/trpc/SKILL.md +576 -0
  710. package/template/.pi/skill-library/stack/auth/authjs/SKILL.md +569 -0
  711. package/template/.pi/skill-library/stack/auth/clerk/SKILL.md +590 -0
  712. package/template/.pi/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
  713. package/template/.pi/skill-library/stack/auth/lucia/SKILL.md +230 -0
  714. package/template/.pi/skill-library/stack/auth/supabase-auth/SKILL.md +293 -0
  715. package/template/.pi/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
  716. package/template/.pi/skill-library/stack/cms/shopify/SKILL.md +1193 -0
  717. package/template/.pi/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
  718. package/template/.pi/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
  719. package/template/.pi/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
  720. package/template/.pi/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
  721. package/template/.pi/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
  722. package/template/.pi/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
  723. package/template/.pi/skill-library/stack/databases/influxdb/SKILL.md +280 -0
  724. package/template/.pi/skill-library/stack/databases/lancedb/SKILL.md +415 -0
  725. package/template/.pi/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
  726. package/template/.pi/skill-library/stack/databases/neo4j/SKILL.md +839 -0
  727. package/template/.pi/skill-library/stack/databases/pgvector/SKILL.md +241 -0
  728. package/template/.pi/skill-library/stack/databases/pinecone/SKILL.md +212 -0
  729. package/template/.pi/skill-library/stack/databases/postgresql/SKILL.md +658 -0
  730. package/template/.pi/skill-library/stack/databases/qdrant/SKILL.md +312 -0
  731. package/template/.pi/skill-library/stack/databases/redis/SKILL.md +1079 -0
  732. package/template/.pi/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
  733. package/template/.pi/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
  734. package/template/.pi/skill-library/stack/databases/supabase/SKILL.md +640 -0
  735. package/template/.pi/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
  736. package/template/.pi/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
  737. package/template/.pi/skill-library/stack/databases/weaviate/SKILL.md +218 -0
  738. package/template/.pi/skill-library/stack/devops/git-advanced/SKILL.md +972 -0
  739. package/template/.pi/skill-library/stack/devops/git-workflow/SKILL.md +420 -0
  740. package/template/.pi/skill-library/stack/devops/github-actions/SKILL.md +554 -0
  741. package/template/.pi/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
  742. package/template/.pi/skill-library/stack/devops/nginx/SKILL.md +841 -0
  743. package/template/.pi/skill-library/stack/devops/terraform/SKILL.md +860 -0
  744. package/template/.pi/skill-library/stack/email/resend/SKILL.md +391 -0
  745. package/template/.pi/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
  746. package/template/.pi/skill-library/stack/extensions/plasmo/SKILL.md +195 -0
  747. package/template/.pi/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
  748. package/template/.pi/skill-library/stack/extensions/wxt/SKILL.md +216 -0
  749. package/template/.pi/skill-library/stack/feature-flags/flagsmith/SKILL.md +187 -0
  750. package/template/.pi/skill-library/stack/feature-flags/launchdarkly/SKILL.md +183 -0
  751. package/template/.pi/skill-library/stack/feature-flags/posthog-flags/SKILL.md +189 -0
  752. package/template/.pi/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
  753. package/template/.pi/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
  754. package/template/.pi/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
  755. package/template/.pi/skill-library/stack/frameworks/hono/SKILL.md +90 -0
  756. package/template/.pi/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
  757. package/template/.pi/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
  758. package/template/.pi/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
  759. package/template/.pi/skill-library/stack/frameworks/svelte5/SKILL.md +81 -0
  760. package/template/.pi/skill-library/stack/frameworks/svelte5/references/events.md +353 -0
  761. package/template/.pi/skill-library/stack/frameworks/svelte5/references/migration.md +339 -0
  762. package/template/.pi/skill-library/stack/frameworks/svelte5/references/performance.md +443 -0
  763. package/template/.pi/skill-library/stack/frameworks/svelte5/references/runes.md +394 -0
  764. package/template/.pi/skill-library/stack/frameworks/svelte5/references/snippets.md +291 -0
  765. package/template/.pi/skill-library/stack/frameworks/svelte5/references/sveltekit.md +401 -0
  766. package/template/.pi/skill-library/stack/frameworks/svelte5/references/typescript.md +305 -0
  767. package/template/.pi/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
  768. package/template/.pi/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
  769. package/template/.pi/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
  770. package/template/.pi/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
  771. package/template/.pi/skill-library/stack/hosting/aws/SKILL.md +467 -0
  772. package/template/.pi/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
  773. package/template/.pi/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
  774. package/template/.pi/skill-library/stack/hosting/vercel/SKILL.md +484 -0
  775. package/template/.pi/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
  776. package/template/.pi/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
  777. package/template/.pi/skill-library/stack/languages/gdscript/SKILL.md +789 -0
  778. package/template/.pi/skill-library/stack/languages/go/SKILL.md +664 -0
  779. package/template/.pi/skill-library/stack/languages/java/SKILL.md +778 -0
  780. package/template/.pi/skill-library/stack/languages/kotlin/SKILL.md +665 -0
  781. package/template/.pi/skill-library/stack/languages/python/SKILL.md +678 -0
  782. package/template/.pi/skill-library/stack/languages/rust/SKILL.md +673 -0
  783. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
  784. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
  785. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
  786. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
  787. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
  788. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
  789. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
  790. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
  791. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
  792. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
  793. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
  794. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
  795. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
  796. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
  797. package/template/.pi/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
  798. package/template/.pi/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
  799. package/template/.pi/skill-library/stack/messaging/kafka/SKILL.md +235 -0
  800. package/template/.pi/skill-library/stack/messaging/nats/SKILL.md +147 -0
  801. package/template/.pi/skill-library/stack/messaging/rabbitmq/SKILL.md +178 -0
  802. package/template/.pi/skill-library/stack/messaging/sqs/SKILL.md +187 -0
  803. package/template/.pi/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
  804. package/template/.pi/skill-library/stack/mobile/flutter/SKILL.md +316 -0
  805. package/template/.pi/skill-library/stack/mobile/kotlin-compose/SKILL.md +215 -0
  806. package/template/.pi/skill-library/stack/mobile/react-native/SKILL.md +337 -0
  807. package/template/.pi/skill-library/stack/mobile/swiftui/SKILL.md +261 -0
  808. package/template/.pi/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
  809. package/template/.pi/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
  810. package/template/.pi/skill-library/stack/notifications/fcm/SKILL.md +229 -0
  811. package/template/.pi/skill-library/stack/notifications/sendgrid/SKILL.md +220 -0
  812. package/template/.pi/skill-library/stack/notifications/twilio/SKILL.md +204 -0
  813. package/template/.pi/skill-library/stack/observability/datadog/SKILL.md +179 -0
  814. package/template/.pi/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
  815. package/template/.pi/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
  816. package/template/.pi/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
  817. package/template/.pi/skill-library/stack/observability/python-observability/SKILL.md +158 -0
  818. package/template/.pi/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
  819. package/template/.pi/skill-library/stack/orm/prisma/SKILL.md +744 -0
  820. package/template/.pi/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
  821. package/template/.pi/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
  822. package/template/.pi/skill-library/stack/queue/bullmq/SKILL.md +385 -0
  823. package/template/.pi/skill-library/stack/queue/inngest/SKILL.md +438 -0
  824. package/template/.pi/skill-library/stack/realtime/socketio/SKILL.md +595 -0
  825. package/template/.pi/skill-library/stack/search/algolia/SKILL.md +206 -0
  826. package/template/.pi/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
  827. package/template/.pi/skill-library/stack/search/meilisearch/SKILL.md +385 -0
  828. package/template/.pi/skill-library/stack/search/typesense/SKILL.md +189 -0
  829. package/template/.pi/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
  830. package/template/.pi/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
  831. package/template/.pi/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
  832. package/template/.pi/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
  833. package/template/.pi/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
  834. package/template/.pi/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
  835. package/template/.pi/skill-library/stack/state/zustand/SKILL.md +483 -0
  836. package/template/.pi/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
  837. package/template/.pi/skill-library/stack/storage/cloudflare-r2/SKILL.md +252 -0
  838. package/template/.pi/skill-library/stack/storage/gcs/SKILL.md +229 -0
  839. package/template/.pi/skill-library/stack/testing/playwright/SKILL.md +641 -0
  840. package/template/.pi/skill-library/stack/testing/storybook/SKILL.md +923 -0
  841. package/template/.pi/skill-library/stack/testing/testing-library/SKILL.md +872 -0
  842. package/template/.pi/skill-library/stack/testing/vitest/SKILL.md +714 -0
  843. package/template/.pi/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
  844. package/template/.pi/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
  845. package/template/.pi/skill-library/stack/ui/react-flow/SKILL.md +425 -0
  846. package/template/.pi/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
  847. package/template/.pi/skill-library/stack/ui/svelte-flow/SKILL.md +390 -0
  848. package/template/.pi/skill-library/surface/api/api-caching/SKILL.md +458 -0
  849. package/template/.pi/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
  850. package/template/.pi/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
  851. package/template/.pi/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
  852. package/template/.pi/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
  853. package/template/.pi/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
  854. package/template/.pi/skill-library/surface/api/webhook-design/SKILL.md +752 -0
  855. package/template/.pi/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
  856. package/template/.pi/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
  857. package/template/.pi/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
  858. package/template/.pi/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
  859. package/template/.pi/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
  860. package/template/.pi/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
  861. package/template/.pi/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
  862. package/template/.pi/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
  863. package/template/.pi/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
  864. package/template/.pi/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
  865. package/template/.pi/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
  866. package/template/.pi/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
  867. package/template/.pi/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
  868. package/template/.pi/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
  869. package/template/.pi/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
  870. package/template/.pi/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
  871. package/template/.pi/skill-library/surface/web/ai-seo/SKILL.md +398 -0
  872. package/template/.pi/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
  873. package/template/.pi/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
  874. package/template/.pi/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
  875. package/template/.pi/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
  876. package/template/.pi/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
  877. package/template/.pi/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
  878. package/template/.pi/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
  879. package/template/.pi/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
  880. package/template/.pi/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
  881. package/template/.pi/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
  882. package/template/.pi/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
  883. package/template/.pi/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
  884. package/template/.pi/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
  885. package/template/.pi/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
  886. package/template/.pi/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
  887. package/template/.pi/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
  888. package/template/.pi/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
  889. package/template/.pi/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
  890. package/template/.pi/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
  891. package/template/.pi/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
  892. package/template/.pi/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
  893. package/template/.pi/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
  894. package/template/.pi/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
  895. package/template/.pi/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
  896. package/template/.pi/skill-library/surface/web/i18n-localization/SKILL.md +332 -0
  897. package/template/.pi/skill-library/surface/web/i18n-localization/references/icu-message-format.md +223 -0
  898. package/template/.pi/skill-library/surface/web/i18n-localization/references/intl-api-patterns.md +326 -0
  899. package/template/.pi/skill-library/surface/web/i18n-localization/references/rtl-support.md +298 -0
  900. package/template/.pi/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
  901. package/template/.pi/skill-library/surface/web/page-cro/SKILL.md +182 -0
  902. package/template/.pi/skill-library/surface/web/page-cro/references/experiments.md +248 -0
  903. package/template/.pi/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
  904. package/template/.pi/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
  905. package/template/.pi/skill-library/surface/web/schema-markup/SKILL.md +179 -0
  906. package/template/.pi/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
  907. package/template/.pi/skill-library/surface/web/seo-audit/SKILL.md +394 -0
  908. package/template/.pi/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
  909. package/template/.pi/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
  910. package/template/.pi/skill-library/surface/web/web-scraping/SKILL.md +58 -0
  911. package/template/.pi/skills/accessibility/SKILL.md +522 -0
  912. package/template/.pi/skills/accessibility/references/WCAG.md +162 -0
  913. package/template/.pi/skills/accessibility/references/ia-spec-checklist.md +35 -0
  914. package/template/.pi/skills/adversarial-review/SKILL.md +90 -0
  915. package/template/.pi/skills/antigravity-workflows/SKILL.md +81 -0
  916. package/template/.pi/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
  917. package/template/.pi/skills/api-design-principles/SKILL.md +169 -0
  918. package/template/.pi/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  919. package/template/.pi/skills/api-design-principles/assets/rest-api-template.py +182 -0
  920. package/template/.pi/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  921. package/template/.pi/skills/api-design-principles/references/rest-best-practices.md +408 -0
  922. package/template/.pi/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  923. package/template/.pi/skills/api-versioning/SKILL.md +166 -0
  924. package/template/.pi/skills/api-versioning/references/typescript.md +157 -0
  925. package/template/.pi/skills/architecture-mapping/SKILL.md +219 -0
  926. package/template/.pi/skills/audit-ambiguity/SKILL.md +64 -0
  927. package/template/.pi/skills/audit-ambiguity-execute/SKILL.md +177 -0
  928. package/template/.pi/skills/audit-ambiguity-rubrics/SKILL.md +100 -0
  929. package/template/.pi/skills/bootstrap-agents/SKILL.md +72 -0
  930. package/template/.pi/skills/bootstrap-agents/library-skill.md +258 -0
  931. package/template/.pi/skills/bootstrap-agents-fill/SKILL.md +143 -0
  932. package/template/.pi/skills/bootstrap-agents-provision/SKILL.md +165 -0
  933. package/template/.pi/skills/brainstorming/SKILL.md +177 -0
  934. package/template/.pi/skills/brand-guidelines/SKILL.md +56 -0
  935. package/template/.pi/skills/clean-code/SKILL.md +196 -0
  936. package/template/.pi/skills/clean-code/references/typescript.md +126 -0
  937. package/template/.pi/skills/code-review-pro/SKILL.md +152 -0
  938. package/template/.pi/skills/concise-planning/SKILL.md +107 -0
  939. package/template/.pi/skills/create-prd/SKILL.md +150 -0
  940. package/template/.pi/skills/create-prd-architecture/SKILL.md +162 -0
  941. package/template/.pi/skills/create-prd-compile/SKILL.md +175 -0
  942. package/template/.pi/skills/create-prd-design-system/SKILL.md +183 -0
  943. package/template/.pi/skills/create-prd-security/SKILL.md +155 -0
  944. package/template/.pi/skills/create-prd-stack/SKILL.md +155 -0
  945. package/template/.pi/skills/cross-layer-consistency/SKILL.md +117 -0
  946. package/template/.pi/skills/database-schema-design/SKILL.md +205 -0
  947. package/template/.pi/skills/database-schema-design/references/relational.md +228 -0
  948. package/template/.pi/skills/decompose-architecture/SKILL.md +102 -0
  949. package/template/.pi/skills/decompose-architecture-structure/SKILL.md +109 -0
  950. package/template/.pi/skills/decompose-architecture-validate/SKILL.md +103 -0
  951. package/template/.pi/skills/deployment-procedures/SKILL.md +241 -0
  952. package/template/.pi/skills/design-anti-cliche/SKILL.md +177 -0
  953. package/template/.pi/skills/design-direction/SKILL.md +54 -0
  954. package/template/.pi/skills/error-handling-patterns/SKILL.md +226 -0
  955. package/template/.pi/skills/error-handling-patterns/references/go.md +162 -0
  956. package/template/.pi/skills/error-handling-patterns/references/python.md +262 -0
  957. package/template/.pi/skills/error-handling-patterns/references/rust.md +112 -0
  958. package/template/.pi/skills/error-handling-patterns/references/typescript.md +178 -0
  959. package/template/.pi/skills/evolve-contract/SKILL.md +130 -0
  960. package/template/.pi/skills/evolve-feature/SKILL.md +56 -0
  961. package/template/.pi/skills/evolve-feature-cascade/SKILL.md +98 -0
  962. package/template/.pi/skills/evolve-feature-classify/SKILL.md +90 -0
  963. package/template/.pi/skills/find-skills/SKILL.md +145 -0
  964. package/template/.pi/skills/git-advanced/SKILL.md +972 -0
  965. package/template/.pi/skills/git-workflow/SKILL.md +420 -0
  966. package/template/.pi/skills/idea-extraction/SKILL.md +644 -0
  967. package/template/.pi/skills/ideate/SKILL.md +137 -0
  968. package/template/.pi/skills/ideate-discover/SKILL.md +191 -0
  969. package/template/.pi/skills/ideate-extract/SKILL.md +112 -0
  970. package/template/.pi/skills/ideate-validate/SKILL.md +154 -0
  971. package/template/.pi/skills/impeccable/SKILL.md +180 -0
  972. package/template/.pi/skills/impeccable/reference/adapt.md +190 -0
  973. package/template/.pi/skills/impeccable/reference/animate.md +175 -0
  974. package/template/.pi/skills/impeccable/reference/audit.md +133 -0
  975. package/template/.pi/skills/impeccable/reference/bolder.md +113 -0
  976. package/template/.pi/skills/impeccable/reference/brand.md +114 -0
  977. package/template/.pi/skills/impeccable/reference/clarify.md +174 -0
  978. package/template/.pi/skills/impeccable/reference/cognitive-load.md +106 -0
  979. package/template/.pi/skills/impeccable/reference/color-and-contrast.md +105 -0
  980. package/template/.pi/skills/impeccable/reference/colorize.md +154 -0
  981. package/template/.pi/skills/impeccable/reference/craft.md +193 -0
  982. package/template/.pi/skills/impeccable/reference/critique.md +213 -0
  983. package/template/.pi/skills/impeccable/reference/delight.md +302 -0
  984. package/template/.pi/skills/impeccable/reference/distill.md +111 -0
  985. package/template/.pi/skills/impeccable/reference/document.md +427 -0
  986. package/template/.pi/skills/impeccable/reference/extract.md +69 -0
  987. package/template/.pi/skills/impeccable/reference/harden.md +347 -0
  988. package/template/.pi/skills/impeccable/reference/heuristics-scoring.md +234 -0
  989. package/template/.pi/skills/impeccable/reference/interaction-design.md +195 -0
  990. package/template/.pi/skills/impeccable/reference/layout.md +141 -0
  991. package/template/.pi/skills/impeccable/reference/live.md +622 -0
  992. package/template/.pi/skills/impeccable/reference/motion-design.md +109 -0
  993. package/template/.pi/skills/impeccable/reference/onboard.md +234 -0
  994. package/template/.pi/skills/impeccable/reference/optimize.md +258 -0
  995. package/template/.pi/skills/impeccable/reference/overdrive.md +130 -0
  996. package/template/.pi/skills/impeccable/reference/personas.md +179 -0
  997. package/template/.pi/skills/impeccable/reference/polish.md +233 -0
  998. package/template/.pi/skills/impeccable/reference/product.md +62 -0
  999. package/template/.pi/skills/impeccable/reference/quieter.md +99 -0
  1000. package/template/.pi/skills/impeccable/reference/responsive-design.md +114 -0
  1001. package/template/.pi/skills/impeccable/reference/shape.md +151 -0
  1002. package/template/.pi/skills/impeccable/reference/spatial-design.md +100 -0
  1003. package/template/.pi/skills/impeccable/reference/teach.md +156 -0
  1004. package/template/.pi/skills/impeccable/reference/typeset.md +124 -0
  1005. package/template/.pi/skills/impeccable/reference/typography.md +159 -0
  1006. package/template/.pi/skills/impeccable/reference/ux-writing.md +107 -0
  1007. package/template/.pi/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  1008. package/template/.pi/skills/impeccable/scripts/command-metadata.json +94 -0
  1009. package/template/.pi/skills/impeccable/scripts/design-parser.mjs +820 -0
  1010. package/template/.pi/skills/impeccable/scripts/detect-csp.mjs +198 -0
  1011. package/template/.pi/skills/impeccable/scripts/impeccable-paths.mjs +105 -0
  1012. package/template/.pi/skills/impeccable/scripts/is-generated.mjs +69 -0
  1013. package/template/.pi/skills/impeccable/scripts/live-accept.mjs +595 -0
  1014. package/template/.pi/skills/impeccable/scripts/live-browser-session.js +123 -0
  1015. package/template/.pi/skills/impeccable/scripts/live-browser.js +4860 -0
  1016. package/template/.pi/skills/impeccable/scripts/live-complete.mjs +75 -0
  1017. package/template/.pi/skills/impeccable/scripts/live-completion.mjs +18 -0
  1018. package/template/.pi/skills/impeccable/scripts/live-inject.mjs +446 -0
  1019. package/template/.pi/skills/impeccable/scripts/live-poll.mjs +200 -0
  1020. package/template/.pi/skills/impeccable/scripts/live-resume.mjs +48 -0
  1021. package/template/.pi/skills/impeccable/scripts/live-server.mjs +836 -0
  1022. package/template/.pi/skills/impeccable/scripts/live-session-store.mjs +254 -0
  1023. package/template/.pi/skills/impeccable/scripts/live-status.mjs +47 -0
  1024. package/template/.pi/skills/impeccable/scripts/live-wrap.mjs +632 -0
  1025. package/template/.pi/skills/impeccable/scripts/live.mjs +247 -0
  1026. package/template/.pi/skills/impeccable/scripts/load-context.mjs +141 -0
  1027. package/template/.pi/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  1028. package/template/.pi/skills/impeccable/scripts/pin.mjs +214 -0
  1029. package/template/.pi/skills/implement-slice/SKILL.md +60 -0
  1030. package/template/.pi/skills/implement-slice-setup/SKILL.md +135 -0
  1031. package/template/.pi/skills/implement-slice-tdd/SKILL.md +202 -0
  1032. package/template/.pi/skills/logging-best-practices/SKILL.md +192 -0
  1033. package/template/.pi/skills/logging-best-practices/references/go.md +49 -0
  1034. package/template/.pi/skills/logging-best-practices/references/python.md +52 -0
  1035. package/template/.pi/skills/logging-best-practices/references/typescript.md +215 -0
  1036. package/template/.pi/skills/migration-management/SKILL.md +200 -0
  1037. package/template/.pi/skills/migration-management/references/relational.md +214 -0
  1038. package/template/.pi/skills/minimalist-surgical-development/SKILL.md +135 -0
  1039. package/template/.pi/skills/parallel-agents/SKILL.md +165 -0
  1040. package/template/.pi/skills/parallel-debugging/SKILL.md +135 -0
  1041. package/template/.pi/skills/parallel-feature-development/SKILL.md +157 -0
  1042. package/template/.pi/skills/performance-budgeting/SKILL.md +144 -0
  1043. package/template/.pi/skills/pipeline-rubrics/SKILL.md +51 -0
  1044. package/template/.pi/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
  1045. package/template/.pi/skills/pipeline-rubrics/references/be-rubric.md +21 -0
  1046. package/template/.pi/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
  1047. package/template/.pi/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
  1048. package/template/.pi/skills/pipeline-rubrics/references/scoring.md +32 -0
  1049. package/template/.pi/skills/pipeline-rubrics/references/vision-rubric.md +12 -0
  1050. package/template/.pi/skills/plan-phase/SKILL.md +54 -0
  1051. package/template/.pi/skills/plan-phase-preflight/SKILL.md +138 -0
  1052. package/template/.pi/skills/plan-phase-write/SKILL.md +171 -0
  1053. package/template/.pi/skills/prd-templates/SKILL.md +107 -0
  1054. package/template/.pi/skills/prd-templates/references/architecture-completeness-checklist.md +28 -0
  1055. package/template/.pi/skills/prd-templates/references/architecture-design-template.md +88 -0
  1056. package/template/.pi/skills/prd-templates/references/be-spec-classification.md +41 -0
  1057. package/template/.pi/skills/prd-templates/references/be-spec-template.md +107 -0
  1058. package/template/.pi/skills/prd-templates/references/bootstrap-verification-protocol.md +50 -0
  1059. package/template/.pi/skills/prd-templates/references/constraint-exploration.md +41 -0
  1060. package/template/.pi/skills/prd-templates/references/data-placement-template.md +74 -0
  1061. package/template/.pi/skills/prd-templates/references/decision-confirmation-protocol.md +68 -0
  1062. package/template/.pi/skills/prd-templates/references/decision-propagation.md +121 -0
  1063. package/template/.pi/skills/prd-templates/references/decomposition-templates.md +226 -0
  1064. package/template/.pi/skills/prd-templates/references/deep-ideation-loading-protocol.md +114 -0
  1065. package/template/.pi/skills/prd-templates/references/design-system-decisions.md +198 -0
  1066. package/template/.pi/skills/prd-templates/references/design-system-prerequisite-check.md +18 -0
  1067. package/template/.pi/skills/prd-templates/references/domain-exhaustion-criteria.md +37 -0
  1068. package/template/.pi/skills/prd-templates/references/engagement-tier-protocol.md +58 -0
  1069. package/template/.pi/skills/prd-templates/references/engineering-standards-template.md +126 -0
  1070. package/template/.pi/skills/prd-templates/references/evolution-layer-guidance.md +91 -0
  1071. package/template/.pi/skills/prd-templates/references/expansion-modes.md +27 -0
  1072. package/template/.pi/skills/prd-templates/references/fe-classification-procedures.md +47 -0
  1073. package/template/.pi/skills/prd-templates/references/fe-spec-template.md +90 -0
  1074. package/template/.pi/skills/prd-templates/references/feature-ledger-protocol.md +149 -0
  1075. package/template/.pi/skills/prd-templates/references/folder-seeding-protocol.md +77 -0
  1076. package/template/.pi/skills/prd-templates/references/fractal-cx-template.md +58 -0
  1077. package/template/.pi/skills/prd-templates/references/fractal-feature-template.md +93 -0
  1078. package/template/.pi/skills/prd-templates/references/fractal-node-index-template.md +55 -0
  1079. package/template/.pi/skills/prd-templates/references/gate-applicability.md +92 -0
  1080. package/template/.pi/skills/prd-templates/references/ideation-crosscut-template.md +36 -0
  1081. package/template/.pi/skills/prd-templates/references/ideation-index-template.md +111 -0
  1082. package/template/.pi/skills/prd-templates/references/ideation-meta-template.md +126 -0
  1083. package/template/.pi/skills/prd-templates/references/infrastructure-report-template.md +71 -0
  1084. package/template/.pi/skills/prd-templates/references/input-classification.md +23 -0
  1085. package/template/.pi/skills/prd-templates/references/map-guard-protocol.md +65 -0
  1086. package/template/.pi/skills/prd-templates/references/operational-templates.md +116 -0
  1087. package/template/.pi/skills/prd-templates/references/persona-completeness-gate.md +20 -0
  1088. package/template/.pi/skills/prd-templates/references/placeholder-guard-template.md +21 -0
  1089. package/template/.pi/skills/prd-templates/references/placeholder-workflow-mapping.md +50 -0
  1090. package/template/.pi/skills/prd-templates/references/shard-boundary-analysis.md +103 -0
  1091. package/template/.pi/skills/prd-templates/references/shard-split-remediation.md +157 -0
  1092. package/template/.pi/skills/prd-templates/references/skill-loading-protocol.md +36 -0
  1093. package/template/.pi/skills/prd-templates/references/slice-completion-gates.md +37 -0
  1094. package/template/.pi/skills/prd-templates/references/slice-depth-floor.md +96 -0
  1095. package/template/.pi/skills/prd-templates/references/spec-coverage-sweep.md +44 -0
  1096. package/template/.pi/skills/prd-templates/references/surface-model.md +61 -0
  1097. package/template/.pi/skills/prd-templates/references/tdd-testing-policy.md +39 -0
  1098. package/template/.pi/skills/prd-templates/references/vision-template.md +57 -0
  1099. package/template/.pi/skills/prd-templates/references/workflow-checkpoint-protocol.md +112 -0
  1100. package/template/.pi/skills/prd-templates/references/write-verification-protocol.md +57 -0
  1101. package/template/.pi/skills/prompt-engineer/SKILL.md +203 -0
  1102. package/template/.pi/skills/propagate-decision/SKILL.md +56 -0
  1103. package/template/.pi/skills/propagate-decision-apply/SKILL.md +70 -0
  1104. package/template/.pi/skills/propagate-decision-scan/SKILL.md +76 -0
  1105. package/template/.pi/skills/regex-patterns/SKILL.md +333 -0
  1106. package/template/.pi/skills/regex-patterns/references/go.md +44 -0
  1107. package/template/.pi/skills/regex-patterns/references/javascript.md +63 -0
  1108. package/template/.pi/skills/regex-patterns/references/python.md +77 -0
  1109. package/template/.pi/skills/regex-patterns/references/rust.md +43 -0
  1110. package/template/.pi/skills/remediate-pipeline/SKILL.md +55 -0
  1111. package/template/.pi/skills/remediate-pipeline-assess/SKILL.md +139 -0
  1112. package/template/.pi/skills/remediate-pipeline-execute/SKILL.md +143 -0
  1113. package/template/.pi/skills/remediate-shard-split/SKILL.md +201 -0
  1114. package/template/.pi/skills/resolve-ambiguity/SKILL.md +91 -0
  1115. package/template/.pi/skills/resolve-ambiguity/library-skill.md +278 -0
  1116. package/template/.pi/skills/security-scanning-security-hardening/SKILL.md +231 -0
  1117. package/template/.pi/skills/session-continuity/SKILL.md +734 -0
  1118. package/template/.pi/skills/session-continuity/protocols/01-session-resumption.md +63 -0
  1119. package/template/.pi/skills/session-continuity/protocols/02-progress-generation.md +85 -0
  1120. package/template/.pi/skills/session-continuity/protocols/03-progress-update.md +116 -0
  1121. package/template/.pi/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
  1122. package/template/.pi/skills/session-continuity/protocols/05-session-close.md +37 -0
  1123. package/template/.pi/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
  1124. package/template/.pi/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
  1125. package/template/.pi/skills/session-continuity/protocols/08-spec-pipeline-update.md +65 -0
  1126. package/template/.pi/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
  1127. package/template/.pi/skills/session-continuity/protocols/10-placeholder-verification-gate.md +83 -0
  1128. package/template/.pi/skills/session-continuity/protocols/11-parallel-synthesis.md +21 -0
  1129. package/template/.pi/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
  1130. package/template/.pi/skills/setup-workspace/SKILL.md +88 -0
  1131. package/template/.pi/skills/setup-workspace-cicd/SKILL.md +137 -0
  1132. package/template/.pi/skills/setup-workspace-data/SKILL.md +169 -0
  1133. package/template/.pi/skills/setup-workspace-hosting/SKILL.md +170 -0
  1134. package/template/.pi/skills/setup-workspace-scaffold/SKILL.md +178 -0
  1135. package/template/.pi/skills/skill-creator/SKILL.md +203 -0
  1136. package/template/.pi/skills/skill-creator/references/.gitkeep +0 -0
  1137. package/template/.pi/skills/skill-creator/scripts/.gitkeep +0 -0
  1138. package/template/.pi/skills/spec-writing/SKILL.md +110 -0
  1139. package/template/.pi/skills/sync-kit/SKILL.md +267 -0
  1140. package/template/.pi/skills/systematic-debugging/CREATION-LOG.md +119 -0
  1141. package/template/.pi/skills/systematic-debugging/SKILL.md +297 -0
  1142. package/template/.pi/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  1143. package/template/.pi/skills/systematic-debugging/condition-based-waiting.md +115 -0
  1144. package/template/.pi/skills/systematic-debugging/defense-in-depth.md +122 -0
  1145. package/template/.pi/skills/systematic-debugging/find-polluter.sh +63 -0
  1146. package/template/.pi/skills/systematic-debugging/root-cause-tracing.md +169 -0
  1147. package/template/.pi/skills/systematic-debugging/test-academic.md +14 -0
  1148. package/template/.pi/skills/systematic-debugging/test-pressure-1.md +58 -0
  1149. package/template/.pi/skills/systematic-debugging/test-pressure-2.md +68 -0
  1150. package/template/.pi/skills/systematic-debugging/test-pressure-3.md +69 -0
  1151. package/template/.pi/skills/tdd-workflow/SKILL.md +186 -0
  1152. package/template/.pi/skills/tdd-workflow/references/typescript.md +231 -0
  1153. package/template/.pi/skills/tech-stack-catalog/SKILL.md +49 -0
  1154. package/template/.pi/skills/tech-stack-catalog/references/constraint-questions.md +237 -0
  1155. package/template/.pi/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
  1156. package/template/.pi/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
  1157. package/template/.pi/skills/technical-writer/SKILL.md +242 -0
  1158. package/template/.pi/skills/testing-strategist/SKILL.md +319 -0
  1159. package/template/.pi/skills/testing-strategist/references/typescript.md +328 -0
  1160. package/template/.pi/skills/update-architecture-map/SKILL.md +91 -0
  1161. package/template/.pi/skills/validate-phase/SKILL.md +61 -0
  1162. package/template/.pi/skills/validate-phase-quality/SKILL.md +166 -0
  1163. package/template/.pi/skills/validate-phase-readiness/SKILL.md +181 -0
  1164. package/template/.pi/skills/verification-before-completion/SKILL.md +97 -0
  1165. package/template/.pi/skills/verify-infrastructure/SKILL.md +232 -0
  1166. package/template/.pi/skills/workflow-automation/SKILL.md +166 -0
  1167. package/template/.pi/skills/workflow-automation/references/inngest.md +88 -0
  1168. package/template/.pi/skills/workflow-automation/references/temporal.md +64 -0
  1169. package/template/.pi/skills/write-architecture-spec/SKILL.md +89 -0
  1170. package/template/.pi/skills/write-architecture-spec-deepen/SKILL.md +185 -0
  1171. package/template/.pi/skills/write-architecture-spec-design/SKILL.md +203 -0
  1172. package/template/.pi/skills/write-be-spec/SKILL.md +96 -0
  1173. package/template/.pi/skills/write-be-spec-classify/SKILL.md +122 -0
  1174. package/template/.pi/skills/write-be-spec-write/SKILL.md +238 -0
  1175. package/template/.pi/skills/write-fe-spec/SKILL.md +93 -0
  1176. package/template/.pi/skills/write-fe-spec-classify/SKILL.md +180 -0
  1177. package/template/.pi/skills/write-fe-spec-write/SKILL.md +233 -0
  1178. package/template/AGENTS.md +88 -0
  1179. package/template/CLAUDE.md +85 -0
  1180. package/template/CODEX.md +79 -0
@@ -0,0 +1,920 @@
1
+ ---
2
+ name: tauri
3
+ description: Provides comprehensive Tauri 2.0 desktop application development patterns including Rust backend commands, event system, state management, plugin architecture, window management, system tray, file system access, security model, auto-updater, IPC patterns, multi-window communication, deep linking, building and distribution, and testing strategies. Use when building cross-platform desktop apps with Tauri.
4
+ version: 1.0.0
5
+ allowed-tools: Read, Write, Edit, Glob, Grep, Bash
6
+ ---
7
+
8
+ # Tauri 2.0 Desktop Application Development Patterns
9
+
10
+ ## Overview
11
+
12
+ Expert guide for building secure, lightweight, cross-platform desktop applications with Tauri 2.0. Tauri uses the OS webview for the frontend and a Rust backend, producing small binaries with low memory usage. Covers commands, events, state, plugins, security, distribution, and testing.
13
+
14
+ ## When to Use
15
+
16
+ - Building cross-platform desktop applications (Windows, macOS, Linux)
17
+ - When small binary size and low memory usage matter (vs Electron)
18
+ - When Rust backend performance is needed for file processing, crypto, or computation
19
+ - When security is a priority (capability-based permissions, no Node.js in production)
20
+ - Building system utilities, developer tools, or productivity apps
21
+ - When you want web frontend skills (React, Vue, Svelte, etc.) for the UI
22
+ - When you need deep OS integration (tray, notifications, file system)
23
+
24
+ ## Instructions
25
+
26
+ 1. **Security first**: Define capabilities and permissions before writing commands
27
+ 2. **Minimize the Rust surface**: Only expose what the frontend needs via commands
28
+ 3. **Use the event system** for backend-to-frontend communication (not polling)
29
+ 4. **Manage state properly**: Use `tauri::State` for shared backend state
30
+ 5. **Scope file access**: Never give blanket file system access
31
+ 6. **Test commands in isolation**: Rust unit tests for backend logic, E2E for integration
32
+ 7. **Use plugins**: Prefer official plugins over custom implementations
33
+
34
+ ## Examples
35
+
36
+ ### Project Structure
37
+
38
+ ```
39
+ my-app/
40
+ src-tauri/
41
+ src/
42
+ main.rs # Tauri entry point
43
+ lib.rs # Command and state definitions
44
+ commands/
45
+ mod.rs # Command module exports
46
+ file_ops.rs # File operation commands
47
+ settings.rs # Settings commands
48
+ state/
49
+ mod.rs # State module exports
50
+ app_state.rs # Application state
51
+ capabilities/
52
+ main.json # Default capability
53
+ admin.json # Admin capability
54
+ Cargo.toml # Rust dependencies
55
+ tauri.conf.json # Tauri configuration
56
+ build.rs # Build script
57
+ src/ # Frontend source (React, Vue, etc.)
58
+ App.tsx
59
+ lib/
60
+ tauri.ts # Typed command wrappers
61
+ events.ts # Event type definitions
62
+ package.json
63
+ ```
64
+
65
+ ## Constraints and Warnings
66
+
67
+ - **Webview differences**: Rendering varies between platforms (WebView2 on Windows, WebKit on macOS/Linux)
68
+ - **No Node.js**: The frontend runs in a webview, not Node.js -- no `require()` or `fs` module
69
+ - **Rust learning curve**: Backend commands require Rust knowledge
70
+ - **Linux webview**: WebKitGTK must be installed; version varies by distro
71
+ - **CSP is mandatory**: Content Security Policy is enforced by default
72
+ - **Async commands**: Long-running operations must be async to avoid blocking the main thread
73
+ - **State is per-process**: Managed state is not shared across multiple app instances
74
+ - **Plugin compatibility**: Check plugin compatibility with Tauri 2.0 (many v1 plugins need updates)
75
+
76
+ ## Core Concepts
77
+
78
+ ### Application Entry Point
79
+
80
+ ```rust
81
+ // src-tauri/src/main.rs
82
+ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
83
+
84
+ fn main() {
85
+ my_app_lib::run();
86
+ }
87
+ ```
88
+
89
+ ```rust
90
+ // src-tauri/src/lib.rs
91
+ mod commands;
92
+ mod state;
93
+
94
+ use state::app_state::AppState;
95
+
96
+ #[cfg_attr(mobile, tauri::mobile_entry_point)]
97
+ pub fn run() {
98
+ tauri::Builder::default()
99
+ .plugin(tauri_plugin_shell::init())
100
+ .plugin(tauri_plugin_fs::init())
101
+ .plugin(tauri_plugin_dialog::init())
102
+ .manage(AppState::default())
103
+ .invoke_handler(tauri::generate_handler![
104
+ commands::file_ops::read_file,
105
+ commands::file_ops::write_file,
106
+ commands::settings::get_settings,
107
+ commands::settings::update_settings,
108
+ ])
109
+ .run(tauri::generate_context!())
110
+ .expect("error while running tauri application");
111
+ }
112
+ ```
113
+
114
+ ### Commands (Rust Backend to Frontend IPC)
115
+
116
+ Commands are Rust functions callable from the frontend via `invoke`:
117
+
118
+ ```rust
119
+ // src-tauri/src/commands/file_ops.rs
120
+ use serde::{Deserialize, Serialize};
121
+ use tauri::command;
122
+ use std::fs;
123
+
124
+ #[derive(Debug, Serialize, Deserialize)]
125
+ pub struct FileInfo {
126
+ pub name: String,
127
+ pub size: u64,
128
+ pub is_directory: bool,
129
+ pub modified: Option<u64>,
130
+ }
131
+
132
+ #[derive(Debug, Serialize, Deserialize)]
133
+ pub struct FileError {
134
+ pub message: String,
135
+ pub code: String,
136
+ }
137
+
138
+ // Simple command -- synchronous
139
+ #[command]
140
+ pub fn read_file(path: String) -> Result<String, FileError> {
141
+ fs::read_to_string(&path).map_err(|e| FileError {
142
+ message: e.to_string(),
143
+ code: "READ_ERROR".to_string(),
144
+ })
145
+ }
146
+
147
+ // Async command -- for I/O operations
148
+ #[command]
149
+ pub async fn list_directory(path: String) -> Result<Vec<FileInfo>, FileError> {
150
+ let entries = tokio::fs::read_dir(&path)
151
+ .await
152
+ .map_err(|e| FileError {
153
+ message: e.to_string(),
154
+ code: "DIR_ERROR".to_string(),
155
+ })?;
156
+
157
+ let mut files = Vec::new();
158
+ let mut entries = entries;
159
+
160
+ while let Some(entry) = entries.next_entry().await.map_err(|e| FileError {
161
+ message: e.to_string(),
162
+ code: "ENTRY_ERROR".to_string(),
163
+ })? {
164
+ let metadata = entry.metadata().await.map_err(|e| FileError {
165
+ message: e.to_string(),
166
+ code: "METADATA_ERROR".to_string(),
167
+ })?;
168
+
169
+ files.push(FileInfo {
170
+ name: entry.file_name().to_string_lossy().to_string(),
171
+ size: metadata.len(),
172
+ is_directory: metadata.is_dir(),
173
+ modified: metadata
174
+ .modified()
175
+ .ok()
176
+ .and_then(|t| t.duration_since(std::time::UNIX_EPOCH).ok())
177
+ .map(|d| d.as_secs()),
178
+ });
179
+ }
180
+
181
+ Ok(files)
182
+ }
183
+
184
+ // Command with state access
185
+ #[command]
186
+ pub fn write_file(
187
+ path: String,
188
+ content: String,
189
+ state: tauri::State<'_, crate::state::app_state::AppState>,
190
+ ) -> Result<(), FileError> {
191
+ // Check if writing is allowed
192
+ if !state.is_write_enabled() {
193
+ return Err(FileError {
194
+ message: "Writing is disabled".to_string(),
195
+ code: "WRITE_DISABLED".to_string(),
196
+ });
197
+ }
198
+
199
+ fs::write(&path, &content).map_err(|e| FileError {
200
+ message: e.to_string(),
201
+ code: "WRITE_ERROR".to_string(),
202
+ })
203
+ }
204
+ ```
205
+
206
+ ### Calling Commands from the Frontend
207
+
208
+ ```typescript
209
+ // src/lib/tauri.ts
210
+ import { invoke } from "@tauri-apps/api/core";
211
+
212
+ // Type-safe command wrappers
213
+ export interface FileInfo {
214
+ name: string;
215
+ size: number;
216
+ is_directory: boolean;
217
+ modified: number | null;
218
+ }
219
+
220
+ export interface FileError {
221
+ message: string;
222
+ code: string;
223
+ }
224
+
225
+ export async function readFile(path: string): Promise<string> {
226
+ return invoke<string>("read_file", { path });
227
+ }
228
+
229
+ export async function listDirectory(path: string): Promise<FileInfo[]> {
230
+ return invoke<FileInfo[]>("list_directory", { path });
231
+ }
232
+
233
+ export async function writeFile(
234
+ path: string,
235
+ content: string
236
+ ): Promise<void> {
237
+ return invoke<void>("write_file", { path, content });
238
+ }
239
+ ```
240
+
241
+ ```tsx
242
+ // src/App.tsx
243
+ import { useState } from "react";
244
+ import { listDirectory, type FileInfo } from "./lib/tauri";
245
+
246
+ function App() {
247
+ const [files, setFiles] = useState<FileInfo[]>([]);
248
+ const [error, setError] = useState<string | null>(null);
249
+
250
+ async function handleBrowse() {
251
+ try {
252
+ const result = await listDirectory("/home/user/documents");
253
+ setFiles(result);
254
+ setError(null);
255
+ } catch (err) {
256
+ setError((err as { message: string }).message);
257
+ }
258
+ }
259
+
260
+ return (
261
+ <div>
262
+ <button onClick={handleBrowse}>Browse Files</button>
263
+ {error && <p className="error">{error}</p>}
264
+ <ul>
265
+ {files.map((file) => (
266
+ <li key={file.name}>
267
+ {file.is_directory ? "[DIR] " : ""}
268
+ {file.name} ({file.size} bytes)
269
+ </li>
270
+ ))}
271
+ </ul>
272
+ </div>
273
+ );
274
+ }
275
+ ```
276
+
277
+ ### Event System
278
+
279
+ Events enable bidirectional communication without request/response:
280
+
281
+ ```rust
282
+ // src-tauri/src/commands/file_ops.rs
283
+ use tauri::{command, AppHandle, Emitter};
284
+ use serde::Serialize;
285
+
286
+ #[derive(Clone, Serialize)]
287
+ pub struct ProgressPayload {
288
+ pub current: u64,
289
+ pub total: u64,
290
+ pub file_name: String,
291
+ }
292
+
293
+ #[command]
294
+ pub async fn process_files(
295
+ paths: Vec<String>,
296
+ app: AppHandle,
297
+ ) -> Result<(), FileError> {
298
+ let total = paths.len() as u64;
299
+
300
+ for (i, path) in paths.iter().enumerate() {
301
+ // Emit progress to frontend
302
+ app.emit("file-progress", ProgressPayload {
303
+ current: i as u64 + 1,
304
+ total,
305
+ file_name: path.clone(),
306
+ }).map_err(|e| FileError {
307
+ message: e.to_string(),
308
+ code: "EMIT_ERROR".to_string(),
309
+ })?;
310
+
311
+ // Simulate processing
312
+ tokio::time::sleep(tokio::time::Duration::from_millis(500)).await;
313
+ }
314
+
315
+ app.emit("processing-complete", ()).unwrap();
316
+ Ok(())
317
+ }
318
+ ```
319
+
320
+ ```typescript
321
+ // src/lib/events.ts
322
+ import { listen, type UnlistenFn } from "@tauri-apps/api/event";
323
+ import { emit } from "@tauri-apps/api/event";
324
+
325
+ export interface ProgressPayload {
326
+ current: number;
327
+ total: number;
328
+ file_name: string;
329
+ }
330
+
331
+ export async function onFileProgress(
332
+ callback: (payload: ProgressPayload) => void
333
+ ): Promise<UnlistenFn> {
334
+ return listen<ProgressPayload>("file-progress", (event) => {
335
+ callback(event.payload);
336
+ });
337
+ }
338
+
339
+ export async function onProcessingComplete(
340
+ callback: () => void
341
+ ): Promise<UnlistenFn> {
342
+ return listen("processing-complete", () => {
343
+ callback();
344
+ });
345
+ }
346
+
347
+ // Frontend can also emit events to the backend
348
+ export async function cancelProcessing(): Promise<void> {
349
+ await emit("cancel-processing");
350
+ }
351
+ ```
352
+
353
+ ```tsx
354
+ // Usage in a React component
355
+ import { useEffect, useState } from "react";
356
+ import { onFileProgress, onProcessingComplete } from "./lib/events";
357
+ import { invoke } from "@tauri-apps/api/core";
358
+
359
+ function FileProcessor() {
360
+ const [progress, setProgress] = useState({ current: 0, total: 0 });
361
+
362
+ useEffect(() => {
363
+ const unlistenProgress = onFileProgress((payload) => {
364
+ setProgress({ current: payload.current, total: payload.total });
365
+ });
366
+
367
+ const unlistenComplete = onProcessingComplete(() => {
368
+ setProgress({ current: 0, total: 0 });
369
+ });
370
+
371
+ return () => {
372
+ unlistenProgress.then((fn) => fn());
373
+ unlistenComplete.then((fn) => fn());
374
+ };
375
+ }, []);
376
+
377
+ return (
378
+ <div>
379
+ {progress.total > 0 && (
380
+ <progress value={progress.current} max={progress.total} />
381
+ )}
382
+ </div>
383
+ );
384
+ }
385
+ ```
386
+
387
+ ### State Management (Managed State)
388
+
389
+ ```rust
390
+ // src-tauri/src/state/app_state.rs
391
+ use std::sync::Mutex;
392
+ use serde::{Deserialize, Serialize};
393
+
394
+ #[derive(Debug, Serialize, Deserialize, Clone)]
395
+ pub struct Settings {
396
+ pub theme: String,
397
+ pub auto_save: bool,
398
+ pub font_size: u32,
399
+ pub recent_files: Vec<String>,
400
+ }
401
+
402
+ impl Default for Settings {
403
+ fn default() -> Self {
404
+ Self {
405
+ theme: "system".to_string(),
406
+ auto_save: true,
407
+ font_size: 14,
408
+ recent_files: Vec::new(),
409
+ }
410
+ }
411
+ }
412
+
413
+ pub struct AppState {
414
+ pub settings: Mutex<Settings>,
415
+ pub write_enabled: Mutex<bool>,
416
+ }
417
+
418
+ impl Default for AppState {
419
+ fn default() -> Self {
420
+ Self {
421
+ settings: Mutex::new(Settings::default()),
422
+ write_enabled: Mutex::new(true),
423
+ }
424
+ }
425
+ }
426
+
427
+ impl AppState {
428
+ pub fn is_write_enabled(&self) -> bool {
429
+ *self.write_enabled.lock().unwrap()
430
+ }
431
+ }
432
+ ```
433
+
434
+ ```rust
435
+ // src-tauri/src/commands/settings.rs
436
+ use tauri::command;
437
+ use crate::state::app_state::{AppState, Settings};
438
+
439
+ #[command]
440
+ pub fn get_settings(state: tauri::State<'_, AppState>) -> Settings {
441
+ state.settings.lock().unwrap().clone()
442
+ }
443
+
444
+ #[command]
445
+ pub fn update_settings(
446
+ settings: Settings,
447
+ state: tauri::State<'_, AppState>,
448
+ ) -> Result<(), String> {
449
+ let mut current = state.settings.lock().map_err(|e| e.to_string())?;
450
+ *current = settings;
451
+ Ok(())
452
+ }
453
+ ```
454
+
455
+ ### Security Model: Capabilities and Permissions
456
+
457
+ ```json
458
+ // src-tauri/capabilities/main.json
459
+ {
460
+ "identifier": "main-capability",
461
+ "description": "Main window permissions",
462
+ "windows": ["main"],
463
+ "permissions": [
464
+ "core:default",
465
+ "shell:allow-open",
466
+ "dialog:allow-open",
467
+ "dialog:allow-save",
468
+ {
469
+ "identifier": "fs:allow-read-text-file",
470
+ "allow": [
471
+ { "path": "$APPDATA/**" },
472
+ { "path": "$HOME/Documents/**" }
473
+ ]
474
+ },
475
+ {
476
+ "identifier": "fs:allow-write-text-file",
477
+ "allow": [
478
+ { "path": "$APPDATA/**" }
479
+ ]
480
+ }
481
+ ]
482
+ }
483
+ ```
484
+
485
+ ```json
486
+ // src-tauri/tauri.conf.json (security section)
487
+ {
488
+ "app": {
489
+ "security": {
490
+ "csp": "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'",
491
+ "dangerousDisableAssetCspModification": false
492
+ }
493
+ }
494
+ }
495
+ ```
496
+
497
+ ### Window Management
498
+
499
+ ```rust
500
+ // Creating and managing windows
501
+ use tauri::{command, AppHandle, Manager, WebviewWindowBuilder, WebviewUrl};
502
+
503
+ #[command]
504
+ pub async fn open_settings_window(app: AppHandle) -> Result<(), String> {
505
+ // Check if window already exists
506
+ if let Some(window) = app.get_webview_window("settings") {
507
+ window.set_focus().map_err(|e| e.to_string())?;
508
+ return Ok(());
509
+ }
510
+
511
+ WebviewWindowBuilder::new(
512
+ &app,
513
+ "settings",
514
+ WebviewUrl::App("settings.html".into()),
515
+ )
516
+ .title("Settings")
517
+ .inner_size(600.0, 400.0)
518
+ .resizable(false)
519
+ .center()
520
+ .build()
521
+ .map_err(|e| e.to_string())?;
522
+
523
+ Ok(())
524
+ }
525
+
526
+ #[command]
527
+ pub async fn close_window(app: AppHandle, label: String) -> Result<(), String> {
528
+ if let Some(window) = app.get_webview_window(&label) {
529
+ window.close().map_err(|e| e.to_string())?;
530
+ }
531
+ Ok(())
532
+ }
533
+ ```
534
+
535
+ ### System Tray
536
+
537
+ ```rust
538
+ // src-tauri/src/lib.rs
539
+ use tauri::{
540
+ menu::{Menu, MenuItem},
541
+ tray::TrayIconBuilder,
542
+ Manager,
543
+ };
544
+
545
+ pub fn run() {
546
+ tauri::Builder::default()
547
+ .setup(|app| {
548
+ let quit = MenuItem::with_id(app, "quit", "Quit", true, None::<&str>)?;
549
+ let show = MenuItem::with_id(app, "show", "Show Window", true, None::<&str>)?;
550
+ let menu = Menu::with_items(app, &[&show, &quit])?;
551
+
552
+ TrayIconBuilder::new()
553
+ .icon(app.default_window_icon().unwrap().clone())
554
+ .menu(&menu)
555
+ .on_menu_event(|app, event| match event.id.as_ref() {
556
+ "quit" => {
557
+ app.exit(0);
558
+ }
559
+ "show" => {
560
+ if let Some(window) = app.get_webview_window("main") {
561
+ let _ = window.show();
562
+ let _ = window.set_focus();
563
+ }
564
+ }
565
+ _ => {}
566
+ })
567
+ .build(app)?;
568
+
569
+ Ok(())
570
+ })
571
+ .run(tauri::generate_context!())
572
+ .expect("error while running tauri application");
573
+ }
574
+ ```
575
+
576
+ ### Plugins
577
+
578
+ ```rust
579
+ // Using official plugins
580
+ // Cargo.toml
581
+ // [dependencies]
582
+ // tauri-plugin-fs = "2"
583
+ // tauri-plugin-dialog = "2"
584
+ // tauri-plugin-shell = "2"
585
+ // tauri-plugin-store = "2"
586
+ // tauri-plugin-updater = "2"
587
+
588
+ // src-tauri/src/lib.rs
589
+ pub fn run() {
590
+ tauri::Builder::default()
591
+ .plugin(tauri_plugin_fs::init())
592
+ .plugin(tauri_plugin_dialog::init())
593
+ .plugin(tauri_plugin_shell::init())
594
+ .plugin(tauri_plugin_store::Builder::default().build())
595
+ .plugin(tauri_plugin_updater::Builder::default().build())
596
+ .run(tauri::generate_context!())
597
+ .expect("error while running tauri application");
598
+ }
599
+ ```
600
+
601
+ ### Custom Plugin
602
+
603
+ ```rust
604
+ // src-tauri/src/plugins/analytics.rs
605
+ use tauri::{
606
+ plugin::{Builder, TauriPlugin},
607
+ Runtime, Manager,
608
+ };
609
+ use serde::Serialize;
610
+ use std::sync::Mutex;
611
+
612
+ #[derive(Debug, Default)]
613
+ struct AnalyticsState {
614
+ events: Mutex<Vec<AnalyticsEvent>>,
615
+ }
616
+
617
+ #[derive(Debug, Clone, Serialize)]
618
+ struct AnalyticsEvent {
619
+ name: String,
620
+ timestamp: u64,
621
+ }
622
+
623
+ #[tauri::command]
624
+ async fn track_event(
625
+ name: String,
626
+ state: tauri::State<'_, AnalyticsState>,
627
+ ) -> Result<(), String> {
628
+ let event = AnalyticsEvent {
629
+ name,
630
+ timestamp: std::time::SystemTime::now()
631
+ .duration_since(std::time::UNIX_EPOCH)
632
+ .unwrap()
633
+ .as_secs(),
634
+ };
635
+ state.events.lock().unwrap().push(event);
636
+ Ok(())
637
+ }
638
+
639
+ pub fn init<R: Runtime>() -> TauriPlugin<R> {
640
+ Builder::new("analytics")
641
+ .setup(|app, _api| {
642
+ app.manage(AnalyticsState::default());
643
+ Ok(())
644
+ })
645
+ .invoke_handler(tauri::generate_handler![track_event])
646
+ .build()
647
+ }
648
+ ```
649
+
650
+ ### Auto-Updater
651
+
652
+ ```json
653
+ // src-tauri/tauri.conf.json
654
+ {
655
+ "plugins": {
656
+ "updater": {
657
+ "pubkey": "YOUR_PUBLIC_KEY_HERE",
658
+ "endpoints": [
659
+ "https://releases.myapp.com/{{target}}/{{arch}}/{{current_version}}"
660
+ ]
661
+ }
662
+ }
663
+ }
664
+ ```
665
+
666
+ ```typescript
667
+ // src/lib/updater.ts
668
+ import { check } from "@tauri-apps/plugin-updater";
669
+ import { relaunch } from "@tauri-apps/plugin-process";
670
+
671
+ export async function checkForUpdates(): Promise<void> {
672
+ const update = await check();
673
+
674
+ if (update) {
675
+ console.log("Update available:", update.version);
676
+
677
+ // Download and install
678
+ await update.downloadAndInstall((event) => {
679
+ switch (event.event) {
680
+ case "Started":
681
+ console.log("Download started, size:", event.data.contentLength);
682
+ break;
683
+ case "Progress":
684
+ console.log("Downloaded:", event.data.chunkLength);
685
+ break;
686
+ case "Finished":
687
+ console.log("Download complete");
688
+ break;
689
+ }
690
+ });
691
+
692
+ // Restart the app
693
+ await relaunch();
694
+ }
695
+ }
696
+ ```
697
+
698
+ ### Multi-Window IPC
699
+
700
+ ```rust
701
+ // Send events between windows
702
+ use tauri::{command, AppHandle, Emitter};
703
+
704
+ #[command]
705
+ pub fn send_to_window(
706
+ app: AppHandle,
707
+ target_window: String,
708
+ event_name: String,
709
+ payload: serde_json::Value,
710
+ ) -> Result<(), String> {
711
+ app.emit_to(&target_window, &event_name, payload)
712
+ .map_err(|e| e.to_string())
713
+ }
714
+ ```
715
+
716
+ ```typescript
717
+ // Listen in the target window
718
+ import { listen } from "@tauri-apps/api/event";
719
+
720
+ // In the settings window, listen for theme changes from main
721
+ const unlisten = await listen<{ theme: string }>(
722
+ "theme-changed",
723
+ (event) => {
724
+ applyTheme(event.payload.theme);
725
+ }
726
+ );
727
+ ```
728
+
729
+ ### Deep Linking
730
+
731
+ ```json
732
+ // src-tauri/tauri.conf.json
733
+ {
734
+ "plugins": {
735
+ "deep-link": {
736
+ "desktop": {
737
+ "schemes": ["myapp"]
738
+ }
739
+ }
740
+ }
741
+ }
742
+ ```
743
+
744
+ ```rust
745
+ // Handle deep links
746
+ use tauri_plugin_deep_link::DeepLinkExt;
747
+
748
+ pub fn run() {
749
+ tauri::Builder::default()
750
+ .plugin(tauri_plugin_deep_link::init())
751
+ .setup(|app| {
752
+ app.deep_link().on_open_url(|event| {
753
+ for url in event.urls() {
754
+ println!("Deep link received: {}", url);
755
+ // Route to appropriate handler based on URL
756
+ }
757
+ });
758
+ Ok(())
759
+ })
760
+ .run(tauri::generate_context!())
761
+ .expect("error while running tauri application");
762
+ }
763
+ ```
764
+
765
+ ## Building and Distribution
766
+
767
+ ### Build Configuration
768
+
769
+ ```json
770
+ // src-tauri/tauri.conf.json
771
+ {
772
+ "productName": "My App",
773
+ "version": "1.0.0",
774
+ "identifier": "com.mycompany.myapp",
775
+ "build": {
776
+ "beforeBuildCommand": "pnpm build",
777
+ "beforeDevCommand": "pnpm dev",
778
+ "devUrl": "http://localhost:5173",
779
+ "frontendDist": "../dist"
780
+ },
781
+ "bundle": {
782
+ "active": true,
783
+ "targets": "all",
784
+ "icon": [
785
+ "icons/32x32.png",
786
+ "icons/128x128.png",
787
+ "icons/128x128@2x.png",
788
+ "icons/icon.icns",
789
+ "icons/icon.ico"
790
+ ],
791
+ "windows": {
792
+ "wix": {
793
+ "language": "en-US"
794
+ }
795
+ },
796
+ "macOS": {
797
+ "minimumSystemVersion": "10.15",
798
+ "signingIdentity": null,
799
+ "entitlements": null
800
+ },
801
+ "linux": {
802
+ "appimage": {
803
+ "bundleMediaFramework": true
804
+ },
805
+ "deb": {
806
+ "depends": ["libwebkit2gtk-4.1-0"]
807
+ }
808
+ }
809
+ }
810
+ }
811
+ ```
812
+
813
+ ### Build Commands
814
+
815
+ ```bash
816
+ # Development
817
+ pnpm tauri dev
818
+
819
+ # Build for current platform
820
+ pnpm tauri build
821
+
822
+ # Build with debug info
823
+ pnpm tauri build --debug
824
+
825
+ # Build specific bundle format
826
+ pnpm tauri build --bundles deb
827
+ pnpm tauri build --bundles appimage
828
+ pnpm tauri build --bundles msi
829
+ pnpm tauri build --bundles dmg
830
+ ```
831
+
832
+ ## Testing
833
+
834
+ ### Rust Unit Tests
835
+
836
+ ```rust
837
+ // src-tauri/src/commands/settings.rs
838
+ #[cfg(test)]
839
+ mod tests {
840
+ use super::*;
841
+
842
+ #[test]
843
+ fn test_default_settings() {
844
+ let settings = Settings::default();
845
+ assert_eq!(settings.theme, "system");
846
+ assert!(settings.auto_save);
847
+ assert_eq!(settings.font_size, 14);
848
+ assert!(settings.recent_files.is_empty());
849
+ }
850
+
851
+ #[test]
852
+ fn test_app_state_write_enabled() {
853
+ let state = AppState::default();
854
+ assert!(state.is_write_enabled());
855
+
856
+ *state.write_enabled.lock().unwrap() = false;
857
+ assert!(!state.is_write_enabled());
858
+ }
859
+ }
860
+ ```
861
+
862
+ ### Frontend E2E Testing
863
+
864
+ ```typescript
865
+ // tests/e2e/app.spec.ts
866
+ import { test, expect } from "@playwright/test";
867
+
868
+ // Tauri provides a WebDriver-compatible interface
869
+ test.describe("Application", () => {
870
+ test("should display the main window", async ({ page }) => {
871
+ await page.goto("tauri://localhost");
872
+ await expect(page.locator("h1")).toContainText("My App");
873
+ });
874
+
875
+ test("should list files when browse is clicked", async ({ page }) => {
876
+ await page.goto("tauri://localhost");
877
+ await page.click("button:has-text('Browse')");
878
+ await expect(page.locator("ul li")).toHaveCount(5);
879
+ });
880
+ });
881
+ ```
882
+
883
+ ## Anti-Patterns
884
+
885
+ | Anti-Pattern | Why It Is Bad | Correct Approach |
886
+ |--------------|---------------|------------------|
887
+ | Blanket file system permissions | Security risk, any file readable | Scope to specific directories |
888
+ | Blocking commands (sync I/O) | Freezes the UI thread | Use `async` commands with tokio |
889
+ | Storing secrets in frontend | Webview is inspectable | Store in Rust backend, use OS keychain |
890
+ | Skipping CSP configuration | XSS vulnerabilities | Define strict CSP in tauri.conf.json |
891
+ | Using `unsafe` Rust unnecessarily | Defeats Rust safety guarantees | Use safe abstractions |
892
+ | Polling backend from frontend | Wastes resources, laggy | Use event system (emit/listen) |
893
+ | Giant monolithic lib.rs | Unmaintainable | Split into modules (commands/, state/) |
894
+ | Hardcoded window sizes | Poor UX on different displays | Use responsive layouts, remember position |
895
+ | Ignoring platform differences | Broken on some OS | Test on all target platforms |
896
+ | `dangerousDisableAssetCspModification: true` | Disables security protections | Configure CSP properly instead |
897
+
898
+ ## Best Practices
899
+
900
+ 1. **Capability-based security**: Define the minimum permissions each window needs
901
+ 2. **Async all I/O**: Every command doing I/O should be async
902
+ 3. **Type-safe IPC**: Define shared types and use them on both sides
903
+ 4. **Error handling**: Return `Result<T, E>` from commands with descriptive errors
904
+ 5. **State with Mutex**: Always use `Mutex` or `RwLock` for shared state
905
+ 6. **Event cleanup**: Always call the unlisten function in component cleanup
906
+ 7. **Scoped file access**: Use path scopes in capabilities, never `$HOME/**`
907
+ 8. **Official plugins first**: Use tauri-plugin-* before writing custom code
908
+ 9. **Platform testing**: Test on Windows, macOS, and Linux before release
909
+ 10. **Small binaries**: Tauri apps should be under 10MB; audit dependencies
910
+ 11. **Graceful degradation**: Handle missing permissions gracefully in the UI
911
+ 12. **Update channel**: Set up auto-updater early in development
912
+
913
+ ## References
914
+
915
+ - Tauri 2.0 Documentation: https://v2.tauri.app
916
+ - Tauri GitHub: https://github.com/tauri-apps/tauri
917
+ - Tauri Plugins: https://github.com/tauri-apps/plugins-workspace
918
+ - Tauri Examples: https://github.com/tauri-apps/tauri/tree/dev/examples
919
+ - Rust Book: https://doc.rust-lang.org/book/
920
+ - Tauri Security: https://v2.tauri.app/security/