antigravity-ide 4.2.1 → 4.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/.agent/.shared/{design-philosophy → core/design-philosophy}/README.md +12 -1
  2. package/.agent/.shared/{ai-master → technical/ai-master}/README.md +12 -1
  3. package/.agent/.shared/{api-standards → technical/api-standards}/README.md +12 -1
  4. package/.agent/.shared/{database-master → technical/database-master}/README.md +12 -2
  5. package/.agent/.shared/{seo-master → technical/seo-master}/README.md +12 -1
  6. package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/README.md +12 -1
  7. package/.agent/ARCHITECTURE.md +16 -10
  8. package/.agent/ARCHITECTURE.vi.md +8 -8
  9. package/{GEMINI.md → .agent/GEMINI.md} +4 -5
  10. package/.agent/RESOURCES.md +6 -1
  11. package/.agent/agents/backend-specialist.md +154 -19
  12. package/.agent/agents/browser-subagent.md +45 -0
  13. package/.agent/agents/cloud-architect.md +108 -189
  14. package/.agent/agents/debugger.md +83 -182
  15. package/.agent/agents/documentation-writer.md +125 -72
  16. package/.agent/agents/frontend-specialist.md +40 -7
  17. package/.agent/agents/game-developer.md +111 -116
  18. package/.agent/agents/mobile-developer.md +108 -321
  19. package/.agent/agents/orchestrator.md +106 -366
  20. package/.agent/agents/performance-optimizer.md +105 -136
  21. package/.agent/agents/project-planner.md +132 -39
  22. package/.agent/agents/quality-inspector.md +136 -32
  23. package/.agent/agents/security-auditor.md +138 -15
  24. package/.agent/agents/seo-specialist.md +118 -72
  25. package/.agent/agents/test-engineer.md +142 -11
  26. package/.agent/brain/task.md +16 -0
  27. package/.agent/rules/GEMINI.md +63 -31
  28. package/.agent/rules/code-quality.md +34 -3
  29. package/.agent/rules/frontend.md +3 -3
  30. package/.agent/rules/strict-protocol.md +44 -3
  31. package/.agent/rules/system-update.md +56 -3
  32. package/.agent/skills/agent-backend-patterns/SKILL.md +16 -3
  33. package/.agent/skills/ai-engineer/SKILL.md +29 -16
  34. package/.agent/skills/api-documenter/SKILL.md +4 -4
  35. package/.agent/skills/app-builder/SKILL.md +1 -1
  36. package/.agent/skills/app-builder/tech-stack.md +2 -2
  37. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +39 -79
  38. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +53 -75
  39. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +56 -119
  40. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +61 -94
  41. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +56 -82
  42. package/.agent/skills/brand-guidelines-anthropic/LICENSE.txt +202 -0
  43. package/.agent/skills/brand-guidelines-anthropic/SKILL.md +26 -0
  44. package/.agent/skills/brand-guidelines-anthropic/sub-skills/color-application.md +5 -0
  45. package/.agent/skills/brand-guidelines-anthropic/sub-skills/colors.md +14 -0
  46. package/.agent/skills/brand-guidelines-anthropic/sub-skills/font-management.md +6 -0
  47. package/.agent/skills/brand-guidelines-anthropic/sub-skills/shape-and-accent-colors.md +7 -0
  48. package/.agent/skills/brand-guidelines-anthropic/sub-skills/smart-font-application.md +6 -0
  49. package/.agent/skills/brand-guidelines-anthropic/sub-skills/text-styling.md +6 -0
  50. package/.agent/skills/brand-guidelines-anthropic/sub-skills/typography.md +7 -0
  51. package/.agent/skills/cloud-architect-master/SKILL.md +9 -4
  52. package/.agent/skills/cro-expert-kit/SKILL.md +9 -4
  53. package/.agent/skills/database-migration/SKILL.md +9 -3
  54. package/.agent/skills/deployment-engineer/SKILL.md +9 -3
  55. package/.agent/skills/frontend-design/ux-psychology.md +10 -585
  56. package/.agent/skills/full-stack-scaffold/SKILL.md +4 -4
  57. package/.agent/skills/game-development/2d-games/SKILL.md +4 -2
  58. package/.agent/skills/game-development/3d-games/SKILL.md +4 -2
  59. package/.agent/skills/game-development/SKILL.md +18 -149
  60. package/.agent/skills/game-development/game-art/SKILL.md +4 -2
  61. package/.agent/skills/game-development/game-audio/SKILL.md +4 -2
  62. package/.agent/skills/game-development/game-design/SKILL.md +4 -2
  63. package/.agent/skills/game-development/mobile-games/SKILL.md +4 -2
  64. package/.agent/skills/game-development/multiplayer/SKILL.md +4 -2
  65. package/.agent/skills/game-development/pc-games/SKILL.md +4 -2
  66. package/.agent/skills/game-development/vr-ar/SKILL.md +4 -2
  67. package/.agent/skills/game-development/web-games/SKILL.md +4 -2
  68. package/.agent/skills/geo-fundamentals/SKILL.md +9 -136
  69. package/.agent/skills/git-collaboration-master/SKILL.md +9 -4
  70. package/.agent/skills/i18n-localization/SKILL.md +10 -118
  71. package/.agent/skills/incident-responder/SKILL.md +9 -6
  72. package/.agent/skills/internal-comms-anthropic/LICENSE.txt +202 -0
  73. package/.agent/skills/internal-comms-anthropic/SKILL.md +33 -0
  74. package/.agent/skills/internal-comms-anthropic/examples/3p-updates.md +47 -0
  75. package/.agent/skills/internal-comms-anthropic/examples/company-newsletter.md +65 -0
  76. package/.agent/skills/internal-comms-anthropic/examples/faq-answers.md +30 -0
  77. package/.agent/skills/internal-comms-anthropic/examples/general-comms.md +16 -0
  78. package/.agent/skills/last30days/tests/__init__.py +1 -0
  79. package/.agent/skills/last30days/tests/test_cache.py +59 -0
  80. package/.agent/skills/last30days/tests/test_dates.py +114 -0
  81. package/.agent/skills/last30days/tests/test_dedupe.py +111 -0
  82. package/.agent/skills/last30days/tests/test_models.py +135 -0
  83. package/.agent/skills/last30days/tests/test_normalize.py +138 -0
  84. package/.agent/skills/last30days/tests/test_render.py +116 -0
  85. package/.agent/skills/last30days/tests/test_score.py +168 -0
  86. package/.agent/skills/legacy-modernizer/SKILL.md +9 -4
  87. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +2 -14
  88. package/.agent/skills/loki-mode/.github/workflows/claude-code-review.yml +57 -0
  89. package/.agent/skills/loki-mode/.github/workflows/claude.yml +50 -0
  90. package/.agent/skills/loki-mode/.github/workflows/release.yml +128 -0
  91. package/.agent/skills/loki-mode/tests/run-all-tests.sh +78 -0
  92. package/.agent/skills/loki-mode/tests/test-agent-timeout.sh +348 -0
  93. package/.agent/skills/loki-mode/tests/test-bootstrap.sh +196 -0
  94. package/.agent/skills/loki-mode/tests/test-circuit-breaker.sh +389 -0
  95. package/.agent/skills/loki-mode/tests/test-state-recovery.sh +393 -0
  96. package/.agent/skills/loki-mode/tests/test-task-queue.sh +396 -0
  97. package/.agent/skills/loki-mode/tests/test-wrapper.sh +314 -0
  98. package/.agent/skills/mcp-builder/SKILL.md +21 -164
  99. package/.agent/skills/mobile-design/SKILL.md +21 -369
  100. package/.agent/skills/mobile-design/mobile-performance.md +1 -1
  101. package/.agent/skills/modern-web-architect/SKILL.md +12 -6
  102. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +1 -1
  103. package/.agent/skills/penetration-tester-master/SKILL.md +9 -4
  104. package/.agent/skills/performance-engineer/SKILL.md +4 -5
  105. package/.agent/skills/production-code-audit/SKILL.md +6 -0
  106. package/.agent/skills/rust-pro/SKILL.md +0 -177
  107. package/.agent/skills/security-auditor/SKILL.md +35 -27
  108. package/.agent/skills/seo-expert-kit/SKILL.md +9 -4
  109. package/.agent/skills/shopify-development/scripts/tests/test_shopify_init.py +379 -0
  110. package/.agent/skills/tdd-master-workflow/SKILL.md +9 -3
  111. package/.agent/workflows/audit.md +30 -16
  112. package/.agent/workflows/brainstorm.md +33 -96
  113. package/.agent/workflows/create.md +37 -45
  114. package/.agent/workflows/debug.md +45 -84
  115. package/.agent/workflows/deploy.md +33 -158
  116. package/.agent/workflows/document.md +38 -15
  117. package/.agent/workflows/enhance.md +33 -48
  118. package/.agent/workflows/monitor.md +35 -14
  119. package/.agent/workflows/orchestrate.md +33 -218
  120. package/.agent/workflows/plan.md +39 -70
  121. package/.agent/workflows/security.md +35 -14
  122. package/.agent/workflows/seo.md +39 -16
  123. package/.agent/workflows/status.md +33 -72
  124. package/.agent/workflows/test.md +30 -127
  125. package/.agent/workflows/ui-ux-pro-max.md +24 -283
  126. package/LICENSE +22 -8
  127. package/README.md +105 -72
  128. package/README.vi.md +93 -110
  129. package/cli/create.js +275 -413
  130. package/cli/index.js +36 -24
  131. package/cli/lib/auto-update.js +14 -21
  132. package/cli/logic/product-skills.js +58 -0
  133. package/cli/logic/skill-definitions.js +0 -39
  134. package/cli/prompts.js +151 -145
  135. package/cli/skills/browser-subagent-core/SKILL.md +22 -0
  136. package/cli/tools/browser.js +75 -0
  137. package/cli/ui/dashboard.js +48 -0
  138. package/docs/AGENTS_GUIDE.vi.md +39 -45
  139. package/docs/CONTRIBUTING.vi.md +12 -3
  140. package/docs/{GEMINI_GUIDE.md → GEMINI_USAGE.md} +6 -6
  141. package/docs/GLOSSARY.vi.md +49 -30
  142. package/docs/HOW_ANTIGRAVITY_THINKS.vi.md +1 -1
  143. package/docs/OPERATIONAL_FLOW.vi.md +15 -0
  144. package/docs/{PUBLISHING.md → PUBLISHING_GUIDE.md} +31 -3
  145. package/docs/RULES_GUIDE.vi.md +67 -31
  146. package/docs/SHARED_LIBRARY_GUIDE.vi.md +18 -22
  147. package/docs/SKILLS_GUIDE.vi.md +119 -32
  148. package/docs/TROUBLESHOOTING.vi.md +10 -2
  149. package/docs/WORKFLOW_GUIDE.vi.md +57 -9
  150. package/package.json +32 -8
  151. package/setup.js +147 -114
  152. package/.agent/.shared/compliance/README.md +0 -19
  153. package/.agent/.shared/design-system/README.md +0 -18
  154. package/.agent/.shared/domain-blueprints/README.md +0 -18
  155. package/.agent/.shared/dx-toolkit/README.md +0 -19
  156. package/.agent/.shared/i18n-master/README.md +0 -18
  157. package/.agent/.shared/infra-blueprints/README.md +0 -18
  158. package/.agent/.shared/metrics/README.md +0 -17
  159. package/.agent/.shared/resilience-patterns/README.md +0 -19
  160. package/.agent/.shared/security-armor/README.md +0 -25
  161. package/.agent/.shared/testing-master/README.md +0 -20
  162. package/.agent/.shared/vitals-templates/README.md +0 -18
  163. package/.agent/agents/accessibility-expert.md +0 -22
  164. package/.agent/agents/api-architect.md +0 -22
  165. package/.agent/agents/backend-specialist.eco.md +0 -19
  166. package/.agent/agents/backend-specialist.instant.md +0 -19
  167. package/.agent/agents/codebase-expert.md +0 -23
  168. package/.agent/agents/compliance-expert.md +0 -22
  169. package/.agent/agents/data-scientist.md +0 -22
  170. package/.agent/agents/debugger.eco.md +0 -20
  171. package/.agent/agents/debugger.instant.md +0 -20
  172. package/.agent/agents/deep-thinker.ultra.md +0 -23
  173. package/.agent/agents/devex-optimizer.md +0 -22
  174. package/.agent/agents/devops-architect.md +0 -22
  175. package/.agent/agents/frontend-specialist.eco.md +0 -19
  176. package/.agent/agents/frontend-specialist.instant.md +0 -19
  177. package/.agent/agents/growth-engineer.md +0 -22
  178. package/.agent/agents/i18n-specialist.md +0 -21
  179. package/.agent/agents/legacy-modernizer.md +0 -22
  180. package/.agent/agents/microservices-specialist.md +0 -22
  181. package/.agent/agents/motion-designer.md +0 -22
  182. package/.agent/agents/orchestrator.creative.md +0 -28
  183. package/.agent/agents/orchestrator.eco.md +0 -29
  184. package/.agent/agents/orchestrator.instant.md +0 -29
  185. package/.agent/agents/orchestrator.ultra.md +0 -28
  186. package/.agent/agents/performance-benchmarker.md +0 -22
  187. package/.agent/agents/project-planner.eco.md +0 -19
  188. package/.agent/agents/project-planner.instant.md +0 -19
  189. package/.agent/agents/security-pentester.md +0 -22
  190. package/.agent/agents/serverless-expert.md +0 -22
  191. package/.agent/fastcode_index.json +0 -1038
  192. package/.agent/mcp_config.json +0 -24
  193. package/.agent/rules/GEMINI.eco.md +0 -37
  194. package/.agent/rules/GEMINI.instant.md +0 -37
  195. package/.agent/rules/api-spec.md +0 -28
  196. package/.agent/rules/database.md +0 -24
  197. package/.agent/rules/devops.md +0 -23
  198. package/.agent/rules/growth-strategy.md +0 -22
  199. package/.agent/rules/logging-monitoring.md +0 -22
  200. package/.agent/rules/quality-assurance.md +0 -22
  201. package/.agent/rules/system-reasoning.md +0 -20
  202. package/.agent/rules/ui-design.md +0 -23
  203. package/.agent/rules/ux-patterns.md +0 -23
  204. package/.agent/scripts/auto_preview.py +0 -148
  205. package/.agent/scripts/checklist.py +0 -252
  206. package/.agent/scripts/session_manager.py +0 -120
  207. package/.agent/scripts/simulation_install.js +0 -59
  208. package/.agent/scripts/sync_to_global.py +0 -78
  209. package/.agent/scripts/translate_workflows.py +0 -53
  210. package/.agent/scripts/verify_all.py +0 -327
  211. package/.agent/scripts/verify_shared_modules.js +0 -126
  212. package/.agent/skills/fastcode-search/SKILL.md +0 -46
  213. package/.agent/skills/fastcode-search/fastcode_config.example.json +0 -17
  214. package/.agent/skills/frontend-trends-2026/SKILL.md +0 -78
  215. package/.agent/skills/frontend-trends-2026/formulas/BentoGrid.tsx +0 -42
  216. package/.agent/skills/frontend-trends-2026/formulas/LiquidCard.tsx +0 -32
  217. package/.agent/skills/frontend-trends-2026/formulas/NeoButton.tsx +0 -27
  218. package/.agent/workflows/deep-security-audit.md +0 -9
  219. package/.agent/workflows/growth-max.md +0 -9
  220. package/.agent/workflows/performance-max.md +0 -9
  221. package/.editorconfig +0 -21
  222. package/.gitattributes +0 -7
  223. package/CHANGELOG.md +0 -32
  224. package/ERRORS.md +0 -67
  225. package/action.yml +0 -32
  226. package/antigravity-ide-logo.png +0 -0
  227. package/antigravity-ide-logo.svg +0 -24
  228. package/assets/skills-bundle.json +0 -1
  229. package/cli/manifest.js +0 -524
  230. package/cli/skills/fastcode.js +0 -181
  231. package/docs/AGENT_FLOW.md +0 -608
  232. package/docs/CONTRIBUTING.md +0 -46
  233. package/docs/COPYRIGHT.md +0 -57
  234. package/docs/DEPLOYMENT.md +0 -77
  235. package/docs/GLOSSARY.md +0 -109
  236. package/docs/MASTER_GUIDE.md +0 -103
  237. package/docs/OPERATIONAL_FLOW.md +0 -147
  238. package/docs/PLAN-upgrade-core-architecture.md +0 -71
  239. package/docs/SKILLS.md +0 -610
  240. package/docs/TROUBLESHOOTING.md +0 -43
  241. package/jest.config.js +0 -8
  242. package/scripts/bump.js +0 -93
  243. package/scripts/bundle-skills.js +0 -59
  244. package/scripts/internal/automation/auto-release.js +0 -177
  245. package/scripts/internal/fractalize-skills.js +0 -89
  246. package/scripts/internal/generate-skill-definitions.js +0 -134
  247. package/scripts/internal/internal/update-docs.js +0 -115
  248. package/scripts/internal/refactor-skill-content.js +0 -127
  249. package/scripts/internal/rename-skills.js +0 -96
  250. package/scripts/internal/sync-skills.js +0 -112
  251. package/scripts/internal/update-frontmatter-names.js +0 -99
  252. package/scripts/internal/verification/audit-dna.js +0 -56
  253. package/scripts/internal/verification/audit-skills.js +0 -65
  254. package/web/src/app/docs/guide/examples/brainstorm/page.mdx +0 -91
  255. package/web/src/app/docs/guide/examples/create/page.mdx +0 -84
  256. package/web/src/app/docs/guide/examples/debugging/page.mdx +0 -83
  257. package/web/src/app/docs/guide/examples/deployment/page.mdx +0 -93
  258. package/web/src/app/docs/guide/examples/new-feature/page.mdx +0 -102
  259. package/web/src/app/docs/guide/examples/orchestration/page.mdx +0 -99
  260. package/web/src/app/docs/guide/examples/plan/page.mdx +0 -76
  261. package/web/src/app/docs/guide/examples/preview/page.mdx +0 -77
  262. package/web/src/app/docs/guide/examples/status/page.mdx +0 -78
  263. package/web/src/app/docs/guide/examples/test/page.mdx +0 -80
  264. package/web/src/app/docs/guide/examples/ui-design/page.mdx +0 -90
  265. package/web/src/components/mdx/Callout.tsx +0 -60
  266. package/web/src/components/mdx/FeatureGrid.tsx +0 -38
  267. package/web/src/components/mdx/ProTips.tsx +0 -29
  268. package/web/src/components/mdx/StepList.tsx +0 -33
  269. package/web/src/components/mdx/Terminal.tsx +0 -58
  270. package/web/src/components/mdx/index.ts +0 -5
  271. package/web/src/mdx-components.tsx +0 -98
  272. /package/.agent/.shared/{design-philosophy → core/design-philosophy}/MANIFESTO.md +0 -0
  273. /package/.agent/.shared/{design-philosophy → core/design-philosophy}/checklists/tactile_audit.md +0 -0
  274. /package/.agent/.shared/{design-philosophy → core/design-philosophy}/checklists/visual_audit.md +0 -0
  275. /package/.agent/.shared/{design-philosophy → core/design-philosophy}/presets/linear_glow.json +0 -0
  276. /package/.agent/.shared/{dx-toolkit → core/dx-toolkit}/checklists/code_review.md +0 -0
  277. /package/.agent/.shared/{dx-toolkit → core/dx-toolkit}/presets/vscode_settings.json +0 -0
  278. /package/.agent/.shared/{metrics → core/metrics}/benchmarks.json +0 -0
  279. /package/.agent/.shared/{vitals-templates → core/vitals-templates}/audit_report.md +0 -0
  280. /package/.agent/.shared/{vitals-templates → core/vitals-templates}/plan_prd.md +0 -0
  281. /package/.agent/.shared/{ai-master → technical/ai-master}/best_patterns.md +0 -0
  282. /package/.agent/.shared/{ai-master → technical/ai-master}/checklists/prompt_audit.md +0 -0
  283. /package/.agent/.shared/{ai-master → technical/ai-master}/presets/model_configs.json +0 -0
  284. /package/.agent/.shared/{api-standards → technical/api-standards}/data +0 -0
  285. /package/.agent/.shared/{api-standards → technical/api-standards}/endpoints_naming.md +0 -0
  286. /package/.agent/.shared/{api-standards → technical/api-standards}/error_codes.csv +0 -0
  287. /package/.agent/.shared/{api-standards → technical/api-standards}/pagination_sorting.md +0 -0
  288. /package/.agent/.shared/{api-standards → technical/api-standards}/response_format.json +0 -0
  289. /package/.agent/.shared/{database-master → technical/database-master}/schemas/auth_rbac.sql +0 -0
  290. /package/.agent/.shared/{database-master → technical/database-master}/schemas/cms.sql +0 -0
  291. /package/.agent/.shared/{database-master → technical/database-master}/schemas/ecommerce.sql +0 -0
  292. /package/.agent/.shared/{design-system → technical/design-system}/brand_presets.json +0 -0
  293. /package/.agent/.shared/{design-system → technical/design-system}/micro_interactions.md +0 -0
  294. /package/.agent/.shared/{i18n-master → technical/i18n-master}/vi_tech_dictionary.csv +0 -0
  295. /package/.agent/.shared/{i18n-master → technical/i18n-master}/workflows.json +0 -0
  296. /package/.agent/.shared/{resilience-patterns → technical/resilience-patterns}/checklists/chaos_engineering.md +0 -0
  297. /package/.agent/.shared/{resilience-patterns → technical/resilience-patterns}/presets/circuit_breaker.json +0 -0
  298. /package/.agent/.shared/{security-armor → technical/security-armor}/checklists/vuln_scan.md +0 -0
  299. /package/.agent/.shared/{security-armor → technical/security-armor}/hardening.md +0 -0
  300. /package/.agent/.shared/{security-armor → technical/security-armor}/presets/helmet_config.json +0 -0
  301. /package/.agent/.shared/{seo-master → technical/seo-master}/checklists/technical_seo.md +0 -0
  302. /package/.agent/.shared/{seo-master → technical/seo-master}/presets/json_ld_schema.json +0 -0
  303. /package/.agent/.shared/{testing-master → technical/testing-master}/checklists/pre_release.md +0 -0
  304. /package/.agent/.shared/{testing-master → technical/testing-master}/scenarios.md +0 -0
  305. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/colors.csv +0 -0
  306. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/icons.csv +0 -0
  307. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/landing.csv +0 -0
  308. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/products.csv +0 -0
  309. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/react-performance.csv +0 -0
  310. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/flutter.csv +0 -0
  311. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/html-tailwind.csv +0 -0
  312. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/jetpack-compose.csv +0 -0
  313. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/nextjs.csv +0 -0
  314. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/nuxt-ui.csv +0 -0
  315. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/nuxtjs.csv +0 -0
  316. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/react-native.csv +0 -0
  317. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/react.csv +0 -0
  318. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/shadcn.csv +0 -0
  319. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/svelte.csv +0 -0
  320. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/swiftui.csv +0 -0
  321. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/stacks/vue.csv +0 -0
  322. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/ux-guidelines.csv +0 -0
  323. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/data/web-interface.csv +0 -0
  324. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/scripts/__pycache__/core.cpython-313.pyc +0 -0
  325. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  326. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/scripts/core.py +0 -0
  327. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/scripts/design_system.py +0 -0
  328. /package/.agent/.shared/{ui-ux-pro-max → technical/ui-ux-pro-max}/scripts/search.py +0 -0
  329. /package/.agent/.shared/{compliance → verticals/compliance}/legal_templates.md +0 -0
  330. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/edtech.md +0 -0
  331. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/fintech.md +0 -0
  332. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/fnb_restaurant.md +0 -0
  333. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/freelance_marketplace.md +0 -0
  334. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/healthcare.md +0 -0
  335. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/hospitality_tourism.md +0 -0
  336. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/logistics.md +0 -0
  337. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/marketing_automation.md +0 -0
  338. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/personal_branding.md +0 -0
  339. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/real_estate.md +0 -0
  340. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/retail_ecommerce.md +0 -0
  341. /package/.agent/.shared/{domain-blueprints → verticals/domain-blueprints}/standard-pro-agents.md +0 -0
  342. /package/.agent/.shared/{infra-blueprints → verticals/infra-blueprints}/deployment_specs.md +0 -0
  343. /package/.agent/skills/ai-engineer/{resources → sub-skills}/ai_infra_stack.md +0 -0
  344. /package/.agent/skills/cloud-architect-master/{resources → sub-skills}/cost_optimization_checklist.md +0 -0
  345. /package/.agent/skills/cro-expert-kit/{resources → sub-skills}/psychological_triggers.md +0 -0
  346. /package/.agent/skills/database-migration/{resources → sub-skills}/zero_downtime_strategy.md +0 -0
  347. /package/.agent/skills/deployment-engineer/{resources → sub-skills}/k8s_best_practices.md +0 -0
  348. /package/.agent/skills/git-collaboration-master/{resources → sub-skills}/pr_template.md +0 -0
  349. /package/.agent/skills/incident-responder/{resources → sub-skills}/incident_severity_levels.md +0 -0
  350. /package/.agent/skills/legacy-modernizer/{resources → sub-skills}/strangler_fig_pattern.md +0 -0
  351. /package/.agent/skills/penetration-tester-master/{resources → sub-skills}/owasp_top_10_2025.md +0 -0
  352. /package/.agent/skills/production-code-audit/{resources → sub-skills}/solid_principles_cheat_sheet.md +0 -0
  353. /package/.agent/skills/seo-expert-kit/{resources → sub-skills}/technical_seo_checklist.md +0 -0
  354. /package/.agent/skills/tdd-master-workflow/{resources → sub-skills}/unit_test_naming_convention.md +0 -0
  355. /package/.agent/{.shared → skills}/ui-ux-pro-max/data/charts.csv +0 -0
  356. /package/.agent/{.shared → skills}/ui-ux-pro-max/data/prompts.csv +0 -0
  357. /package/.agent/{.shared → skills}/ui-ux-pro-max/data/styles.csv +0 -0
  358. /package/.agent/{.shared → skills}/ui-ux-pro-max/data/typography.csv +0 -0
  359. /package/.agent/{.shared → skills}/ui-ux-pro-max/data/ui-reasoning.csv +0 -0
