cfsa-antigravity 1.0.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 (378) hide show
  1. package/bin/cli.mjs +324 -0
  2. package/package.json +34 -0
  3. package/template/.agent/instructions/commands.md +48 -0
  4. package/template/.agent/instructions/patterns.md +61 -0
  5. package/template/.agent/instructions/structure.md +29 -0
  6. package/template/.agent/instructions/tech-stack.md +43 -0
  7. package/template/.agent/instructions/workflow.md +41 -0
  8. package/template/.agent/kit-sync.md +15 -0
  9. package/template/.agent/rules/boundary-not-placeholder.md +146 -0
  10. package/template/.agent/rules/completion-checklist.md +48 -0
  11. package/template/.agent/rules/decision-classification.md +103 -0
  12. package/template/.agent/rules/extensibility.md +47 -0
  13. package/template/.agent/rules/question-vs-command.md +81 -0
  14. package/template/.agent/rules/security-first.md +43 -0
  15. package/template/.agent/rules/specificity-standards.md +54 -0
  16. package/template/.agent/rules/tdd-contract-first.md +57 -0
  17. package/template/.agent/rules/vertical-slices.md +42 -0
  18. package/template/.agent/skill-library/MANIFEST.md +480 -0
  19. package/template/.agent/skill-library/README.md +38 -0
  20. package/template/.agent/skill-library/meta/brand-guidelines/SKILL.md +73 -0
  21. package/template/.agent/skill-library/meta/claude-code/README.md +9 -0
  22. package/template/.agent/skill-library/meta/claude-code/agent-development/SKILL.md +415 -0
  23. package/template/.agent/skill-library/meta/claude-code/hook-development/SKILL.md +712 -0
  24. package/template/.agent/skill-library/meta/claude-code/plugin-structure/SKILL.md +476 -0
  25. package/template/.agent/skill-library/meta/git-advanced/SKILL.md +972 -0
  26. package/template/.agent/skill-library/meta/mcp-builder/SKILL.md +236 -0
  27. package/template/.agent/skill-library/meta/product-marketing-context/SKILL.md +241 -0
  28. package/template/.agent/skill-library/meta/regex-patterns/SKILL.md +751 -0
  29. package/template/.agent/skill-library/meta/tmux-processes/SKILL.md +210 -0
  30. package/template/.agent/skill-library/meta/using-tmux-for-interactive-commands/SKILL.md +178 -0
  31. package/template/.agent/skill-library/stack/3d/threejs-pro/SKILL.md +300 -0
  32. package/template/.agent/skill-library/stack/ai/ai-sdk/SKILL.md +77 -0
  33. package/template/.agent/skill-library/stack/ai/langchain/SKILL.md +530 -0
  34. package/template/.agent/skill-library/stack/ai/ollama/SKILL.md +321 -0
  35. package/template/.agent/skill-library/stack/ai/openai-sdk/SKILL.md +549 -0
  36. package/template/.agent/skill-library/stack/analytics/google-analytics/SKILL.md +153 -0
  37. package/template/.agent/skill-library/stack/api/graphql/SKILL.md +1061 -0
  38. package/template/.agent/skill-library/stack/api/trpc/SKILL.md +576 -0
  39. package/template/.agent/skill-library/stack/auth/authjs/SKILL.md +569 -0
  40. package/template/.agent/skill-library/stack/auth/clerk/SKILL.md +590 -0
  41. package/template/.agent/skill-library/stack/auth/firebase-auth/SKILL.md +734 -0
  42. package/template/.agent/skill-library/stack/cms/payload-cms/SKILL.md +573 -0
  43. package/template/.agent/skill-library/stack/cms/shopify/SKILL.md +1193 -0
  44. package/template/.agent/skill-library/stack/cms/wordpress/SKILL.md +1104 -0
  45. package/template/.agent/skill-library/stack/css/sass-scss/SKILL.md +1121 -0
  46. package/template/.agent/skill-library/stack/css/tailwind-css-patterns/SKILL.md +863 -0
  47. package/template/.agent/skill-library/stack/css/tailwind-design-system/SKILL.md +490 -0
  48. package/template/.agent/skill-library/stack/css/vanilla-css/SKILL.md +1078 -0
  49. package/template/.agent/skill-library/stack/databases/clickhouse/SKILL.md +311 -0
  50. package/template/.agent/skill-library/stack/databases/influxdb/SKILL.md +280 -0
  51. package/template/.agent/skill-library/stack/databases/lancedb/SKILL.md +415 -0
  52. package/template/.agent/skill-library/stack/databases/mongodb/SKILL.md +1169 -0
  53. package/template/.agent/skill-library/stack/databases/neo4j/SKILL.md +839 -0
  54. package/template/.agent/skill-library/stack/databases/pgvector/SKILL.md +241 -0
  55. package/template/.agent/skill-library/stack/databases/pinecone/SKILL.md +212 -0
  56. package/template/.agent/skill-library/stack/databases/postgresql/SKILL.md +658 -0
  57. package/template/.agent/skill-library/stack/databases/qdrant/SKILL.md +312 -0
  58. package/template/.agent/skill-library/stack/databases/redis/SKILL.md +1079 -0
  59. package/template/.agent/skill-library/stack/databases/spacetimedb/SKILL.md +532 -0
  60. package/template/.agent/skill-library/stack/databases/sqlite/SKILL.md +1132 -0
  61. package/template/.agent/skill-library/stack/databases/supabase/SKILL.md +640 -0
  62. package/template/.agent/skill-library/stack/databases/surrealdb-expert/SKILL.md +945 -0
  63. package/template/.agent/skill-library/stack/databases/timescaledb/SKILL.md +745 -0
  64. package/template/.agent/skill-library/stack/databases/weaviate/SKILL.md +218 -0
  65. package/template/.agent/skill-library/stack/devops/github-actions/SKILL.md +554 -0
  66. package/template/.agent/skill-library/stack/devops/kubernetes/SKILL.md +950 -0
  67. package/template/.agent/skill-library/stack/devops/nginx/SKILL.md +841 -0
  68. package/template/.agent/skill-library/stack/devops/terraform/SKILL.md +860 -0
  69. package/template/.agent/skill-library/stack/email/resend/SKILL.md +391 -0
  70. package/template/.agent/skill-library/stack/engines/godot/SKILL.md +488 -0
  71. package/template/.agent/skill-library/stack/extensions/chrome-extension/SKILL.md +375 -0
  72. package/template/.agent/skill-library/stack/extensions/vscode-extension/SKILL.md +453 -0
  73. package/template/.agent/skill-library/stack/frameworks/astro-framework/SKILL.md +162 -0
  74. package/template/.agent/skill-library/stack/frameworks/electron/SKILL.md +1286 -0
  75. package/template/.agent/skill-library/stack/frameworks/fastapi/SKILL.md +650 -0
  76. package/template/.agent/skill-library/stack/frameworks/hono/SKILL.md +90 -0
  77. package/template/.agent/skill-library/stack/frameworks/nestjs/SKILL.md +878 -0
  78. package/template/.agent/skill-library/stack/frameworks/nextjs/SKILL.md +635 -0
  79. package/template/.agent/skill-library/stack/frameworks/nuxt/SKILL.md +564 -0
  80. package/template/.agent/skill-library/stack/frameworks/sveltekit/SKILL.md +614 -0
  81. package/template/.agent/skill-library/stack/frameworks/tauri/SKILL.md +920 -0
  82. package/template/.agent/skill-library/stack/gamedev/godot/SKILL.md +1032 -0
  83. package/template/.agent/skill-library/stack/gamedev/unity/SKILL.md +1175 -0
  84. package/template/.agent/skill-library/stack/hosting/aws/SKILL.md +467 -0
  85. package/template/.agent/skill-library/stack/hosting/cloudflare/SKILL.md +201 -0
  86. package/template/.agent/skill-library/stack/hosting/docker-expert/SKILL.md +409 -0
  87. package/template/.agent/skill-library/stack/hosting/vercel/SKILL.md +484 -0
  88. package/template/.agent/skill-library/stack/languages/bash-scripting/SKILL.md +773 -0
  89. package/template/.agent/skill-library/stack/languages/c-cpp/SKILL.md +712 -0
  90. package/template/.agent/skill-library/stack/languages/gdscript/SKILL.md +789 -0
  91. package/template/.agent/skill-library/stack/languages/go/SKILL.md +664 -0
  92. package/template/.agent/skill-library/stack/languages/java/SKILL.md +778 -0
  93. package/template/.agent/skill-library/stack/languages/kotlin/SKILL.md +665 -0
  94. package/template/.agent/skill-library/stack/languages/python/SKILL.md +678 -0
  95. package/template/.agent/skill-library/stack/languages/rust/SKILL.md +673 -0
  96. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/SKILL.md +141 -0
  97. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/advanced-generics.md +90 -0
  98. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/branded-types.md +57 -0
  99. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/builder-pattern.md +71 -0
  100. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/common-pitfalls.md +135 -0
  101. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/conditional-types.md +27 -0
  102. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/decorators.md +98 -0
  103. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/discriminated-unions.md +62 -0
  104. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/mapped-types.md +53 -0
  105. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/performance-best-practices.md +104 -0
  106. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/template-literal-types.md +49 -0
  107. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/testing-types.md +112 -0
  108. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-guards.md +70 -0
  109. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/type-inference.md +101 -0
  110. package/template/.agent/skill-library/stack/languages/typescript-advanced-patterns/references/utility-types.md +98 -0
  111. package/template/.agent/skill-library/stack/languages/vanilla-javascript/SKILL.md +803 -0
  112. package/template/.agent/skill-library/stack/messaging/kafka/SKILL.md +235 -0
  113. package/template/.agent/skill-library/stack/mobile/expo-react-native/SKILL.md +665 -0
  114. package/template/.agent/skill-library/stack/mobile/flutter/SKILL.md +316 -0
  115. package/template/.agent/skill-library/stack/mobile/react-native/SKILL.md +337 -0
  116. package/template/.agent/skill-library/stack/monitoring/posthog/SKILL.md +396 -0
  117. package/template/.agent/skill-library/stack/monitoring/sentry/SKILL.md +509 -0
  118. package/template/.agent/skill-library/stack/observability/datadog/SKILL.md +179 -0
  119. package/template/.agent/skill-library/stack/observability/distributed-tracing/SKILL.md +140 -0
  120. package/template/.agent/skill-library/stack/observability/logging-best-practices/SKILL.md +168 -0
  121. package/template/.agent/skill-library/stack/observability/opentelemetry/SKILL.md +164 -0
  122. package/template/.agent/skill-library/stack/observability/prometheus-grafana/SKILL.md +246 -0
  123. package/template/.agent/skill-library/stack/observability/python-observability/SKILL.md +158 -0
  124. package/template/.agent/skill-library/stack/orm/drizzle-orm/SKILL.md +613 -0
  125. package/template/.agent/skill-library/stack/orm/prisma/SKILL.md +744 -0
  126. package/template/.agent/skill-library/stack/payments/lemonsqueezy/SKILL.md +393 -0
  127. package/template/.agent/skill-library/stack/payments/stripe-integration/SKILL.md +457 -0
  128. package/template/.agent/skill-library/stack/queue/bullmq/SKILL.md +385 -0
  129. package/template/.agent/skill-library/stack/queue/inngest/SKILL.md +438 -0
  130. package/template/.agent/skill-library/stack/realtime/socketio/SKILL.md +595 -0
  131. package/template/.agent/skill-library/stack/search/elasticsearch/SKILL.md +248 -0
  132. package/template/.agent/skill-library/stack/search/meilisearch/SKILL.md +385 -0
  133. package/template/.agent/skill-library/stack/security/crypto-patterns/SKILL.md +437 -0
  134. package/template/.agent/skill-library/stack/security/csp-cors-headers/SKILL.md +588 -0
  135. package/template/.agent/skill-library/stack/security/dependency-auditing/SKILL.md +560 -0
  136. package/template/.agent/skill-library/stack/security/input-sanitization/SKILL.md +430 -0
  137. package/template/.agent/skill-library/stack/security/owasp-web-security/SKILL.md +421 -0
  138. package/template/.agent/skill-library/stack/state/tanstack-query/SKILL.md +637 -0
  139. package/template/.agent/skill-library/stack/state/zustand/SKILL.md +483 -0
  140. package/template/.agent/skill-library/stack/storage/aws-s3/SKILL.md +415 -0
  141. package/template/.agent/skill-library/stack/testing/playwright/SKILL.md +641 -0
  142. package/template/.agent/skill-library/stack/testing/storybook/SKILL.md +923 -0
  143. package/template/.agent/skill-library/stack/testing/testing-library/SKILL.md +872 -0
  144. package/template/.agent/skill-library/stack/testing/vitest/SKILL.md +714 -0
  145. package/template/.agent/skill-library/stack/ui/react-best-practices/SKILL.md +877 -0
  146. package/template/.agent/skill-library/stack/ui/react-composition-patterns/SKILL.md +1107 -0
  147. package/template/.agent/skill-library/stack/ui/react-flow/SKILL.md +425 -0
  148. package/template/.agent/skill-library/stack/ui/shadcn-ui/SKILL.md +703 -0
  149. package/template/.agent/skill-library/surface/api/api-caching/SKILL.md +458 -0
  150. package/template/.agent/skill-library/surface/api/api-documentation-openapi/SKILL.md +697 -0
  151. package/template/.agent/skill-library/surface/api/api-error-handling/SKILL.md +478 -0
  152. package/template/.agent/skill-library/surface/api/api-security-checklist/SKILL.md +147 -0
  153. package/template/.agent/skill-library/surface/api/api-versioning/SKILL.md +420 -0
  154. package/template/.agent/skill-library/surface/api/email-best-practices/SKILL.md +59 -0
  155. package/template/.agent/skill-library/surface/api/rate-limiting-abuse-protection/SKILL.md +147 -0
  156. package/template/.agent/skill-library/surface/api/rest-api-design/SKILL.md +478 -0
  157. package/template/.agent/skill-library/surface/api/webhook-design/SKILL.md +752 -0
  158. package/template/.agent/skill-library/surface/cli/cli-configuration-management/SKILL.md +445 -0
  159. package/template/.agent/skill-library/surface/cli/cli-error-diagnostics/SKILL.md +515 -0
  160. package/template/.agent/skill-library/surface/cli/cli-shell-integration/SKILL.md +479 -0
  161. package/template/.agent/skill-library/surface/cli/cli-ux-design/SKILL.md +477 -0
  162. package/template/.agent/skill-library/surface/desktop/desktop-app-distribution/SKILL.md +416 -0
  163. package/template/.agent/skill-library/surface/desktop/desktop-security-sandboxing/SKILL.md +407 -0
  164. package/template/.agent/skill-library/surface/desktop/desktop-ux-conventions/SKILL.md +361 -0
  165. package/template/.agent/skill-library/surface/desktop/native-os-integration/SKILL.md +563 -0
  166. package/template/.agent/skill-library/surface/extension/browser-extension-patterns/SKILL.md +482 -0
  167. package/template/.agent/skill-library/surface/extension/plugin-architecture-design/SKILL.md +632 -0
  168. package/template/.agent/skill-library/surface/extension/vscode-extension-development/SKILL.md +728 -0
  169. package/template/.agent/skill-library/surface/mobile/app-store-submission/SKILL.md +304 -0
  170. package/template/.agent/skill-library/surface/mobile/mobile-offline-sync/SKILL.md +443 -0
  171. package/template/.agent/skill-library/surface/mobile/mobile-responsive-patterns/SKILL.md +432 -0
  172. package/template/.agent/skill-library/surface/mobile/push-notifications/SKILL.md +495 -0
  173. package/template/.agent/skill-library/surface/web/accessibility-compliance/SKILL.md +827 -0
  174. package/template/.agent/skill-library/surface/web/ai-seo/SKILL.md +398 -0
  175. package/template/.agent/skill-library/surface/web/ai-seo/references/content-patterns.md +285 -0
  176. package/template/.agent/skill-library/surface/web/ai-seo/references/platform-ranking-factors.md +152 -0
  177. package/template/.agent/skill-library/surface/web/analytics-tracking/SKILL.md +309 -0
  178. package/template/.agent/skill-library/surface/web/analytics-tracking/references/event-library.md +260 -0
  179. package/template/.agent/skill-library/surface/web/analytics-tracking/references/ga4-implementation.md +300 -0
  180. package/template/.agent/skill-library/surface/web/analytics-tracking/references/gtm-implementation.md +390 -0
  181. package/template/.agent/skill-library/surface/web/authentication-ui-flows/SKILL.md +530 -0
  182. package/template/.agent/skill-library/surface/web/dark-mode-theming/SKILL.md +516 -0
  183. package/template/.agent/skill-library/surface/web/design-reference-data/SKILL.md +105 -0
  184. package/template/.agent/skill-library/surface/web/design-reference-data/data/charts.csv +26 -0
  185. package/template/.agent/skill-library/surface/web/design-reference-data/data/colors.csv +97 -0
  186. package/template/.agent/skill-library/surface/web/design-reference-data/data/landing.csv +31 -0
  187. package/template/.agent/skill-library/surface/web/design-reference-data/data/styles.csv +59 -0
  188. package/template/.agent/skill-library/surface/web/design-reference-data/data/typography.csv +58 -0
  189. package/template/.agent/skill-library/surface/web/design-reference-data/data/ux-guidelines.csv +100 -0
  190. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/core.py +258 -0
  191. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/design_system.py +1067 -0
  192. package/template/.agent/skill-library/surface/web/design-reference-data/scripts/search.py +106 -0
  193. package/template/.agent/skill-library/surface/web/form-handling-validation/SKILL.md +675 -0
  194. package/template/.agent/skill-library/surface/web/frontend-design/SKILL.md +1393 -0
  195. package/template/.agent/skill-library/surface/web/frontend-design/templates/cppn-hero.tsx +299 -0
  196. package/template/.agent/skill-library/surface/web/frontend-design/templates/wave-hero.tsx +875 -0
  197. package/template/.agent/skill-library/surface/web/frontend-verification/SKILL.md +111 -0
  198. package/template/.agent/skill-library/surface/web/frontend-verification/scripts/ux_audit.py +739 -0
  199. package/template/.agent/skill-library/surface/web/i18n-localization/SKILL.md +154 -0
  200. package/template/.agent/skill-library/surface/web/offline-first-pwa/SKILL.md +657 -0
  201. package/template/.agent/skill-library/surface/web/page-cro/SKILL.md +182 -0
  202. package/template/.agent/skill-library/surface/web/page-cro/references/experiments.md +248 -0
  203. package/template/.agent/skill-library/surface/web/programmatic-seo/SKILL.md +238 -0
  204. package/template/.agent/skill-library/surface/web/programmatic-seo/references/playbooks.md +308 -0
  205. package/template/.agent/skill-library/surface/web/schema-markup/SKILL.md +179 -0
  206. package/template/.agent/skill-library/surface/web/schema-markup/references/schema-examples.md +398 -0
  207. package/template/.agent/skill-library/surface/web/seo-audit/SKILL.md +394 -0
  208. package/template/.agent/skill-library/surface/web/seo-audit/references/ai-writing-detection.md +200 -0
  209. package/template/.agent/skill-library/surface/web/web-performance-optimization/SKILL.md +646 -0
  210. package/template/.agent/skill-library/surface/web/web-scraping/SKILL.md +58 -0
  211. package/template/.agent/skills/accessibility/SKILL.md +522 -0
  212. package/template/.agent/skills/accessibility/references/WCAG.md +162 -0
  213. package/template/.agent/skills/adversarial-review/SKILL.md +90 -0
  214. package/template/.agent/skills/antigravity-workflows/SKILL.md +81 -0
  215. package/template/.agent/skills/antigravity-workflows/resources/implementation-playbook.md +36 -0
  216. package/template/.agent/skills/api-design-principles/SKILL.md +37 -0
  217. package/template/.agent/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  218. package/template/.agent/skills/api-design-principles/assets/rest-api-template.py +182 -0
  219. package/template/.agent/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  220. package/template/.agent/skills/api-design-principles/references/rest-best-practices.md +408 -0
  221. package/template/.agent/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  222. package/template/.agent/skills/api-versioning/SKILL.md +420 -0
  223. package/template/.agent/skills/architecture-mapping/SKILL.md +219 -0
  224. package/template/.agent/skills/bootstrap-agents/SKILL.md +259 -0
  225. package/template/.agent/skills/brainstorming/SKILL.md +236 -0
  226. package/template/.agent/skills/brand-guidelines/SKILL.md +44 -0
  227. package/template/.agent/skills/clean-code/SKILL.md +94 -0
  228. package/template/.agent/skills/code-review-pro/SKILL.md +152 -0
  229. package/template/.agent/skills/concise-planning/SKILL.md +68 -0
  230. package/template/.agent/skills/cross-layer-consistency/SKILL.md +117 -0
  231. package/template/.agent/skills/database-schema-design/SKILL.md +429 -0
  232. package/template/.agent/skills/deployment-procedures/SKILL.md +241 -0
  233. package/template/.agent/skills/design-anti-cliche/SKILL.md +159 -0
  234. package/template/.agent/skills/design-direction/SKILL.md +45 -0
  235. package/template/.agent/skills/error-handling-patterns/SKILL.md +721 -0
  236. package/template/.agent/skills/find-skills/SKILL.md +145 -0
  237. package/template/.agent/skills/git-advanced/SKILL.md +972 -0
  238. package/template/.agent/skills/git-workflow/SKILL.md +420 -0
  239. package/template/.agent/skills/idea-extraction/SKILL.md +271 -0
  240. package/template/.agent/skills/logging-best-practices/SKILL.md +851 -0
  241. package/template/.agent/skills/migration-management/SKILL.md +384 -0
  242. package/template/.agent/skills/minimalist-surgical-development/SKILL.md +69 -0
  243. package/template/.agent/skills/parallel-agents/SKILL.md +165 -0
  244. package/template/.agent/skills/parallel-debugging/SKILL.md +135 -0
  245. package/template/.agent/skills/parallel-feature-development/SKILL.md +166 -0
  246. package/template/.agent/skills/performance-budgeting/SKILL.md +144 -0
  247. package/template/.agent/skills/pipeline-rubrics/SKILL.md +51 -0
  248. package/template/.agent/skills/pipeline-rubrics/references/architecture-rubric.md +19 -0
  249. package/template/.agent/skills/pipeline-rubrics/references/be-rubric.md +21 -0
  250. package/template/.agent/skills/pipeline-rubrics/references/fe-rubric.md +20 -0
  251. package/template/.agent/skills/pipeline-rubrics/references/ia-rubric.md +19 -0
  252. package/template/.agent/skills/pipeline-rubrics/references/scoring.md +28 -0
  253. package/template/.agent/skills/pipeline-rubrics/references/vision-rubric.md +11 -0
  254. package/template/.agent/skills/prd-templates/SKILL.md +88 -0
  255. package/template/.agent/skills/prd-templates/references/architecture-design-template.md +88 -0
  256. package/template/.agent/skills/prd-templates/references/be-spec-template.md +101 -0
  257. package/template/.agent/skills/prd-templates/references/data-placement-template.md +74 -0
  258. package/template/.agent/skills/prd-templates/references/decomposition-templates.md +211 -0
  259. package/template/.agent/skills/prd-templates/references/design-system-decisions.md +198 -0
  260. package/template/.agent/skills/prd-templates/references/engineering-standards-template.md +124 -0
  261. package/template/.agent/skills/prd-templates/references/fe-classification-procedures.md +47 -0
  262. package/template/.agent/skills/prd-templates/references/fe-spec-template.md +84 -0
  263. package/template/.agent/skills/prd-templates/references/infrastructure-report-template.md +71 -0
  264. package/template/.agent/skills/prd-templates/references/operational-templates.md +116 -0
  265. package/template/.agent/skills/prd-templates/references/placeholder-guard-template.md +21 -0
  266. package/template/.agent/skills/prd-templates/references/surface-model.md +61 -0
  267. package/template/.agent/skills/prd-templates/references/vision-template.md +66 -0
  268. package/template/.agent/skills/prompt-engineer/README.md +659 -0
  269. package/template/.agent/skills/prompt-engineer/SKILL.md +249 -0
  270. package/template/.agent/skills/regex-patterns/SKILL.md +751 -0
  271. package/template/.agent/skills/resolve-ambiguity/SKILL.md +278 -0
  272. package/template/.agent/skills/rest-api-design/SKILL.md +478 -0
  273. package/template/.agent/skills/security-scanning-security-hardening/SKILL.md +231 -0
  274. package/template/.agent/skills/session-continuity/SKILL.md +730 -0
  275. package/template/.agent/skills/session-continuity/protocols/01-session-resumption.md +38 -0
  276. package/template/.agent/skills/session-continuity/protocols/02-progress-generation.md +85 -0
  277. package/template/.agent/skills/session-continuity/protocols/03-progress-update.md +70 -0
  278. package/template/.agent/skills/session-continuity/protocols/04-pattern-extraction.md +60 -0
  279. package/template/.agent/skills/session-continuity/protocols/05-session-close.md +37 -0
  280. package/template/.agent/skills/session-continuity/protocols/06-decision-analysis.md +84 -0
  281. package/template/.agent/skills/session-continuity/protocols/07-spec-pipeline-generation.md +48 -0
  282. package/template/.agent/skills/session-continuity/protocols/08-spec-pipeline-update.md +43 -0
  283. package/template/.agent/skills/session-continuity/protocols/09-parallel-claim.md +122 -0
  284. package/template/.agent/skills/session-continuity/protocols/10-placeholder-verification-gate.md +104 -0
  285. package/template/.agent/skills/session-continuity/protocols/ambiguity-gates.md +48 -0
  286. package/template/.agent/skills/skill-creator/LICENSE.txt +202 -0
  287. package/template/.agent/skills/skill-creator/README.md +270 -0
  288. package/template/.agent/skills/skill-creator/SKILL.md +590 -0
  289. package/template/.agent/skills/skill-creator/references/output-patterns.md +82 -0
  290. package/template/.agent/skills/skill-creator/references/workflows.md +28 -0
  291. package/template/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
  292. package/template/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
  293. package/template/.agent/skills/skill-creator/scripts/quick_validate.py +95 -0
  294. package/template/.agent/skills/spec-writing/SKILL.md +110 -0
  295. package/template/.agent/skills/systematic-debugging/CREATION-LOG.md +119 -0
  296. package/template/.agent/skills/systematic-debugging/SKILL.md +297 -0
  297. package/template/.agent/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  298. package/template/.agent/skills/systematic-debugging/condition-based-waiting.md +115 -0
  299. package/template/.agent/skills/systematic-debugging/defense-in-depth.md +122 -0
  300. package/template/.agent/skills/systematic-debugging/find-polluter.sh +63 -0
  301. package/template/.agent/skills/systematic-debugging/root-cause-tracing.md +169 -0
  302. package/template/.agent/skills/systematic-debugging/test-academic.md +14 -0
  303. package/template/.agent/skills/systematic-debugging/test-pressure-1.md +58 -0
  304. package/template/.agent/skills/systematic-debugging/test-pressure-2.md +68 -0
  305. package/template/.agent/skills/systematic-debugging/test-pressure-3.md +69 -0
  306. package/template/.agent/skills/tdd-workflow/SKILL.md +409 -0
  307. package/template/.agent/skills/tech-stack-catalog/SKILL.md +49 -0
  308. package/template/.agent/skills/tech-stack-catalog/references/constraint-questions.md +21 -0
  309. package/template/.agent/skills/tech-stack-catalog/references/dev-tooling-decisions.md +37 -0
  310. package/template/.agent/skills/tech-stack-catalog/references/surface-decision-tables.md +69 -0
  311. package/template/.agent/skills/technical-writer/SKILL.md +242 -0
  312. package/template/.agent/skills/testing-strategist/SKILL.md +932 -0
  313. package/template/.agent/skills/verification-before-completion/SKILL.md +145 -0
  314. package/template/.agent/skills/workflow-automation/SKILL.md +73 -0
  315. package/template/.agent/workflows/audit-ambiguity-execute.md +165 -0
  316. package/template/.agent/workflows/audit-ambiguity-rubrics.md +83 -0
  317. package/template/.agent/workflows/audit-ambiguity.md +64 -0
  318. package/template/.agent/workflows/bootstrap-agents-fill.md +201 -0
  319. package/template/.agent/workflows/bootstrap-agents-provision.md +197 -0
  320. package/template/.agent/workflows/bootstrap-agents.md +66 -0
  321. package/template/.agent/workflows/create-prd-architecture.md +119 -0
  322. package/template/.agent/workflows/create-prd-compile.md +138 -0
  323. package/template/.agent/workflows/create-prd-design-system.md +135 -0
  324. package/template/.agent/workflows/create-prd-security.md +113 -0
  325. package/template/.agent/workflows/create-prd-stack.md +91 -0
  326. package/template/.agent/workflows/create-prd.md +168 -0
  327. package/template/.agent/workflows/decompose-architecture-structure.md +82 -0
  328. package/template/.agent/workflows/decompose-architecture-validate.md +119 -0
  329. package/template/.agent/workflows/decompose-architecture.md +111 -0
  330. package/template/.agent/workflows/evolve-contract.md +98 -0
  331. package/template/.agent/workflows/evolve-feature-cascade.md +140 -0
  332. package/template/.agent/workflows/evolve-feature-classify.md +116 -0
  333. package/template/.agent/workflows/evolve-feature.md +56 -0
  334. package/template/.agent/workflows/ideate-discover.md +144 -0
  335. package/template/.agent/workflows/ideate-extract.md +129 -0
  336. package/template/.agent/workflows/ideate-validate.md +117 -0
  337. package/template/.agent/workflows/ideate.md +113 -0
  338. package/template/.agent/workflows/implement-slice-setup.md +113 -0
  339. package/template/.agent/workflows/implement-slice-tdd.md +198 -0
  340. package/template/.agent/workflows/implement-slice.md +50 -0
  341. package/template/.agent/workflows/plan-phase.md +202 -0
  342. package/template/.agent/workflows/propagate-decision-apply.md +135 -0
  343. package/template/.agent/workflows/propagate-decision-scan.md +147 -0
  344. package/template/.agent/workflows/propagate-decision.md +56 -0
  345. package/template/.agent/workflows/remediate-pipeline-assess.md +138 -0
  346. package/template/.agent/workflows/remediate-pipeline-execute.md +135 -0
  347. package/template/.agent/workflows/remediate-pipeline.md +55 -0
  348. package/template/.agent/workflows/resolve-ambiguity.md +82 -0
  349. package/template/.agent/workflows/sync-kit.md +209 -0
  350. package/template/.agent/workflows/update-architecture-map.md +74 -0
  351. package/template/.agent/workflows/validate-phase.md +219 -0
  352. package/template/.agent/workflows/verify-infrastructure.md +207 -0
  353. package/template/.agent/workflows/write-architecture-spec-deepen.md +139 -0
  354. package/template/.agent/workflows/write-architecture-spec-design.md +202 -0
  355. package/template/.agent/workflows/write-architecture-spec.md +63 -0
  356. package/template/.agent/workflows/write-be-spec-classify.md +165 -0
  357. package/template/.agent/workflows/write-be-spec-write.md +98 -0
  358. package/template/.agent/workflows/write-be-spec.md +76 -0
  359. package/template/.agent/workflows/write-fe-spec-classify.md +170 -0
  360. package/template/.agent/workflows/write-fe-spec-write.md +94 -0
  361. package/template/.agent/workflows/write-fe-spec.md +71 -0
  362. package/template/AGENTS.md +176 -0
  363. package/template/GEMINI.md +177 -0
  364. package/template/docs/README.md +187 -0
  365. package/template/docs/audits/.gitkeep +0 -0
  366. package/template/docs/audits/README.md +10 -0
  367. package/template/docs/plans/.gitkeep +0 -0
  368. package/template/docs/plans/README.md +21 -0
  369. package/template/docs/plans/be/.gitkeep +0 -0
  370. package/template/docs/plans/be/README.md +11 -0
  371. package/template/docs/plans/fe/.gitkeep +0 -0
  372. package/template/docs/plans/fe/README.md +11 -0
  373. package/template/docs/plans/ia/.gitkeep +0 -0
  374. package/template/docs/plans/ia/README.md +17 -0
  375. package/template/docs/plans/ia/deep-dives/.gitkeep +0 -0
  376. package/template/docs/plans/ia/deep-dives/README.md +5 -0
  377. package/template/docs/plans/phases/.gitkeep +0 -0
  378. package/template/docs/plans/phases/README.md +11 -0
