antigravity-ide 4.2.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/.agent/.shared/{technical/ai-master → ai-master}/README.md +1 -12
  2. package/.agent/.shared/{technical/api-standards → api-standards}/README.md +1 -12
  3. package/.agent/.shared/compliance/README.md +19 -0
  4. package/.agent/.shared/{technical/database-master → database-master}/README.md +2 -12
  5. package/.agent/.shared/{core/design-philosophy → design-philosophy}/README.md +1 -12
  6. package/.agent/.shared/design-system/README.md +18 -0
  7. package/.agent/.shared/domain-blueprints/README.md +18 -0
  8. package/.agent/.shared/dx-toolkit/README.md +19 -0
  9. package/.agent/.shared/i18n-master/README.md +18 -0
  10. package/.agent/.shared/infra-blueprints/README.md +18 -0
  11. package/.agent/.shared/metrics/README.md +17 -0
  12. package/.agent/.shared/resilience-patterns/README.md +19 -0
  13. package/.agent/.shared/security-armor/README.md +25 -0
  14. package/.agent/.shared/{technical/seo-master → seo-master}/README.md +1 -12
  15. package/.agent/.shared/testing-master/README.md +20 -0
  16. package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/README.md +1 -12
  17. package/.agent/.shared/vitals-templates/README.md +18 -0
  18. package/.agent/ARCHITECTURE.md +7 -10
  19. package/.agent/ARCHITECTURE.vi.md +8 -8
  20. package/.agent/RESOURCES.md +1 -0
  21. package/.agent/agents/accessibility-expert.md +22 -0
  22. package/.agent/agents/api-architect.md +22 -0
  23. package/.agent/agents/backend-specialist.eco.md +19 -0
  24. package/.agent/agents/backend-specialist.instant.md +19 -0
  25. package/.agent/agents/backend-specialist.md +19 -154
  26. package/.agent/agents/cloud-architect.md +189 -108
  27. package/.agent/agents/codebase-expert.md +23 -0
  28. package/.agent/agents/compliance-expert.md +22 -0
  29. package/.agent/agents/data-scientist.md +22 -0
  30. package/.agent/agents/debugger.eco.md +20 -0
  31. package/.agent/agents/debugger.instant.md +20 -0
  32. package/.agent/agents/debugger.md +182 -83
  33. package/.agent/agents/deep-thinker.ultra.md +23 -0
  34. package/.agent/agents/devex-optimizer.md +22 -0
  35. package/.agent/agents/devops-architect.md +22 -0
  36. package/.agent/agents/documentation-writer.md +72 -125
  37. package/.agent/agents/frontend-specialist.eco.md +19 -0
  38. package/.agent/agents/frontend-specialist.instant.md +19 -0
  39. package/.agent/agents/frontend-specialist.md +7 -40
  40. package/.agent/agents/game-developer.md +116 -111
  41. package/.agent/agents/growth-engineer.md +22 -0
  42. package/.agent/agents/i18n-specialist.md +21 -0
  43. package/.agent/agents/legacy-modernizer.md +22 -0
  44. package/.agent/agents/microservices-specialist.md +22 -0
  45. package/.agent/agents/mobile-developer.md +321 -108
  46. package/.agent/agents/motion-designer.md +22 -0
  47. package/.agent/agents/orchestrator.creative.md +28 -0
  48. package/.agent/agents/orchestrator.eco.md +29 -0
  49. package/.agent/agents/orchestrator.instant.md +29 -0
  50. package/.agent/agents/orchestrator.md +366 -106
  51. package/.agent/agents/orchestrator.ultra.md +28 -0
  52. package/.agent/agents/performance-benchmarker.md +22 -0
  53. package/.agent/agents/performance-optimizer.md +136 -105
  54. package/.agent/agents/project-planner.eco.md +19 -0
  55. package/.agent/agents/project-planner.instant.md +19 -0
  56. package/.agent/agents/project-planner.md +39 -132
  57. package/.agent/agents/quality-inspector.md +32 -136
  58. package/.agent/agents/security-auditor.md +15 -138
  59. package/.agent/agents/security-pentester.md +22 -0
  60. package/.agent/agents/seo-specialist.md +72 -118
  61. package/.agent/agents/serverless-expert.md +22 -0
  62. package/.agent/agents/test-engineer.md +11 -142
  63. package/.agent/fastcode_index.json +1038 -0
  64. package/.agent/mcp_config.json +24 -0
  65. package/.agent/rules/GEMINI.eco.md +37 -0
  66. package/.agent/rules/GEMINI.instant.md +37 -0
  67. package/.agent/rules/GEMINI.md +31 -62
  68. package/.agent/rules/api-spec.md +28 -0
  69. package/.agent/rules/code-quality.md +3 -34
  70. package/.agent/rules/database.md +24 -0
  71. package/.agent/rules/devops.md +23 -0
  72. package/.agent/rules/frontend.md +3 -3
  73. package/.agent/rules/growth-strategy.md +22 -0
  74. package/.agent/rules/logging-monitoring.md +22 -0
  75. package/.agent/rules/quality-assurance.md +22 -0
  76. package/.agent/rules/strict-protocol.md +3 -44
  77. package/.agent/rules/system-reasoning.md +20 -0
  78. package/.agent/rules/system-update.md +3 -56
  79. package/.agent/rules/ui-design.md +23 -0
  80. package/.agent/rules/ux-patterns.md +23 -0
  81. package/.agent/scripts/auto_preview.py +148 -0
  82. package/.agent/scripts/checklist.py +252 -0
  83. package/.agent/scripts/session_manager.py +120 -0
  84. package/.agent/scripts/simulation_install.js +59 -0
  85. package/.agent/scripts/sync_to_global.py +78 -0
  86. package/.agent/scripts/translate_workflows.py +53 -0
  87. package/.agent/scripts/verify_all.py +327 -0
  88. package/.agent/scripts/verify_shared_modules.js +126 -0
  89. package/.agent/skills/agent-backend-patterns/SKILL.md +6 -13
  90. package/.agent/skills/ai-engineer/SKILL.md +16 -29
  91. package/.agent/skills/api-documenter/SKILL.md +4 -4
  92. package/.agent/skills/app-builder/SKILL.md +1 -1
  93. package/.agent/skills/app-builder/tech-stack.md +2 -2
  94. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +79 -39
  95. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +75 -53
  96. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +119 -56
  97. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +94 -61
  98. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +82 -56
  99. package/.agent/skills/cloud-architect-master/SKILL.md +4 -9
  100. package/.agent/skills/cro-expert-kit/SKILL.md +4 -9
  101. package/.agent/skills/database-migration/SKILL.md +3 -9
  102. package/.agent/skills/deployment-engineer/SKILL.md +3 -9
  103. package/.agent/skills/fastcode-search/SKILL.md +46 -0
  104. package/.agent/skills/fastcode-search/fastcode_config.example.json +17 -0
  105. package/.agent/skills/frontend-design/ux-psychology.md +585 -10
  106. package/.agent/skills/frontend-trends-2026/SKILL.md +78 -0
  107. package/.agent/skills/frontend-trends-2026/formulas/BentoGrid.tsx +42 -0
  108. package/.agent/skills/frontend-trends-2026/formulas/LiquidCard.tsx +32 -0
  109. package/.agent/skills/frontend-trends-2026/formulas/NeoButton.tsx +27 -0
  110. package/.agent/skills/full-stack-scaffold/SKILL.md +4 -4
  111. package/.agent/skills/game-development/2d-games/SKILL.md +2 -4
  112. package/.agent/skills/game-development/3d-games/SKILL.md +2 -4
  113. package/.agent/skills/game-development/SKILL.md +149 -18
  114. package/.agent/skills/game-development/game-art/SKILL.md +2 -4
  115. package/.agent/skills/game-development/game-audio/SKILL.md +2 -4
  116. package/.agent/skills/game-development/game-design/SKILL.md +2 -4
  117. package/.agent/skills/game-development/mobile-games/SKILL.md +2 -4
  118. package/.agent/skills/game-development/multiplayer/SKILL.md +2 -4
  119. package/.agent/skills/game-development/pc-games/SKILL.md +2 -4
  120. package/.agent/skills/game-development/vr-ar/SKILL.md +2 -4
  121. package/.agent/skills/game-development/web-games/SKILL.md +2 -4
  122. package/.agent/skills/geo-fundamentals/SKILL.md +136 -9
  123. package/.agent/skills/git-collaboration-master/SKILL.md +4 -9
  124. package/.agent/skills/i18n-localization/SKILL.md +118 -10
  125. package/.agent/skills/incident-responder/SKILL.md +6 -9
  126. package/.agent/skills/legacy-modernizer/SKILL.md +4 -9
  127. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +14 -2
  128. package/.agent/skills/mcp-builder/SKILL.md +164 -21
  129. package/.agent/skills/mobile-design/SKILL.md +369 -21
  130. package/.agent/skills/mobile-design/mobile-performance.md +1 -1
  131. package/.agent/skills/modern-web-architect/SKILL.md +6 -12
  132. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +1 -1
  133. package/.agent/skills/penetration-tester-master/SKILL.md +4 -9
  134. package/.agent/skills/performance-engineer/SKILL.md +5 -4
  135. package/.agent/skills/production-code-audit/SKILL.md +0 -6
  136. package/.agent/skills/rust-pro/SKILL.md +177 -0
  137. package/.agent/skills/security-auditor/SKILL.md +27 -35
  138. package/.agent/skills/seo-expert-kit/SKILL.md +4 -9
  139. package/.agent/skills/tdd-master-workflow/SKILL.md +3 -9
  140. package/.agent/workflows/audit.md +16 -30
  141. package/.agent/workflows/brainstorm.md +96 -33
  142. package/.agent/workflows/create.md +45 -37
  143. package/.agent/workflows/debug.md +84 -45
  144. package/.agent/workflows/deep-security-audit.md +9 -0
  145. package/.agent/workflows/deploy.md +158 -33
  146. package/.agent/workflows/document.md +15 -38
  147. package/.agent/workflows/enhance.md +48 -33
  148. package/.agent/workflows/growth-max.md +9 -0
  149. package/.agent/workflows/monitor.md +14 -35
  150. package/.agent/workflows/orchestrate.md +218 -31
  151. package/.agent/workflows/performance-max.md +9 -0
  152. package/.agent/workflows/plan.md +70 -39
  153. package/.agent/workflows/security.md +14 -35
  154. package/.agent/workflows/seo.md +16 -39
  155. package/.agent/workflows/status.md +72 -33
  156. package/.agent/workflows/test.md +127 -30
  157. package/.agent/workflows/ui-ux-pro-max.md +283 -24
  158. package/.editorconfig +21 -0
  159. package/.gitattributes +7 -0
  160. package/CHANGELOG.md +32 -0
  161. package/ERRORS.md +67 -0
  162. package/{.agent/GEMINI.md → GEMINI.md} +5 -4
  163. package/LICENSE +8 -22
  164. package/README.md +72 -102
  165. package/README.vi.md +110 -90
  166. package/action.yml +32 -0
  167. package/antigravity-ide-logo.png +0 -0
  168. package/antigravity-ide-logo.svg +24 -0
  169. package/assets/skills-bundle.json +1 -0
  170. package/cli/create.js +413 -275
  171. package/cli/index.js +24 -28
  172. package/cli/lib/auto-update.js +21 -14
  173. package/cli/logic/skill-definitions.js +39 -0
  174. package/cli/manifest.js +524 -0
  175. package/cli/prompts.js +145 -151
  176. package/cli/skills/fastcode.js +181 -0
  177. package/docs/AGENTS_GUIDE.vi.md +45 -38
  178. package/docs/AGENT_FLOW.md +608 -0
  179. package/docs/CONTRIBUTING.md +46 -0
  180. package/docs/CONTRIBUTING.vi.md +3 -12
  181. package/docs/COPYRIGHT.md +57 -0
  182. package/docs/DEPLOYMENT.md +77 -0
  183. package/docs/{GEMINI_USAGE.md → GEMINI_GUIDE.md} +6 -6
  184. package/docs/GLOSSARY.md +109 -0
  185. package/docs/GLOSSARY.vi.md +30 -49
  186. package/docs/HOW_ANTIGRAVITY_THINKS.vi.md +1 -1
  187. package/docs/MASTER_GUIDE.md +103 -0
  188. package/docs/OPERATIONAL_FLOW.md +147 -0
  189. package/docs/OPERATIONAL_FLOW.vi.md +0 -15
  190. package/docs/PLAN-upgrade-core-architecture.md +71 -0
  191. package/docs/{PUBLISHING_GUIDE.md → PUBLISHING.md} +3 -31
  192. package/docs/RULES_GUIDE.vi.md +31 -67
  193. package/docs/SHARED_LIBRARY_GUIDE.vi.md +22 -18
  194. package/docs/SKILLS.md +610 -0
  195. package/docs/SKILLS_GUIDE.vi.md +32 -118
  196. package/docs/TROUBLESHOOTING.md +43 -0
  197. package/docs/TROUBLESHOOTING.vi.md +2 -10
  198. package/docs/WORKFLOW_GUIDE.vi.md +9 -57
  199. package/jest.config.js +8 -0
  200. package/package.json +8 -31
  201. package/scripts/bump.js +93 -0
  202. package/scripts/bundle-skills.js +59 -0
  203. package/scripts/internal/automation/auto-release.js +177 -0
  204. package/scripts/internal/fractalize-skills.js +89 -0
  205. package/scripts/internal/generate-skill-definitions.js +134 -0
  206. package/scripts/internal/internal/update-docs.js +115 -0
  207. package/scripts/internal/refactor-skill-content.js +127 -0
  208. package/scripts/internal/rename-skills.js +96 -0
  209. package/scripts/internal/sync-skills.js +112 -0
  210. package/scripts/internal/update-frontmatter-names.js +99 -0
  211. package/scripts/internal/verification/audit-dna.js +56 -0
  212. package/scripts/internal/verification/audit-skills.js +65 -0
  213. package/setup.js +114 -147
  214. package/web/src/app/docs/guide/examples/brainstorm/page.mdx +91 -0
  215. package/web/src/app/docs/guide/examples/create/page.mdx +84 -0
  216. package/web/src/app/docs/guide/examples/debugging/page.mdx +83 -0
  217. package/web/src/app/docs/guide/examples/deployment/page.mdx +93 -0
  218. package/web/src/app/docs/guide/examples/new-feature/page.mdx +102 -0
  219. package/web/src/app/docs/guide/examples/orchestration/page.mdx +99 -0
  220. package/web/src/app/docs/guide/examples/plan/page.mdx +76 -0
  221. package/web/src/app/docs/guide/examples/preview/page.mdx +77 -0
  222. package/web/src/app/docs/guide/examples/status/page.mdx +78 -0
  223. package/web/src/app/docs/guide/examples/test/page.mdx +80 -0
  224. package/web/src/app/docs/guide/examples/ui-design/page.mdx +90 -0
  225. package/web/src/components/mdx/Callout.tsx +60 -0
  226. package/web/src/components/mdx/FeatureGrid.tsx +38 -0
  227. package/web/src/components/mdx/ProTips.tsx +29 -0
  228. package/web/src/components/mdx/StepList.tsx +33 -0
  229. package/web/src/components/mdx/Terminal.tsx +58 -0
  230. package/web/src/components/mdx/index.ts +5 -0
  231. package/web/src/mdx-components.tsx +98 -0
  232. package/.agent/skills/brand-guidelines-anthropic/LICENSE.txt +0 -202
  233. package/.agent/skills/brand-guidelines-anthropic/SKILL.md +0 -26
  234. package/.agent/skills/brand-guidelines-anthropic/sub-skills/color-application.md +0 -5
  235. package/.agent/skills/brand-guidelines-anthropic/sub-skills/colors.md +0 -14
  236. package/.agent/skills/brand-guidelines-anthropic/sub-skills/font-management.md +0 -6
  237. package/.agent/skills/brand-guidelines-anthropic/sub-skills/shape-and-accent-colors.md +0 -7
  238. package/.agent/skills/brand-guidelines-anthropic/sub-skills/smart-font-application.md +0 -6
  239. package/.agent/skills/brand-guidelines-anthropic/sub-skills/text-styling.md +0 -6
  240. package/.agent/skills/brand-guidelines-anthropic/sub-skills/typography.md +0 -7
  241. package/.agent/skills/internal-comms-anthropic/LICENSE.txt +0 -202
  242. package/.agent/skills/internal-comms-anthropic/SKILL.md +0 -33
  243. package/.agent/skills/internal-comms-anthropic/examples/3p-updates.md +0 -47
  244. package/.agent/skills/internal-comms-anthropic/examples/company-newsletter.md +0 -65
  245. package/.agent/skills/internal-comms-anthropic/examples/faq-answers.md +0 -30
  246. package/.agent/skills/internal-comms-anthropic/examples/general-comms.md +0 -16
  247. package/.agent/skills/last30days/tests/__init__.py +0 -1
  248. package/.agent/skills/last30days/tests/test_cache.py +0 -59
  249. package/.agent/skills/last30days/tests/test_dates.py +0 -114
  250. package/.agent/skills/last30days/tests/test_dedupe.py +0 -111
  251. package/.agent/skills/last30days/tests/test_models.py +0 -135
  252. package/.agent/skills/last30days/tests/test_normalize.py +0 -138
  253. package/.agent/skills/last30days/tests/test_render.py +0 -116
  254. package/.agent/skills/last30days/tests/test_score.py +0 -168
  255. package/.agent/skills/loki-mode/.github/workflows/claude-code-review.yml +0 -57
  256. package/.agent/skills/loki-mode/.github/workflows/claude.yml +0 -50
  257. package/.agent/skills/loki-mode/.github/workflows/release.yml +0 -128
  258. package/.agent/skills/loki-mode/tests/run-all-tests.sh +0 -78
  259. package/.agent/skills/loki-mode/tests/test-agent-timeout.sh +0 -348
  260. package/.agent/skills/loki-mode/tests/test-bootstrap.sh +0 -196
  261. package/.agent/skills/loki-mode/tests/test-circuit-breaker.sh +0 -389
  262. package/.agent/skills/loki-mode/tests/test-state-recovery.sh +0 -393
  263. package/.agent/skills/loki-mode/tests/test-task-queue.sh +0 -396
  264. package/.agent/skills/loki-mode/tests/test-wrapper.sh +0 -314
  265. package/.agent/skills/shopify-development/scripts/tests/test_shopify_init.py +0 -379
  266. package/cli/logic/product-skills.js +0 -58
  267. /package/.agent/.shared/{technical/ai-master → ai-master}/best_patterns.md +0 -0
  268. /package/.agent/.shared/{technical/ai-master → ai-master}/checklists/prompt_audit.md +0 -0
  269. /package/.agent/.shared/{technical/ai-master → ai-master}/presets/model_configs.json +0 -0
  270. /package/.agent/.shared/{technical/api-standards → api-standards}/data +0 -0
  271. /package/.agent/.shared/{technical/api-standards → api-standards}/endpoints_naming.md +0 -0
  272. /package/.agent/.shared/{technical/api-standards → api-standards}/error_codes.csv +0 -0
  273. /package/.agent/.shared/{technical/api-standards → api-standards}/pagination_sorting.md +0 -0
  274. /package/.agent/.shared/{technical/api-standards → api-standards}/response_format.json +0 -0
  275. /package/.agent/.shared/{verticals/compliance → compliance}/legal_templates.md +0 -0
  276. /package/.agent/.shared/{technical/database-master → database-master}/schemas/auth_rbac.sql +0 -0
  277. /package/.agent/.shared/{technical/database-master → database-master}/schemas/cms.sql +0 -0
  278. /package/.agent/.shared/{technical/database-master → database-master}/schemas/ecommerce.sql +0 -0
  279. /package/.agent/.shared/{core/design-philosophy → design-philosophy}/MANIFESTO.md +0 -0
  280. /package/.agent/.shared/{core/design-philosophy → design-philosophy}/checklists/tactile_audit.md +0 -0
  281. /package/.agent/.shared/{core/design-philosophy → design-philosophy}/checklists/visual_audit.md +0 -0
  282. /package/.agent/.shared/{core/design-philosophy → design-philosophy}/presets/linear_glow.json +0 -0
  283. /package/.agent/.shared/{technical/design-system → design-system}/brand_presets.json +0 -0
  284. /package/.agent/.shared/{technical/design-system → design-system}/micro_interactions.md +0 -0
  285. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/edtech.md +0 -0
  286. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/fintech.md +0 -0
  287. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/fnb_restaurant.md +0 -0
  288. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/freelance_marketplace.md +0 -0
  289. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/healthcare.md +0 -0
  290. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/hospitality_tourism.md +0 -0
  291. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/logistics.md +0 -0
  292. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/marketing_automation.md +0 -0
  293. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/personal_branding.md +0 -0
  294. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/real_estate.md +0 -0
  295. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/retail_ecommerce.md +0 -0
  296. /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/standard-pro-agents.md +0 -0
  297. /package/.agent/.shared/{core/dx-toolkit → dx-toolkit}/checklists/code_review.md +0 -0
  298. /package/.agent/.shared/{core/dx-toolkit → dx-toolkit}/presets/vscode_settings.json +0 -0
  299. /package/.agent/.shared/{technical/i18n-master → i18n-master}/vi_tech_dictionary.csv +0 -0
  300. /package/.agent/.shared/{technical/i18n-master → i18n-master}/workflows.json +0 -0
  301. /package/.agent/.shared/{verticals/infra-blueprints → infra-blueprints}/deployment_specs.md +0 -0
  302. /package/.agent/.shared/{core/metrics → metrics}/benchmarks.json +0 -0
  303. /package/.agent/.shared/{technical/resilience-patterns → resilience-patterns}/checklists/chaos_engineering.md +0 -0
  304. /package/.agent/.shared/{technical/resilience-patterns → resilience-patterns}/presets/circuit_breaker.json +0 -0
  305. /package/.agent/.shared/{technical/security-armor → security-armor}/checklists/vuln_scan.md +0 -0
  306. /package/.agent/.shared/{technical/security-armor → security-armor}/hardening.md +0 -0
  307. /package/.agent/.shared/{technical/security-armor → security-armor}/presets/helmet_config.json +0 -0
  308. /package/.agent/.shared/{technical/seo-master → seo-master}/checklists/technical_seo.md +0 -0
  309. /package/.agent/.shared/{technical/seo-master → seo-master}/presets/json_ld_schema.json +0 -0
  310. /package/.agent/.shared/{technical/testing-master → testing-master}/checklists/pre_release.md +0 -0
  311. /package/.agent/.shared/{technical/testing-master → testing-master}/scenarios.md +0 -0
  312. /package/.agent/{skills → .shared}/ui-ux-pro-max/data/charts.csv +0 -0
  313. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/colors.csv +0 -0
  314. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/icons.csv +0 -0
  315. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/landing.csv +0 -0
  316. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/products.csv +0 -0
  317. /package/.agent/{skills → .shared}/ui-ux-pro-max/data/prompts.csv +0 -0
  318. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/react-performance.csv +0 -0
  319. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/flutter.csv +0 -0
  320. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/html-tailwind.csv +0 -0
  321. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/jetpack-compose.csv +0 -0
  322. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nextjs.csv +0 -0
  323. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxt-ui.csv +0 -0
  324. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxtjs.csv +0 -0
  325. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react-native.csv +0 -0
  326. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react.csv +0 -0
  327. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/shadcn.csv +0 -0
  328. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/svelte.csv +0 -0
  329. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/swiftui.csv +0 -0
  330. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/vue.csv +0 -0
  331. /package/.agent/{skills → .shared}/ui-ux-pro-max/data/styles.csv +0 -0
  332. /package/.agent/{skills → .shared}/ui-ux-pro-max/data/typography.csv +0 -0
  333. /package/.agent/{skills → .shared}/ui-ux-pro-max/data/ui-reasoning.csv +0 -0
  334. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/ux-guidelines.csv +0 -0
  335. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/web-interface.csv +0 -0
  336. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/core.cpython-313.pyc +0 -0
  337. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  338. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/core.py +0 -0
  339. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/design_system.py +0 -0
  340. /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/search.py +0 -0
  341. /package/.agent/.shared/{core/vitals-templates → vitals-templates}/audit_report.md +0 -0
  342. /package/.agent/.shared/{core/vitals-templates → vitals-templates}/plan_prd.md +0 -0
  343. /package/.agent/skills/ai-engineer/{sub-skills → resources}/ai_infra_stack.md +0 -0
  344. /package/.agent/skills/cloud-architect-master/{sub-skills → resources}/cost_optimization_checklist.md +0 -0
  345. /package/.agent/skills/cro-expert-kit/{sub-skills → resources}/psychological_triggers.md +0 -0
  346. /package/.agent/skills/database-migration/{sub-skills → resources}/zero_downtime_strategy.md +0 -0
  347. /package/.agent/skills/deployment-engineer/{sub-skills → resources}/k8s_best_practices.md +0 -0
  348. /package/.agent/skills/git-collaboration-master/{sub-skills → resources}/pr_template.md +0 -0
  349. /package/.agent/skills/incident-responder/{sub-skills → resources}/incident_severity_levels.md +0 -0
  350. /package/.agent/skills/legacy-modernizer/{sub-skills → resources}/strangler_fig_pattern.md +0 -0
  351. /package/.agent/skills/penetration-tester-master/{sub-skills → resources}/owasp_top_10_2025.md +0 -0
  352. /package/.agent/skills/production-code-audit/{sub-skills → resources}/solid_principles_cheat_sheet.md +0 -0
  353. /package/.agent/skills/seo-expert-kit/{sub-skills → resources}/technical_seo_checklist.md +0 -0
  354. /package/.agent/skills/tdd-master-workflow/{sub-skills → resources}/unit_test_naming_convention.md +0 -0
@@ -1,393 +0,0 @@
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