@@ -0,0 +1,393 @@
1
+ #!/bin/bash
2
+ # Test: State Recovery and Checkpoint Functionality
3
+ # Tests checkpoint creation, recovery, and rate limit handling
4
+
5
+ set -uo pipefail
6
+ # Note: Not using -e to allow collecting all test results
7
+
8
+ TEST_DIR=$(mktemp -d)
9
+ PASSED=0
10
+ FAILED=0
11
+
12
+ # Colors
13
+ RED='\033[0;31m'
14
+ GREEN='\033[0;32m'
15
+ YELLOW='\033[1;33m'
16
+ NC='\033[0m'
17
+
18
+ log_pass() { echo -e "${GREEN}[PASS]${NC} $1"; ((PASSED++)); }
19
+ log_fail() { echo -e "${RED}[FAIL]${NC} $1"; ((FAILED++)); }
20
+ log_test() { echo -e "${YELLOW}[TEST]${NC} $1"; }
21
+
22
+ cleanup() {
23
+ rm -rf "$TEST_DIR"
24
+ }
25
+ trap cleanup EXIT
26
+
27
+ cd "$TEST_DIR"
28
+
29
+ echo "========================================"
30
+ echo "Loki Mode State Recovery Tests"
31
+ echo "========================================"
32
+ echo ""
33
+
34
+ # Initialize structure
35
+ mkdir -p .loki/{state/{agents,checkpoints},queue,artifacts/backups}
36
+
37
+ # Create initial state
38
+ cat > .loki/state/orchestrator.json << 'EOF'
39
+ {
40
+ "version": "2.1.0",
41
+ "startupId": "test-session-001",
42
+ "phase": "development",
43
+ "agents": {"active":["eng-backend-01"],"idle":[],"failed":[],"totalSpawned":5},
44
+ "metrics": {"tasksCompleted":10,"tasksFailed":2,"deployments":0},
45
+ "circuitBreakers": {},
46
+ "lastCheckpoint": "",
47
+ "currentRelease": "0.1.0"
48
+ }
49
+ EOF
50
+
51
+ # Create agent state
52
+ cat > .loki/state/agents/eng-backend-01.json << 'EOF'
53
+ {
54
+ "id": "eng-backend-01",
55
+ "status": "active",
56
+ "currentTask": "task-042",
57
+ "tasksCompleted": 8,
58
+ "lastHeartbeat": "2025-01-15T10:30:00Z"
59
+ }
60
+ EOF
61
+
62
+ # Create queue state
63
+ cat > .loki/queue/pending.json << 'EOF'
64
+ {"tasks":[{"id":"task-043","type":"eng-frontend","priority":5}]}
65
+ EOF
66
+ cat > .loki/queue/in-progress.json << 'EOF'
67
+ {"tasks":[{"id":"task-042","type":"eng-backend","claimedBy":"eng-backend-01"}]}
68
+ EOF
69
+
70
+ # Test 1: Create checkpoint
71
+ log_test "Create checkpoint"
72
+ CHECKPOINT_DIR=".loki/state/checkpoints/$(date +%Y%m%d-%H%M%S)"
73
+ mkdir -p "$CHECKPOINT_DIR"
74
+ cp .loki/state/orchestrator.json "$CHECKPOINT_DIR/"
75
+ cp -r .loki/state/agents "$CHECKPOINT_DIR/"
76
+ cp -r .loki/queue "$CHECKPOINT_DIR/"
77
+
78
+ if [ -f "$CHECKPOINT_DIR/orchestrator.json" ] && [ -d "$CHECKPOINT_DIR/agents" ]; then
79
+ log_pass "Checkpoint created at $CHECKPOINT_DIR"
80
+ else
81
+ log_fail "Checkpoint creation failed"
82
+ fi
83
+
84
+ # Test 2: Update lastCheckpoint in state
85
+ log_test "Update lastCheckpoint timestamp"
86
+ python3 << EOF
87
+ import json
88
+ from datetime import datetime
89
+
90
+ with open('.loki/state/orchestrator.json', 'r') as f:
91
+ state = json.load(f)
92
+
93
+ state['lastCheckpoint'] = datetime.utcnow().isoformat() + 'Z'
94
+
95
+ with open('.loki/state/orchestrator.json', 'w') as f:
96
+ json.dump(state, f, indent=2)
97
+
98
+ print("UPDATED")
99
+ EOF
100
+
101
+ has_checkpoint=$(python3 -c "
102
+ import json
103
+ data = json.load(open('.loki/state/orchestrator.json'))
104
+ print('yes' if data.get('lastCheckpoint') else 'no')
105
+ ")
106
+
107
+ if [ "$has_checkpoint" = "yes" ]; then
108
+ log_pass "lastCheckpoint timestamp updated"
109
+ else
110
+ log_fail "lastCheckpoint not set"
111
+ fi
112
+
113
+ # Test 3: Simulate crash and corrupt state
114
+ log_test "Detect corrupted state"
115
+ echo "corrupted{json" > .loki/state/orchestrator.json.corrupted
116
+
117
+ python3 << 'EOF'
118
+ import json
119
+
120
+ def is_valid_state(filepath):
121
+ try:
122
+ with open(filepath, 'r') as f:
123
+ data = json.load(f)
124
+ return isinstance(data, dict) and 'version' in data
125
+ except (json.JSONDecodeError, KeyError):
126
+ return False
127
+
128
+ is_valid = is_valid_state('.loki/state/orchestrator.json.corrupted')
129
+ print("CORRUPTED" if not is_valid else "VALID")
130
+ assert not is_valid, "Should detect corrupted state"
131
+ EOF
132
+
133
+ log_pass "Corrupted state detected"
134
+
135
+ # Test 4: Restore from checkpoint
136
+ log_test "Restore from checkpoint"
137
+ python3 << EOF
138
+ import json
139
+ import os
140
+ import shutil
141
+ from pathlib import Path
142
+
143
+ # Find latest checkpoint
144
+ checkpoints_dir = Path('.loki/state/checkpoints')
145
+ checkpoints = sorted(checkpoints_dir.iterdir(), reverse=True)
146
+
147
+ if checkpoints:
148
+ latest = checkpoints[0]
149
+
150
+ # Restore orchestrator state
151
+ if (latest / 'orchestrator.json').exists():
152
+ shutil.copy(latest / 'orchestrator.json', '.loki/state/orchestrator.json')
153
+
154
+ # Restore agent states
155
+ if (latest / 'agents').exists():
156
+ for agent_file in (latest / 'agents').iterdir():
157
+ shutil.copy(agent_file, f'.loki/state/agents/{agent_file.name}')
158
+
159
+ # Restore queue
160
+ if (latest / 'queue').exists():
161
+ for queue_file in (latest / 'queue').iterdir():
162
+ shutil.copy(queue_file, f'.loki/queue/{queue_file.name}')
163
+
164
+ print(f"RESTORED:{latest.name}")
165
+ else:
166
+ print("NO_CHECKPOINT")
167
+ EOF
168
+
169
+ # Verify restoration
170
+ restored_version=$(python3 -c "
171
+ import json
172
+ data = json.load(open('.loki/state/orchestrator.json'))
173
+ print(data.get('version', 'unknown'))
174
+ ")
175
+
176
+ if [ "$restored_version" = "2.1.0" ]; then
177
+ log_pass "State restored from checkpoint"
178
+ else
179
+ log_fail "State restoration failed (version: $restored_version)"
180
+ fi
181
+
182
+ # Test 5: Orphaned task detection
183
+ log_test "Detect orphaned tasks"
184
+ python3 << 'EOF'
185
+ import json
186
+ from datetime import datetime, timedelta
187
+
188
+ CLAIM_TIMEOUT = 3600 # 1 hour
189
+
190
+ # Create an old claimed task
191
+ old_task = {
192
+ "id": "task-old-001",
193
+ "type": "eng-backend",
194
+ "claimedBy": "dead-agent-99",
195
+ "claimedAt": (datetime.utcnow() - timedelta(hours=2)).isoformat() + 'Z'
196
+ }
197
+
198
+ with open('.loki/queue/in-progress.json', 'r') as f:
199
+ in_progress = json.load(f)
200
+
201
+ in_progress['tasks'].append(old_task)
202
+
203
+ with open('.loki/queue/in-progress.json', 'w') as f:
204
+ json.dump(in_progress, f)
205
+
206
+ def find_orphaned_tasks(in_progress_tasks):
207
+ orphaned = []
208
+ now = datetime.utcnow()
209
+
210
+ for task in in_progress_tasks:
211
+ if task.get('claimedAt'):
212
+ claimed_at = datetime.fromisoformat(task['claimedAt'].replace('Z', '+00:00'))
213
+ age = (now.replace(tzinfo=claimed_at.tzinfo) - claimed_at).total_seconds()
214
+ if age > CLAIM_TIMEOUT:
215
+ orphaned.append(task['id'])
216
+
217
+ return orphaned
218
+
219
+ orphaned = find_orphaned_tasks(in_progress['tasks'])
220
+ print(f"ORPHANED:{len(orphaned)}")
221
+ assert len(orphaned) >= 1, "Should find orphaned task"
222
+ print("VERIFIED")
223
+ EOF
224
+
225
+ log_pass "Orphaned task detection works"
226
+
227
+ # Test 6: Re-queue orphaned tasks
228
+ log_test "Re-queue orphaned tasks"
229
+ python3 << 'EOF'
230
+ import json
231
+ from datetime import datetime, timedelta
232
+
233
+ CLAIM_TIMEOUT = 3600
234
+
235
+ with open('.loki/queue/in-progress.json', 'r') as f:
236
+ in_progress = json.load(f)
237
+
238
+ with open('.loki/queue/pending.json', 'r') as f:
239
+ pending = json.load(f)
240
+
241
+ now = datetime.utcnow()
242
+ requeued = []
243
+
244
+ for task in in_progress['tasks'][:]:
245
+ if task.get('claimedAt'):
246
+ claimed_at = datetime.fromisoformat(task['claimedAt'].replace('Z', '+00:00'))
247
+ age = (now.replace(tzinfo=claimed_at.tzinfo) - claimed_at).total_seconds()
248
+
249
+ if age > CLAIM_TIMEOUT:
250
+ # Re-queue: clear claim and move to pending
251
+ task['claimedBy'] = None
252
+ task['claimedAt'] = None
253
+ task['requeuedAt'] = now.isoformat() + 'Z'
254
+ task['requeueReason'] = 'claim_timeout'
255
+
256
+ pending['tasks'].append(task)
257
+ in_progress['tasks'].remove(task)
258
+ requeued.append(task['id'])
259
+
260
+ with open('.loki/queue/in-progress.json', 'w') as f:
261
+ json.dump(in_progress, f)
262
+
263
+ with open('.loki/queue/pending.json', 'w') as f:
264
+ json.dump(pending, f)
265
+
266
+ print(f"REQUEUED:{len(requeued)}")
267
+ EOF
268
+
269
+ log_pass "Orphaned tasks re-queued"
270
+
271
+ # Test 7: Rate limit backoff simulation
272
+ log_test "Rate limit exponential backoff"
273
+ python3 << 'EOF'
274
+ import time
275
+ import random
276
+
277
+ def calculate_backoff(attempt, base_delay=60, max_delay=3600):
278
+ """Calculate exponential backoff with jitter"""
279
+ delay = min(base_delay * (2 ** attempt), max_delay)
280
+ jitter = random.uniform(0, delay * 0.1)
281
+ return delay + jitter
282
+
283
+ # Test backoff progression
284
+ delays = []
285
+ for attempt in range(5):
286
+ delay = calculate_backoff(attempt)
287
+ delays.append(int(delay))
288
+ print(f"Attempt {attempt}: {delay:.0f}s")
289
+
290
+ # Verify exponential growth
291
+ assert delays[0] >= 60, "Initial delay should be ~60s"
292
+ assert delays[1] >= 120, "Second delay should be ~120s"
293
+ assert delays[2] >= 240, "Third delay should be ~240s"
294
+ assert delays[4] <= 4000, "Should cap at max_delay"
295
+
296
+ print("VERIFIED")
297
+ EOF
298
+
299
+ log_pass "Exponential backoff works"
300
+
301
+ # Test 8: Full system recovery
302
+ log_test "Full system recovery simulation"
303
+ python3 << 'EOF'
304
+ import json
305
+ import os
306
+ from pathlib import Path
307
+ from datetime import datetime, timedelta
308
+
309
+ def recover_system():
310
+ """Full system recovery procedure"""
311
+ recovery_log = []
312
+
313
+ # 1. Check orchestrator state
314
+ try:
315
+ with open('.loki/state/orchestrator.json', 'r') as f:
316
+ state = json.load(f)
317
+ recovery_log.append("Orchestrator state: OK")
318
+ except:
319
+ recovery_log.append("Orchestrator state: RESTORE FROM CHECKPOINT")
320
+ # Would restore here
321
+
322
+ # 2. Check agent states
323
+ agents_dir = Path('.loki/state/agents')
324
+ active_agents = []
325
+ dead_agents = []
326
+
327
+ for agent_file in agents_dir.glob('*.json'):
328
+ with open(agent_file, 'r') as f:
329
+ agent = json.load(f)
330
+
331
+ # Check heartbeat
332
+ if agent.get('lastHeartbeat'):
333
+ hb = datetime.fromisoformat(agent['lastHeartbeat'].replace('Z', '+00:00'))
334
+ age = (datetime.now(hb.tzinfo) - hb).total_seconds()
335
+ if age > 600: # 10 min heartbeat timeout
336
+ dead_agents.append(agent['id'])
337
+ else:
338
+ active_agents.append(agent['id'])
339
+
340
+ recovery_log.append(f"Active agents: {len(active_agents)}")
341
+ recovery_log.append(f"Dead agents: {len(dead_agents)}")
342
+
343
+ # 3. Re-queue tasks from dead agents
344
+ with open('.loki/queue/in-progress.json', 'r') as f:
345
+ in_progress = json.load(f)
346
+
347
+ requeued = 0
348
+ for task in in_progress['tasks'][:]:
349
+ if task.get('claimedBy') in dead_agents:
350
+ task['claimedBy'] = None
351
+ task['claimedAt'] = None
352
+ requeued += 1
353
+
354
+ with open('.loki/queue/in-progress.json', 'w') as f:
355
+ json.dump(in_progress, f)
356
+
357
+ recovery_log.append(f"Re-queued tasks: {requeued}")
358
+
359
+ # 4. Reset circuit breakers if cooldown expired
360
+ if 'circuitBreakers' in state:
361
+ for cb_name, cb in state['circuitBreakers'].items():
362
+ if cb.get('state') == 'open' and cb.get('cooldownUntil'):
363
+ cooldown = datetime.fromisoformat(cb['cooldownUntil'].replace('Z', '+00:00'))
364
+ if datetime.now(cooldown.tzinfo) > cooldown:
365
+ cb['state'] = 'half-open'
366
+ recovery_log.append(f"Circuit breaker {cb_name}: OPEN -> HALF-OPEN")
367
+
368
+ return recovery_log
369
+
370
+ log = recover_system()
371
+ for entry in log:
372
+ print(entry)
373
+
374
+ print("RECOVERY_COMPLETE")
375
+ EOF
376
+
377
+ log_pass "Full system recovery works"
378
+
379
+ echo ""
380
+ echo "========================================"
381
+ echo "Test Summary"
382
+ echo "========================================"
383
+ echo -e "${GREEN}Passed: $PASSED${NC}"
384
+ echo -e "${RED}Failed: $FAILED${NC}"
385
+ echo ""
386
+
387
+ if [ $FAILED -eq 0 ]; then
388
+ echo -e "${GREEN}All tests passed!${NC}"
389
+ exit 0
390
+ else
391
+ echo -e "${RED}Some tests failed!${NC}"
392
+ exit 1
393
+ fi