@@ -0,0 +1,416 @@
1
+ ---
2
+ name: desktop-app-distribution
3
+ description: Desktop application packaging, code signing, auto-update mechanisms, and distribution channels for macOS, Windows, and Linux. Use when building or shipping desktop applications that need reliable installation and update flows.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # Desktop App Distribution
8
+
9
+ Package, sign, and distribute desktop applications with reliable auto-update across macOS, Windows, and Linux.
10
+
11
+ ## Code Signing
12
+
13
+ Unsigned applications trigger security warnings and may be blocked entirely. Code signing is mandatory for production distribution.
14
+
15
+ ### macOS (Apple Notarization)
16
+
17
+ | Step | What Happens | Tool |
18
+ |------|-------------|------|
19
+ | 1. Sign with Developer ID | Embeds your identity in the binary | `codesign` |
20
+ | 2. Submit for notarization | Apple scans for malware | `notarytool` |
21
+ | 3. Staple ticket | Embeds notarization result in the app | `stapler` |
22
+
23
+ ```bash
24
+ # Sign the app bundle
25
+ codesign --deep --force --options runtime \
26
+ --sign "Developer ID Application: Your Name (TEAM_ID)" \
27
+ --entitlements entitlements.plist \
28
+ MyApp.app
29
+
30
+ # Submit for notarization
31
+ xcrun notarytool submit MyApp.dmg \
32
+ --apple-id "dev@example.com" \
33
+ --team-id "TEAM_ID" \
34
+ --password "@keychain:AC_PASSWORD" \
35
+ --wait
36
+
37
+ # Staple the notarization ticket
38
+ xcrun stapler staple MyApp.dmg
39
+ ```
40
+
41
+ **Entitlements** required for notarization:
42
+
43
+ ```xml
44
+ <?xml version="1.0" encoding="UTF-8"?>
45
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "...">
46
+ <plist version="1.0">
47
+ <dict>
48
+ <key>com.apple.security.cs.allow-jit</key>
49
+ <true/>
50
+ <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
51
+ <true/>
52
+ <key>com.apple.security.cs.disable-library-validation</key>
53
+ <true/>
54
+ </dict>
55
+ </plist>
56
+ ```
57
+
58
+ **Rule**: Hardened runtime (`--options runtime`) is required for notarization. Test with hardened runtime early -- it can break JIT, unsigned dylibs, and memory-mapped files.
59
+
60
+ ### Windows (Authenticode)
61
+
62
+ | Certificate Type | Trust Level | Cost |
63
+ |-----------------|-------------|------|
64
+ | Standard Code Signing | SmartScreen warning for new publishers | ~$70/year |
65
+ | EV Code Signing | Immediate SmartScreen trust | ~$300/year, requires hardware token |
66
+
67
+ ```bash
68
+ # Sign with signtool (Windows SDK)
69
+ signtool sign /f certificate.pfx /p password \
70
+ /tr http://timestamp.digicert.com /td sha256 \
71
+ /fd sha256 MyApp.exe
72
+
73
+ # Sign with Azure Trusted Signing (no hardware token)
74
+ # Requires Azure subscription and Trusted Signing account
75
+ az trustedsigning sign \
76
+ --account-name my-signing-account \
77
+ --certificate-profile-name my-profile \
78
+ --file MyApp.exe
79
+ ```
80
+
81
+ **Rule**: Always include a timestamp (`/tr`). Without it, the signature becomes invalid when the certificate expires.
82
+ **Rule**: EV certificates are stored on hardware tokens (USB). CI/CD requires cloud-based signing services (Azure Trusted Signing, AWS Signer, or DigiCert KeyLocker).
83
+
84
+ ### Linux
85
+
86
+ Linux does not have a centralized signing authority. Options:
87
+
88
+ | Method | Use Case |
89
+ |--------|----------|
90
+ | GPG signing | Sign packages and release artifacts for manual verification |
91
+ | AppImage signatures | `--sign` flag with GPG key |
92
+ | Snap store | Automatic signing when uploading to Snap Store |
93
+ | Flatpak | Signed with the repository's GPG key |
94
+
95
+ ```bash
96
+ # GPG sign a release artifact
97
+ gpg --detach-sign --armor MyApp-1.0.0.AppImage
98
+ # Users verify with: gpg --verify MyApp-1.0.0.AppImage.asc
99
+ ```
100
+
101
+ ## Installer Creation
102
+
103
+ ### macOS: DMG
104
+
105
+ ```bash
106
+ # Create DMG with background image and Applications symlink
107
+ create-dmg \
108
+ --volname "MyApp" \
109
+ --volicon "icon.icns" \
110
+ --background "dmg-background.png" \
111
+ --window-pos 200 120 \
112
+ --window-size 600 400 \
113
+ --icon-size 100 \
114
+ --icon "MyApp.app" 150 190 \
115
+ --app-drop-link 450 190 \
116
+ --hide-extension "MyApp.app" \
117
+ "MyApp-1.0.0.dmg" \
118
+ "build/MyApp.app"
119
+ ```
120
+
121
+ ### Windows: MSI / MSIX
122
+
123
+ | Format | Tooling | Features |
124
+ |--------|---------|----------|
125
+ | MSI | WiX Toolset | Traditional installer, IT-friendly, Group Policy deployment |
126
+ | MSIX | MSIX Packaging Tool | Modern, sandboxed, auto-update via App Installer |
127
+ | NSIS | NSIS compiler | Highly customizable, traditional .exe installer |
128
+ | Squirrel.Windows | electron-winstaller | No UAC prompt, per-user install, delta updates |
129
+
130
+ ```typescript
131
+ // electron-builder configuration for Windows
132
+ // electron-builder.yml
133
+ win:
134
+ target:
135
+ - target: nsis
136
+ arch: [x64, arm64]
137
+ sign: true
138
+ signingHashAlgorithms: [sha256]
139
+ certificateFile: ${env.WIN_CERT_FILE}
140
+ certificatePassword: ${env.WIN_CERT_PASSWORD}
141
+
142
+ nsis:
143
+ oneClick: false
144
+ allowToChangeInstallationDirectory: true
145
+ createDesktopShortcut: true
146
+ createStartMenuShortcut: true
147
+ installerIcon: build/icon.ico
148
+ uninstallerIcon: build/icon.ico
149
+ ```
150
+
151
+ ### Linux: AppImage, deb, rpm, snap, Flatpak
152
+
153
+ | Format | Distribution | Auto-update | Sandboxed |
154
+ |--------|-------------|-------------|-----------|
155
+ | AppImage | Direct download, no install | Via AppImageUpdate | No |
156
+ | .deb | Debian/Ubuntu repos, PPA | Via apt | No |
157
+ | .rpm | Fedora/RHEL repos, COPR | Via dnf/yum | No |
158
+ | Snap | Snap Store | Automatic | Yes |
159
+ | Flatpak | Flathub | Automatic | Yes |
160
+
161
+ ```yaml
162
+ # electron-builder.yml - Linux targets
163
+ linux:
164
+ target:
165
+ - target: AppImage
166
+ arch: [x64, arm64]
167
+ - target: deb
168
+ arch: [x64, arm64]
169
+ - target: rpm
170
+ arch: [x64]
171
+ - target: snap
172
+ arch: [x64]
173
+ category: Utility
174
+ icon: build/icons
175
+ desktop:
176
+ StartupWMClass: my-app
177
+ ```
178
+
179
+ ## Auto-Update Mechanisms
180
+
181
+ ### Electron: electron-updater
182
+
183
+ ```typescript
184
+ // Main process - auto-update setup
185
+ import { autoUpdater } from 'electron-updater';
186
+ import log from 'electron-log';
187
+
188
+ autoUpdater.logger = log;
189
+ autoUpdater.autoDownload = false; // Let user decide
190
+
191
+ autoUpdater.on('update-available', (info) => {
192
+ // Notify renderer to show update UI
193
+ mainWindow.webContents.send('update-available', {
194
+ version: info.version,
195
+ releaseNotes: info.releaseNotes,
196
+ releaseDate: info.releaseDate,
197
+ });
198
+ });
199
+
200
+ autoUpdater.on('download-progress', (progress) => {
201
+ mainWindow.webContents.send('update-progress', {
202
+ percent: progress.percent,
203
+ bytesPerSecond: progress.bytesPerSecond,
204
+ transferred: progress.transferred,
205
+ total: progress.total,
206
+ });
207
+ });
208
+
209
+ autoUpdater.on('update-downloaded', () => {
210
+ mainWindow.webContents.send('update-downloaded');
211
+ });
212
+
213
+ // Check for updates periodically
214
+ setInterval(() => {
215
+ autoUpdater.checkForUpdates();
216
+ }, 4 * 60 * 60 * 1000); // Every 4 hours
217
+
218
+ // IPC handler for user-initiated install
219
+ ipcMain.handle('install-update', () => {
220
+ autoUpdater.quitAndInstall(false, true);
221
+ });
222
+ ```
223
+
224
+ ### Tauri: Built-in Updater
225
+
226
+ ```rust
227
+ // tauri.conf.json
228
+ {
229
+ "tauri": {
230
+ "updater": {
231
+ "active": true,
232
+ "dialog": true,
233
+ "endpoints": [
234
+ "https://releases.example.com/{{target}}/{{arch}}/{{current_version}}"
235
+ ],
236
+ "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ..."
237
+ }
238
+ }
239
+ }
240
+ ```
241
+
242
+ ```json
243
+ // Server response format for Tauri updater
244
+ {
245
+ "version": "1.2.0",
246
+ "notes": "Bug fixes and performance improvements",
247
+ "pub_date": "2026-02-16T00:00:00Z",
248
+ "platforms": {
249
+ "darwin-x86_64": {
250
+ "signature": "base64-signature",
251
+ "url": "https://releases.example.com/MyApp-1.2.0-x86_64.app.tar.gz"
252
+ },
253
+ "darwin-aarch64": {
254
+ "signature": "base64-signature",
255
+ "url": "https://releases.example.com/MyApp-1.2.0-aarch64.app.tar.gz"
256
+ },
257
+ "linux-x86_64": {
258
+ "signature": "base64-signature",
259
+ "url": "https://releases.example.com/MyApp-1.2.0-x86_64.AppImage.tar.gz"
260
+ },
261
+ "windows-x86_64": {
262
+ "signature": "base64-signature",
263
+ "url": "https://releases.example.com/MyApp-1.2.0-x64-setup.nsis.zip"
264
+ }
265
+ }
266
+ }
267
+ ```
268
+
269
+ ### macOS: Sparkle
270
+
271
+ ```swift
272
+ // Sparkle integration for non-Electron macOS apps
273
+ import Sparkle
274
+
275
+ let updaterController = SPUStandardUpdaterController(
276
+ startingUpdater: true,
277
+ updaterDelegate: nil,
278
+ userDriverDelegate: nil
279
+ )
280
+
281
+ // Appcast.xml hosted at a stable URL
282
+ // Sparkle checks this XML for new versions
283
+ ```
284
+
285
+ ## Delta Updates
286
+
287
+ Full downloads for every update waste bandwidth. Delta updates send only the changed bytes.
288
+
289
+ | Tool | Delta Support | Platform |
290
+ |------|--------------|----------|
291
+ | electron-updater | Yes (blockmap-based) | All |
292
+ | Tauri updater | No (full replacement) | All |
293
+ | Sparkle | Yes (binary diff) | macOS |
294
+ | MSIX | Yes (built-in) | Windows |
295
+ | Snap | Yes (built-in) | Linux |
296
+
297
+ ```yaml
298
+ # electron-builder.yml - Enable delta updates
299
+ publish:
300
+ provider: github
301
+ releaseType: release
302
+
303
+ # electron-builder automatically generates .blockmap files
304
+ # for NSIS and DMG targets, enabling differential downloads
305
+ ```
306
+
307
+ ## Rollback Strategies
308
+
309
+ | Strategy | Implementation |
310
+ |----------|---------------|
311
+ | Keep previous version | Installer preserves previous version in backup directory |
312
+ | Version pinning | Users can pin to a specific version via settings |
313
+ | Server-side rollback | Update server returns previous version as "latest" |
314
+ | Staged rollout | Roll out to 5% first, expand if crash-free rate is stable |
315
+
316
+ ```typescript
317
+ // Simple rollback: keep previous version
318
+ import { app } from 'electron';
319
+ import fs from 'fs';
320
+ import path from 'path';
321
+
322
+ const BACKUP_DIR = path.join(app.getPath('userData'), 'previous-version');
323
+
324
+ autoUpdater.on('before-quit-for-update', () => {
325
+ // Save current version info for potential rollback
326
+ const currentInfo = {
327
+ version: app.getVersion(),
328
+ path: app.getAppPath(),
329
+ timestamp: Date.now(),
330
+ };
331
+ fs.writeFileSync(
332
+ path.join(BACKUP_DIR, 'rollback-info.json'),
333
+ JSON.stringify(currentInfo)
334
+ );
335
+ });
336
+ ```
337
+
338
+ ## CI/CD for Desktop Builds
339
+
340
+ ```yaml
341
+ # GitHub Actions - Cross-platform desktop build
342
+ name: Build Desktop App
343
+
344
+ on:
345
+ push:
346
+ tags: ['v*']
347
+
348
+ jobs:
349
+ build:
350
+ strategy:
351
+ matrix:
352
+ include:
353
+ - os: macos-latest
354
+ platform: mac
355
+ - os: windows-latest
356
+ platform: win
357
+ - os: ubuntu-latest
358
+ platform: linux
359
+
360
+ runs-on: ${{ matrix.os }}
361
+
362
+ steps:
363
+ - uses: actions/checkout@v4
364
+
365
+ - uses: actions/setup-node@v4
366
+ with:
367
+ node-version: 20
368
+
369
+ - run: npm ci
370
+
371
+ # macOS: import signing certificate
372
+ - name: Import macOS certs
373
+ if: matrix.platform == 'mac'
374
+ uses: apple-actions/import-codesign-certs@v2
375
+ with:
376
+ p12-file-base64: ${{ secrets.MAC_CERTS_P12 }}
377
+ p12-password: ${{ secrets.MAC_CERTS_PASSWORD }}
378
+
379
+ # Build and publish
380
+ - name: Build
381
+ run: npx electron-builder --${{ matrix.platform }} --publish always
382
+ env:
383
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
384
+ APPLE_ID: ${{ secrets.APPLE_ID }}
385
+ APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
386
+ APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
387
+ WIN_CSC_LINK: ${{ secrets.WIN_CSC_LINK }}
388
+ WIN_CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }}
389
+ ```
390
+
391
+ ## Distribution Channels
392
+
393
+ | Channel | Pros | Cons |
394
+ |---------|------|------|
395
+ | **Direct download** (website) | Full control, no revenue share | No auto-discovery, manual updates unless built-in |
396
+ | **GitHub Releases** | Free hosting, electron-updater integration | Requires GitHub account to star/watch |
397
+ | **Mac App Store** | Discovery, trusted, sandboxed | 30% cut, sandbox restrictions, review delays |
398
+ | **Microsoft Store** | Discovery, MSIX auto-update | 15% cut (reduced from 30%), limited API access |
399
+ | **Snap Store** | Ubuntu default, auto-update | Snap confinement can break some apps |
400
+ | **Flathub** | Cross-distro, sandboxed, auto-update | Flatpak runtime overhead |
401
+ | **Homebrew Cask** | Developer-friendly install | macOS only, requires formula maintenance |
402
+ | **winget** | Windows CLI install | Requires manifest in winget-pkgs repo |
403
+
404
+ ## Output Checklist
405
+
406
+ - [ ] Code signed for all target platforms
407
+ - [ ] macOS app notarized and stapled
408
+ - [ ] Windows installer signed with timestamp
409
+ - [ ] Installers created for each platform (DMG, NSIS/MSIX, AppImage/deb)
410
+ - [ ] Auto-update mechanism configured and tested
411
+ - [ ] Delta updates enabled where supported
412
+ - [ ] Rollback strategy defined
413
+ - [ ] CI/CD pipeline builds all platforms on tag push
414
+ - [ ] Distribution channel selected and configured
415
+ - [ ] Update server or GitHub Releases configured for serving updates
416
+ - [ ] Crash monitoring active for post-update verification