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
package/cli/prompts.js CHANGED
@@ -1,28 +1,11 @@
1
+ /**
2
+ * Interactive prompts for project configuration
3
+ */
4
+
1
5
  const prompts = require('prompts');
2
6
  const chalk = require('chalk');
3
7
  const gradient = require('gradient-string');
4
8
  const packageJson = require('../package.json');
5
- const { execSync } = require('child_process');
6
-
7
- // Import Logic Modules
8
- const { skillCategories, getSkillsForCategories } = require('./logic/skill-definitions');
9
- const { getScaleConfig } = require('./logic/scale-rules');
10
- const { getProductConfig } = require('./logic/product-skills');
11
- const { getWorkflows } = require('./logic/workflow-manager');
12
-
13
- function checkPython() {
14
- try {
15
- execSync('python --version', { stdio: 'ignore' });
16
- return true;
17
- } catch (e) {
18
- try {
19
- execSync('python3 --version', { stdio: 'ignore' });
20
- return true;
21
- } catch (e2) {
22
- return false;
23
- }
24
- }
25
- }
26
9
 
27
10
  // Display concise banner with gradient
28
11
  function displayBanner() {
@@ -35,163 +18,174 @@ function displayBanner() {
35
18
  console.log(gradient.pastel.multiline(' / ___ |/ / / / /_/ / /_/ / / / /_/ /| |/ / / /_/ /_/ / '));
36
19
  console.log(gradient.pastel.multiline('/_/ |_/_/ /_/\\__/_/\\____/_/ \\__,_/ |___/_/\\__/\\__, / '));
37
20
  console.log(gradient.pastel.multiline(' /____/ '));
38
- console.log(chalk.gray(` AntiGravity IDE • v${packageJson.version}`));
39
- console.log(chalk.gray(' System Core: 15 Rules • 22 Agents • 573 Skills • 30 Workflows • 2977 Patterns'));
21
+ console.log(chalk.gray(` Google Antigravity • v${packageJson.version}`));
22
+ console.log(chalk.gray(' Developed with 💡 by Dokhacgiakhoa'));
40
23
  console.log(gradient.rainbow('━'.repeat(60)));
41
24
  console.log('');
42
25
  }
43
26
 
44
- async function getProjectConfig(skipPrompts = false, predefinedName = null) {
45
- let responses;
27
+ const skillCategories = {
28
+ webdev: {
29
+ name: 'Web High-Performance',
30
+ skills: [
31
+ 'modern-web-architect',
32
+ 'full-stack-scaffold',
33
+ 'api-documenter',
34
+ 'i18n-localization'
35
+ ]
36
+ },
37
+ mobile: {
38
+ name: 'Mobile & Game',
39
+ skills: [
40
+ 'mobile-design',
41
+ 'game-development',
42
+ 'i18n-localization'
43
+ ]
44
+ },
45
+ devops: {
46
+ name: 'DevOps & Cloud',
47
+ skills: [
48
+ 'cloud-architect-master',
49
+ 'deployment-engineer',
50
+ 'incident-responder',
51
+ 'mcp-builder'
52
+ ]
53
+ },
54
+ security: {
55
+ name: 'Security & Audit',
56
+ skills: [
57
+ 'security-auditor',
58
+ 'penetration-tester-master',
59
+ 'production-code-audit',
60
+ 'vulnerability-scanner'
61
+ ]
62
+ },
63
+ ai: {
64
+ name: 'AI & ML',
65
+ skills: [
66
+ 'ai-engineer',
67
+ 'geo-fundamentals',
68
+ 'prompt-engineer'
69
+ ]
70
+ },
71
+ growth: {
72
+ name: 'Growth & Data',
73
+ skills: [
74
+ 'cro-expert-kit',
75
+ 'seo-expert-kit',
76
+ 'database-migration',
77
+ 'performance-engineer'
78
+ ]
79
+ }
80
+ };
46
81
 
82
+ async function getProjectConfig(skipPrompts = false, predefinedName = null) {
47
83
  if (skipPrompts) {
48
- responses = {
49
- language: 'en',
84
+ return {
50
85
  projectName: predefinedName || 'my-agent-project',
51
- scale: 'creative', // Default to Creative for full experience
52
- productType: 'user_app', // Default
53
- agentName: 'Agent',
54
- industryDomain: 'other'
86
+ language: 'en',
87
+ operationMode: 'standard',
88
+ engineMode: 'standard'
55
89
  };
56
- } else {
57
- // Check Python only if we are going to prompt (UX)
58
- const hasPython = checkPython();
59
- displayBanner();
60
- console.log(chalk.bold.cyan('🚀 Project Setup Wizard\n'));
61
- console.log(chalk.gray('Answer a few questions to configure your AI Agent project...\n'));
90
+ }
62
91
 
63
- responses = await prompts([
64
- {
65
- type: 'select',
66
- name: 'language',
67
- message: 'Select Language / Chọn ngôn ngữ:',
68
- choices: [
69
- { title: '1. English', value: 'en' },
70
- { title: '2. Tiếng Việt', value: 'vi' }
71
- ],
72
- initial: 1
73
- },
74
- {
75
- type: predefinedName ? null : 'text',
76
- name: 'projectName',
77
- message: (prev, values) => values.language === 'vi' ? 'Tên dự án (Project name):' : 'Project name:',
78
- initial: 'my-agent-project',
79
- validate: (value) => {
80
- if (value && !/^[a-z0-9-_]+$/.test(value)) {
81
- return 'Project name can only contain lowercase letters, numbers, hyphens, and underscores';
82
- }
83
- return true;
92
+ // Display beautiful banner
93
+ displayBanner();
94
+
95
+ console.log(chalk.bold.cyan('🚀 Project Setup Wizard\n'));
96
+ console.log(chalk.gray('Answer a few questions to configure your AI Agent project...\n'));
97
+
98
+ const responses = await prompts([
99
+ {
100
+ type: 'select',
101
+ name: 'language',
102
+ message: 'Select Language / Chọn ngôn ngữ:',
103
+ choices: [
104
+ { title: '1. English', value: 'en' },
105
+ { title: '2. Tiếng Việt', value: 'vi' }
106
+ ],
107
+ initial: 1
108
+ },
109
+ {
110
+ type: predefinedName ? null : 'text',
111
+ name: 'projectName',
112
+ message: (prev, values) => values.language === 'vi' ? 'Tên dự án (Project name):' : 'Project name:',
113
+ initial: 'my-agent-project',
114
+ validate: (value) => {
115
+ if (!/^[a-z0-9-_]+$/.test(value)) {
116
+ return 'Project name can only contain lowercase letters, numbers, hyphens, and underscores';
84
117
  }
118
+ return true;
119
+ }
120
+ },
121
+ {
122
+ type: 'select',
123
+ name: 'operationMode',
124
+ message: (prev, values) => {
125
+ const lang = values.language;
126
+ return lang === 'vi'
127
+ ? 'Chọn Chế độ Vận hành (Phụ thuộc vào tài khoản AI của bạn):'
128
+ : 'Select Operation Mode (Based on your AI Account):';
85
129
  },
86
- {
87
- type: 'select',
88
- name: 'scale', // Maps to 'rules'
89
- message: (prev, values) => values.language === 'vi' ? 'Quy mô dự án:' : 'Project Scale:',
90
- choices: (prev, values) => values.language === 'vi' ? [
91
- { title: '🍜 ăn liền (Instant) - MVP, nhanh gọn, tập trung Frontend', value: 'instant' },
92
- { title: '🎨 Sáng tạo (Creative) - Nghiên cứu, Sandbox, Full tính năng', value: 'creative' },
93
- { title: '🏢 SME (Enterprise) - Ổn định, Vận hành, Clean Code', value: 'sme' }
94
- ] : [
95
- { title: '🍜 Instant - MVP, Fast, Frontend Focus', value: 'instant' },
96
- { title: '🎨 Creative - Research, Sandbox, Full Features', value: 'creative' },
97
- { title: '🏢 SME - Stable, Operations, Clean Code', value: 'sme' }
98
- ],
99
- initial: 0
100
- },
101
- {
102
- type: 'select',
103
- name: 'productType',
104
- message: (prev, values) => values.language === 'vi' ? 'Loại sản phẩm (Product Type):' : 'Select Product Type:',
105
- choices: (prev, values) => values.language === 'vi' ? [
106
- { title: '📱 Ứng dụng Người dùng (App/Web/Mobile)', value: 'user_app' },
107
- { title: '🛠️ Công cụ Lập trình (CLI/Library/API)', value: 'dev_tool' },
108
- { title: '🤖 Trợ lý AI (Chatbot/Automation)', value: 'ai_agent' },
109
- { title: '🎨 Tài sản Số (Game/Template/Media)', value: 'digital_asset' }
110
- ] : [
111
- { title: '📱 User Application (App/Web/Mobile/Desktop)', value: 'user_app' },
112
- { title: '🛠️ Developer Tool (CLI/Library/API)', value: 'dev_tool' },
113
- { title: '🤖 AI Agent (Chatbot/Automation)', value: 'ai_agent' },
114
- { title: '🎨 Digital Asset (Game/Template/Media)', value: 'digital_asset' }
115
- ],
116
- initial: 0
130
+ choices: (prev, values) => {
131
+ const lang = values.language;
132
+ return [
133
+ {
134
+ title: lang === 'vi'
135
+ ? '🌿 ECO (Siêu tiết kiệm - Khuyên dùng cho Tài khoản Free)'
136
+ : '🌿 ECO (Economy - Best for Free accounts)',
137
+ value: 'eco'
138
+ },
139
+ {
140
+ title: lang === 'vi'
141
+ ? '🏢 PRO (Chuyên nghiệp - Gemini Pro - Hỗ trợ Plugin mở rộng)'
142
+ : '🏢 PRO (Professional - Gemini Pro - Supports Plugin extensions)',
143
+ value: 'pro'
144
+ },
145
+ {
146
+ title: lang === 'vi'
147
+ ? '🌌 ULTRA (Sáng tạo - Yêu cầu Gemini Ultra)'
148
+ : '🌌 ULTRA (Infinite - Requires Gemini Ultra)',
149
+ value: 'ultra'
150
+ }
151
+ ];
117
152
  },
118
- {
119
- type: 'text',
120
- name: 'agentName',
121
- message: (prev, values) => values.language === 'vi' ? 'Đặt tên cho Agent (VD: Jarvis, Friday):' : 'Name your Agent (e.g., Jarvis, Friday):',
122
- validate: (value) => value.length < 2 ? (process.env.LANG?.includes('vi') ? 'Tên Agent phải có ít nhất 2 ký tự' : 'Name must be at least 2 characters long') : true
123
- }
124
- ], {
125
- onCancel: () => {
126
- console.log(chalk.red('\n✖ Operation cancelled'));
127
- process.exit(0);
128
- }
129
- });
130
-
131
- // Warning for missing Python in Advanced Modes
132
- if (responses.scale !== 'instant' && !hasPython) {
133
- console.log(chalk.yellow(`\n⚠️ Warning: Python is recommended for ${responses.scale.toUpperCase()} mode (AI & Data features).`));
134
- console.log(chalk.gray(' Follow Python installation guide in docs/INSTALL_NPX_GUIDE.vi.md if needed.'));
153
+ initial: 1
135
154
  }
136
- }
137
-
155
+ ], {
156
+ onCancel: () => {
157
+ console.log(chalk.red('\n✖ Operation cancelled'));
158
+ process.exit(0);
159
+ }
160
+ });
161
+
138
162
  // Inject predefined name if it exists (so logic downstream works)
139
163
  if (predefinedName) {
140
164
  responses.projectName = predefinedName;
141
165
  }
142
-
143
- if (!responses.projectName) responses.projectName = 'my-agent-project'; // Fallback
144
-
145
- console.log(`\n${chalk.green('✔')} Setup Complete! Generating Project Plan...`);
146
-
147
- // Default Industry to 'other' (General / All Fields)
148
- responses.industryDomain = 'other';
149
-
150
- // --- LOGIC INTEGRATION START ---
151
-
152
- // 1. Get Scale Configuration (Engine, Rules, Core Skills)
153
- const scaleConfig = getScaleConfig(responses.scale);
154
-
155
- // 2. Get Product Skills
156
- const { skills: productSkills, sharedModules } = getProductConfig(responses.productType);
157
-
158
- // 3. Combine Skills (Core + Product)
159
- const allSkills = new Set([...scaleConfig.coreSkillCategories, ...productSkills]);
160
-
161
- // 4. Get Workflows (combined from Scale and Product/Industry)
162
- const finalWorkflows = getWorkflows(
163
- responses.industryDomain,
164
- responses.productType,
165
- scaleConfig.baseWorkflows
166
- );
167
166
 
168
167
  const settings = {
169
- template: 'standard',
170
- rules: scaleConfig.rulesMode,
171
- workflows: finalWorkflows,
172
- packageManager: 'npm',
173
- engineMode: scaleConfig.engineMode,
174
- productType: responses.productType
168
+ engineMode: responses.operationMode === 'creative' ? 'advanced' : 'standard',
169
+ agentName: 'Antigravity',
170
+ projectScale: responses.operationMode
175
171
  };
176
172
 
177
- // Return configuration
178
- return { ...responses, ...settings, skillCategories: Array.from(allSkills) };
173
+ // Return configuration with presets
174
+ return { ...responses, ...settings, skillCategories: Object.keys(skillCategories) };
179
175
  }
180
176
 
181
-
182
- async function confirmOverwrite(fileName) {
183
- const response = await prompts({
184
- type: 'confirm',
185
- name: 'value',
186
- message: chalk.yellow(`⚠️ File "${fileName}" already exists. Overwrite? / File đã tồn tại. Ghi đè?`),
187
- initial: false
177
+ function getSkillsForCategories(categories) {
178
+ const skills = [];
179
+ categories.forEach(category => {
180
+ if (skillCategories[category]) {
181
+ skills.push(...skillCategories[category].skills);
182
+ }
188
183
  });
189
- return response.value;
184
+ return skills;
190
185
  }
191
186
 
192
187
  module.exports = {
193
188
  getProjectConfig,
194
189
  getSkillsForCategories,
195
- skillCategories,
196
- confirmOverwrite
190
+ skillCategories
197
191
  };
@@ -0,0 +1,181 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * FastCode Native (Node.js)
5
+ *
6
+ * A lightweight, dependency-free codebase search engine for AI Agents.
7
+ * - Indexes symbols (functions, classes, variables)
8
+ * - Performs fuzzy search on file paths and symbols
9
+ * - Outputs JSON for Agent consumption
10
+ */
11
+
12
+ const fs = require('fs');
13
+ const path = require('path');
14
+ const { promisify } = require('util');
15
+
16
+ const readdir = promisify(fs.readdir);
17
+ const readFile = promisify(fs.readFile);
18
+ const stat = promisify(fs.stat);
19
+ const writeFile = promisify(fs.writeFile);
20
+
21
+ // Configuration
22
+ const IGNORE_DIRS = ['.git', 'node_modules', 'dist', 'build', '.next', 'coverage'];
23
+ const IGNORE_FILES = ['package-lock.json', 'yarn.lock', '.DS_Store'];
24
+ const INDEX_FILE = path.join(process.cwd(), '.agent', 'fastcode_index.json');
25
+
26
+ // Symbol Regex Patterns (Simple but effective)
27
+ const PATTERNS = {
28
+ // Frontend (React/JS)
29
+ function: /function\s+([a-zA-Z0-9_$]+)/g,
30
+ class: /class\s+([a-zA-Z0-9_$]+)/g,
31
+ const: /(?:const|let|var)\s+([a-zA-Z0-9_$]+)\s*=/g,
32
+ destruct_array: /(?:const|let|var)\s+\[([^\]]+)\]\s*=/g,
33
+ destruct_obj: /(?:const|let|var)\s+\{([^\}]+)\}\s*=/g,
34
+
35
+ // Backend (Python/Node)
36
+ python_def: /def\s+([a-zA-Z0-9_]+)/g,
37
+ python_class: /class\s+([a-zA-Z0-9_]+)/g,
38
+ python_route: /@(?:app|router)\.(?:get|post|put|delete|patch)\s*\(\s*['"]([^'"]+)['"]\)/g, // Flask/FastAPI routes
39
+ node_route: /(?:app|router)\.(?:get|post|put|delete|patch)\s*\(\s*['"]([^'"]+)['"]/g, // Express routes
40
+
41
+ // Database (SQL/Prisma)
42
+ prisma_model: /model\s+([a-zA-Z0-9_]+)\s+\{/g,
43
+ sql_create: /CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?([a-zA-Z0-9_]+)/gi,
44
+ };
45
+
46
+ async function getFiles(dir) {
47
+ const subdirs = await readdir(dir);
48
+ const files = await Promise.all(subdirs.map(async (subdir) => {
49
+ const res = path.resolve(dir, subdir);
50
+ const relative = path.relative(process.cwd(), res);
51
+
52
+ if (IGNORE_FILES.includes(subdir)) return [];
53
+
54
+ // Explicitly ignore strictly forbidden dirs
55
+ if (IGNORE_DIRS.includes(subdir)) return [];
56
+
57
+ // Special handling for .agent: Only allow 'skills'
58
+ if (relative.startsWith('.agent')) {
59
+ if (relative === '.agent') {
60
+ // Continue recursion into .agent
61
+ } else if (relative.startsWith(path.join('.agent', 'skills'))) {
62
+ // Allow skills folder
63
+ } else if (subdir === 'fastcode_index.json') {
64
+ return res; // Allow the index file itself (optional)
65
+ } else {
66
+ return []; // Ignore other .agent folders (brain, logs, tools)
67
+ }
68
+ }
69
+
70
+ return (await stat(res)).isDirectory() ? getFiles(res) : res;
71
+ }));
72
+ return files.reduce((a, f) => a.concat(f), []);
73
+ }
74
+
75
+ async function extractSymbols(content, filePath) {
76
+ const symbols = [];
77
+ const ext = path.extname(filePath);
78
+
79
+ if (['.js', '.ts', '.jsx', '.tsx'].includes(ext)) {
80
+ let match;
81
+ while ((match = PATTERNS.function.exec(content)) !== null) symbols.push({ type: 'function', name: match[1] });
82
+ while ((match = PATTERNS.class.exec(content)) !== null) symbols.push({ type: 'class', name: match[1] });
83
+ while ((match = PATTERNS.const.exec(content)) !== null) symbols.push({ type: 'variable', name: match[1] });
84
+
85
+ // Handle destructuring
86
+ while ((match = PATTERNS.destruct_array.exec(content)) !== null) {
87
+ match[1].split(',').map(s => s.trim()).filter(s => s).forEach(s => symbols.push({ type: 'variable', name: s }));
88
+ }
89
+ while ((match = PATTERNS.destruct_obj.exec(content)) !== null) {
90
+ match[1].split(',').map(s => s.trim().split(':')[0].trim()).filter(s => s).forEach(s => symbols.push({ type: 'variable', name: s }));
91
+ }
92
+ // Node Routes
93
+ while ((match = PATTERNS.node_route.exec(content)) !== null) symbols.push({ type: 'route', name: match[1] });
94
+
95
+ } else if (['.py'].includes(ext)) {
96
+ let match;
97
+ while ((match = PATTERNS.python_def.exec(content)) !== null) symbols.push({ type: 'function', name: match[1] });
98
+ while ((match = PATTERNS.python_class.exec(content)) !== null) symbols.push({ type: 'class', name: match[1] });
99
+ // Python Routes
100
+ while ((match = PATTERNS.python_route.exec(content)) !== null) symbols.push({ type: 'route', name: match[1] });
101
+
102
+ } else if (['.prisma'].includes(ext)) {
103
+ let match;
104
+ while ((match = PATTERNS.prisma_model.exec(content)) !== null) symbols.push({ type: 'model', name: match[1] });
105
+
106
+ } else if (['.sql'].includes(ext)) {
107
+ let match;
108
+ while ((match = PATTERNS.sql_create.exec(content)) !== null) symbols.push({ type: 'table', name: match[1] });
109
+ }
110
+ return symbols;
111
+ }
112
+
113
+ async function index() {
114
+ console.log('Orchestrating FastCode Indexing...');
115
+ const files = await getFiles(process.cwd());
116
+ const indexData = [];
117
+
118
+ for (const file of files) {
119
+ try {
120
+ const content = await readFile(file, 'utf8');
121
+ const relativePath = path.relative(process.cwd(), file);
122
+ const symbols = await extractSymbols(content, file);
123
+
124
+ if (symbols.length > 0 || content.length < 50000) { // Limit huge files
125
+ indexData.push({
126
+ path: relativePath,
127
+ symbols: symbols.map(s => s.name),
128
+ });
129
+ }
130
+ } catch (e) {
131
+ // Ignore binary or unreadable files
132
+ }
133
+ }
134
+
135
+ await writeFile(INDEX_FILE, JSON.stringify(indexData, null, 2));
136
+ console.log(`Indexed ${indexData.length} files. Index saved to ${INDEX_FILE}`);
137
+ }
138
+
139
+ async function search(query) {
140
+ if (!fs.existsSync(INDEX_FILE)) {
141
+ console.error('Index not found. Run "index" first.');
142
+ return;
143
+ }
144
+
145
+ const indexData = require(INDEX_FILE);
146
+ const results = indexData.filter(item => {
147
+ // 1. Path match
148
+ if (item.path.toLowerCase().includes(query.toLowerCase())) return true;
149
+ // 2. Symbol match
150
+ if (item.symbols.some(s => s.toLowerCase().includes(query.toLowerCase()))) return true;
151
+ return false;
152
+ });
153
+
154
+ // Rank results: Path match > Symbol match
155
+ results.sort((a, b) => {
156
+ const aPathMatch = a.path.toLowerCase().includes(query.toLowerCase());
157
+ const bPathMatch = b.path.toLowerCase().includes(query.toLowerCase());
158
+ if (aPathMatch && !bPathMatch) return -1;
159
+ if (!aPathMatch && bPathMatch) return 1;
160
+ return 0;
161
+ });
162
+
163
+ console.log(JSON.stringify(results.slice(0, 10), null, 2)); // Return top 10
164
+ }
165
+
166
+ // CLI
167
+ const args = process.argv.slice(2);
168
+ const command = args[0];
169
+ const query = args[1];
170
+
171
+ if (command === 'index') {
172
+ index();
173
+ } else if (command === 'search') {
174
+ if (!query) {
175
+ console.error('Usage: search <query>');
176
+ process.exit(1);
177
+ }
178
+ search(query);
179
+ } else {
180
+ console.log('Usage: node fastcode.js [index|search <query>]');
181
+ }
@@ -1,48 +1,55 @@
1
1
  # 🕵️ Hướng Dẫn Về "Hệ Thống Agent" (Digital Employees)
2
2
 
3
- > **Antigravity** không chỉ công cụ, mà là một **Hệ điều hành Nhân sự AI**. Mọi Agent đều đã được nâng cấp lên chuẩn **Senior Principal Personnel** với khả năng phối hợp hệ sinh thái và kỷ luật vận hành tuyệt đối.
3
+ > **Antigravity** vận hành như một công ty phần mềm thu nhỏ, với **42 nhân viên số (AI Agents)** chuyên trách từng mảng.
4
4
 
5
5
  ---
6
6
 
7
7
  ## 1. Biệt Đội Chuyên Gia (The Squad)
8
8
 
9
- Dưới đây là danh sách các nhân viên ảo sẽ phục vụ bạn:
10
-
11
- ### 1. Nhóm Kỹ Thuật Cốt Lõi (Engineering Core)
12
- * **`backend-specialist`**: Chuyên gia xây dựng API, System Architecture và xử lý Logic Server.
13
- * **`frontend-specialist`**: Chuyên gia UI/UX, React/Next.js và tối ưu trải nghiệm người dùng.
14
- * **`database-architect`**: Thiết kế Schema, tối ưu truy vấn SQL/NoSQL và Data Modeling.
15
- * **`mobile-developer`**: Phát triển ứng dụng iOS/Android đa nền tảng (React Native/Flutter).
16
- * **`devops-engineer`**: Quản lý Docker, CI/CD Pipeline, Kubernetes và hạ tầng Cloud.
17
- * **`cloud-architect`**: Thiết kế kiến trúc đám mây (AWS/Azure), Serverless và Scalability.
18
- * **`performance-optimizer`**: Chuyên gia tối ưu tốc độ tải trang, giảm độ trễ và Memory Leak.
19
-
20
- ### 2. Nhóm Sản Phẩm & Chiến Lược (Product & Strategy)
21
- * **`orchestrator`**: Tổng chỉ huy, điều phối các Agent khác phối hợp nhịp nhàng.
22
- * **`product-manager`**: Quản lý lộ trình sản phẩm (Roadmap), ưu tiên tính năng.
23
- * **`product-owner`**: Đại diện tiếng nói người dùng, định nghĩa yêu cầu nghiệp vụ (User Stories).
24
- * **`project-planner`**: Lập kế hoạch thực thi, chia nhỏ task và ước lượng thời gian.
25
-
26
- ### 3. Nhóm Chất Lượng & Bảo Mật (Quality & Security)
27
- * **`security-auditor`**: soát nguồn, phát hiện lỗ hổng bảo mật (OWASP) và tuân thủ đạo đức AI (Fabric).
28
- * **`penetration-tester`**: Tấn công thử nghiệm (Red Team) để tìm điểm yếu hệ thống.
29
- * **`quality-inspector`**: Kiểm tra tiêu chuẩn code (Linting, Convention) và độ ổn định.
30
- * **`test-engineer`**: Viết chạy các kịch bản kiểm thử (Unit/Integration Test).
31
- * **`qa-automation-engineer`**: Tự động viết và chạy kịch bản kiểm thử E2E (Playwright MCP).
32
-
33
- ### 4. Nhóm Hỗ Trợ & Phân Tích (Support & Analysis)
34
- * **`documentation-writer`**: Soạn thảo tài liệu kỹ thuật, API Docs và Hướng dẫn sử dụng.
35
- * **`seo-specialist`**: Tối ưu hóa công cụ tìm kiếm, Meta tags và cấu trúc nội dung.
36
- * **`game-developer`**: Chuyên gia phát triển Logic Game, Physics và Đồ họa.
37
- * **`explorer-agent`**: Thám hiểm các công nghệ mới, tìm kiếm giải pháp sáng tạo.
38
- * **`code-archaeologist`**: "Nhà khảo cổ" chuyên đọc giải thích các mã nguồn cũ (Legacy Code).
39
- * **`debugger`**: Thám tử điều tra lỗi, phân tích Log và tìm nguyên nhân gốc rễ.
40
-
41
- ### 🤝 Giao thức Phối hợp (Ecosystem Protocol)
42
- Mỗi Agent hiện nay không làm việc cô lập. Họ tuân thủ:
43
- - **Handoff**: Chuyển giao ngữ cảnh (API docs, PRD, Test logs) cho Agent tiếp theo.
44
- - **Socratic Gatekeeping**: Biết dừng lại hỏi ý kiến người dùng hoặc đồng nghiệp khi thấy rủi ro.
45
- - **DNA Linkage**: Luôn kiểm tra `GEMINI.md` và `MASTER_GUIDE.md` trước khi hành động.
9
+ Dưới đây là danh sách các nhân viên ảo chủ chốt sẽ phục vụ bạn:
10
+
11
+ ### 🏗️ Ban Kiến Trúc & Kế Hoạch
12
+ * **`project-planner`**:
13
+ * *Vai trò*: PM (Product Manager).
14
+ * *Nhiệm vụ*: Lên kế hoạch, chia nhỏ đầu việc, viết PRD.
15
+ * *Khi nào gọi*: Khi dùng `/plan`.
16
+ * **`orchestrator`**:
17
+ * *Vai trò*: Tech Lead / Thư ký.
18
+ * *Nhiệm vụ*: Điều phối các agent khác, tổng hợp báo cáo.
19
+ * *Khi nào gọi*: Khi dùng `/orchestrate`.
20
+
21
+ ### 💻 Ban Kỹ Thuật (Engineer)
22
+ * **`frontend-specialist`**:
23
+ * *Vai trò*: Senior Frontend Dev.
24
+ * *Kỹ năng*: React, Vue, CSS Animation, Responsive.
25
+ * **`backend-specialist`**:
26
+ * *Vai trò*: Senior Backend Dev.
27
+ * *Kỹ năng*: API Design, Database, Auth, Logic.
28
+ * **`database-architect`**:
29
+ * *Vai trò*: DBA (Database Administrator).
30
+ * *Nhiệm vụ*: Thiết kế Schema, tối ưu câu Query.
31
+ * **`mobile-developer`**:
32
+ * *Vai trò*: Mobile Dev.
33
+ * *Task*: Code iOS/Android (React Native/Flutter).
34
+
35
+ ### 🛡️ Ban Chất Lượng & Vận Hành
36
+ * **`security-auditor`**:
37
+ * *Vai trò*: Chuyên gia bảo mật.
38
+ * *Nhiệm vụ*: Tìm lỗ hổng, soát key lộ.
39
+ * **`test-engineer`**:
40
+ * *Vai trò*: QA/QC.
41
+ * *Nhiệm vụ*: Viết test case, chạy kiểm thử tự động.
42
+ * **`devops-engineer`**:
43
+ * *Vai trò*: SysAdmin.
44
+ * *Nhiệm vụ*: Cấu hình Server, Docker, Deploy.
45
+
46
+ ### 🎨 Ban Sáng Tạo & Growth
47
+ * **`ui-ux-designer`**:
48
+ * *Vai trò*: Designer.
49
+ * *Nhiệm vụ*: Phối màu, chọn font, thiết kế trải nghiệm.
50
+ * **`seo-specialist`**:
51
+ * *Vai trò*: SEO Marketing.
52
+ * *Nhiệm vụ*: Tối ưu từ khóa, đẩy Top Google.
46
53
 
47
54
  ---
48
55