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.
- package/.agent/.shared/{technical/ai-master → ai-master}/README.md +1 -12
- package/.agent/.shared/{technical/api-standards → api-standards}/README.md +1 -12
- package/.agent/.shared/compliance/README.md +19 -0
- package/.agent/.shared/{technical/database-master → database-master}/README.md +2 -12
- package/.agent/.shared/{core/design-philosophy → design-philosophy}/README.md +1 -12
- package/.agent/.shared/design-system/README.md +18 -0
- package/.agent/.shared/domain-blueprints/README.md +18 -0
- package/.agent/.shared/dx-toolkit/README.md +19 -0
- package/.agent/.shared/i18n-master/README.md +18 -0
- package/.agent/.shared/infra-blueprints/README.md +18 -0
- package/.agent/.shared/metrics/README.md +17 -0
- package/.agent/.shared/resilience-patterns/README.md +19 -0
- package/.agent/.shared/security-armor/README.md +25 -0
- package/.agent/.shared/{technical/seo-master → seo-master}/README.md +1 -12
- package/.agent/.shared/testing-master/README.md +20 -0
- package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/README.md +1 -12
- package/.agent/.shared/vitals-templates/README.md +18 -0
- package/.agent/ARCHITECTURE.md +7 -10
- package/.agent/ARCHITECTURE.vi.md +8 -8
- package/.agent/RESOURCES.md +1 -0
- package/.agent/agents/accessibility-expert.md +22 -0
- package/.agent/agents/api-architect.md +22 -0
- package/.agent/agents/backend-specialist.eco.md +19 -0
- package/.agent/agents/backend-specialist.instant.md +19 -0
- package/.agent/agents/backend-specialist.md +19 -154
- package/.agent/agents/cloud-architect.md +189 -108
- package/.agent/agents/codebase-expert.md +23 -0
- package/.agent/agents/compliance-expert.md +22 -0
- package/.agent/agents/data-scientist.md +22 -0
- package/.agent/agents/debugger.eco.md +20 -0
- package/.agent/agents/debugger.instant.md +20 -0
- package/.agent/agents/debugger.md +182 -83
- package/.agent/agents/deep-thinker.ultra.md +23 -0
- package/.agent/agents/devex-optimizer.md +22 -0
- package/.agent/agents/devops-architect.md +22 -0
- package/.agent/agents/documentation-writer.md +72 -125
- package/.agent/agents/frontend-specialist.eco.md +19 -0
- package/.agent/agents/frontend-specialist.instant.md +19 -0
- package/.agent/agents/frontend-specialist.md +7 -40
- package/.agent/agents/game-developer.md +116 -111
- package/.agent/agents/growth-engineer.md +22 -0
- package/.agent/agents/i18n-specialist.md +21 -0
- package/.agent/agents/legacy-modernizer.md +22 -0
- package/.agent/agents/microservices-specialist.md +22 -0
- package/.agent/agents/mobile-developer.md +321 -108
- package/.agent/agents/motion-designer.md +22 -0
- package/.agent/agents/orchestrator.creative.md +28 -0
- package/.agent/agents/orchestrator.eco.md +29 -0
- package/.agent/agents/orchestrator.instant.md +29 -0
- package/.agent/agents/orchestrator.md +366 -106
- package/.agent/agents/orchestrator.ultra.md +28 -0
- package/.agent/agents/performance-benchmarker.md +22 -0
- package/.agent/agents/performance-optimizer.md +136 -105
- package/.agent/agents/project-planner.eco.md +19 -0
- package/.agent/agents/project-planner.instant.md +19 -0
- package/.agent/agents/project-planner.md +39 -132
- package/.agent/agents/quality-inspector.md +32 -136
- package/.agent/agents/security-auditor.md +15 -138
- package/.agent/agents/security-pentester.md +22 -0
- package/.agent/agents/seo-specialist.md +72 -118
- package/.agent/agents/serverless-expert.md +22 -0
- package/.agent/agents/test-engineer.md +11 -142
- package/.agent/fastcode_index.json +1038 -0
- package/.agent/mcp_config.json +24 -0
- package/.agent/rules/GEMINI.eco.md +37 -0
- package/.agent/rules/GEMINI.instant.md +37 -0
- package/.agent/rules/GEMINI.md +31 -62
- package/.agent/rules/api-spec.md +28 -0
- package/.agent/rules/code-quality.md +3 -34
- package/.agent/rules/database.md +24 -0
- package/.agent/rules/devops.md +23 -0
- package/.agent/rules/frontend.md +3 -3
- package/.agent/rules/growth-strategy.md +22 -0
- package/.agent/rules/logging-monitoring.md +22 -0
- package/.agent/rules/quality-assurance.md +22 -0
- package/.agent/rules/strict-protocol.md +3 -44
- package/.agent/rules/system-reasoning.md +20 -0
- package/.agent/rules/system-update.md +3 -56
- package/.agent/rules/ui-design.md +23 -0
- package/.agent/rules/ux-patterns.md +23 -0
- package/.agent/scripts/auto_preview.py +148 -0
- package/.agent/scripts/checklist.py +252 -0
- package/.agent/scripts/session_manager.py +120 -0
- package/.agent/scripts/simulation_install.js +59 -0
- package/.agent/scripts/sync_to_global.py +78 -0
- package/.agent/scripts/translate_workflows.py +53 -0
- package/.agent/scripts/verify_all.py +327 -0
- package/.agent/scripts/verify_shared_modules.js +126 -0
- package/.agent/skills/agent-backend-patterns/SKILL.md +6 -13
- package/.agent/skills/ai-engineer/SKILL.md +16 -29
- package/.agent/skills/api-documenter/SKILL.md +4 -4
- package/.agent/skills/app-builder/SKILL.md +1 -1
- package/.agent/skills/app-builder/tech-stack.md +2 -2
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +79 -39
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +75 -53
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +119 -56
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +94 -61
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +82 -56
- package/.agent/skills/cloud-architect-master/SKILL.md +4 -9
- package/.agent/skills/cro-expert-kit/SKILL.md +4 -9
- package/.agent/skills/database-migration/SKILL.md +3 -9
- package/.agent/skills/deployment-engineer/SKILL.md +3 -9
- package/.agent/skills/fastcode-search/SKILL.md +46 -0
- package/.agent/skills/fastcode-search/fastcode_config.example.json +17 -0
- package/.agent/skills/frontend-design/ux-psychology.md +585 -10
- package/.agent/skills/frontend-trends-2026/SKILL.md +78 -0
- package/.agent/skills/frontend-trends-2026/formulas/BentoGrid.tsx +42 -0
- package/.agent/skills/frontend-trends-2026/formulas/LiquidCard.tsx +32 -0
- package/.agent/skills/frontend-trends-2026/formulas/NeoButton.tsx +27 -0
- package/.agent/skills/full-stack-scaffold/SKILL.md +4 -4
- package/.agent/skills/game-development/2d-games/SKILL.md +2 -4
- package/.agent/skills/game-development/3d-games/SKILL.md +2 -4
- package/.agent/skills/game-development/SKILL.md +149 -18
- package/.agent/skills/game-development/game-art/SKILL.md +2 -4
- package/.agent/skills/game-development/game-audio/SKILL.md +2 -4
- package/.agent/skills/game-development/game-design/SKILL.md +2 -4
- package/.agent/skills/game-development/mobile-games/SKILL.md +2 -4
- package/.agent/skills/game-development/multiplayer/SKILL.md +2 -4
- package/.agent/skills/game-development/pc-games/SKILL.md +2 -4
- package/.agent/skills/game-development/vr-ar/SKILL.md +2 -4
- package/.agent/skills/game-development/web-games/SKILL.md +2 -4
- package/.agent/skills/geo-fundamentals/SKILL.md +136 -9
- package/.agent/skills/git-collaboration-master/SKILL.md +4 -9
- package/.agent/skills/i18n-localization/SKILL.md +118 -10
- package/.agent/skills/incident-responder/SKILL.md +6 -9
- package/.agent/skills/legacy-modernizer/SKILL.md +4 -9
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +14 -2
- package/.agent/skills/mcp-builder/SKILL.md +164 -21
- package/.agent/skills/mobile-design/SKILL.md +369 -21
- package/.agent/skills/mobile-design/mobile-performance.md +1 -1
- package/.agent/skills/modern-web-architect/SKILL.md +6 -12
- package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +1 -1
- package/.agent/skills/penetration-tester-master/SKILL.md +4 -9
- package/.agent/skills/performance-engineer/SKILL.md +5 -4
- package/.agent/skills/production-code-audit/SKILL.md +0 -6
- package/.agent/skills/rust-pro/SKILL.md +177 -0
- package/.agent/skills/security-auditor/SKILL.md +27 -35
- package/.agent/skills/seo-expert-kit/SKILL.md +4 -9
- package/.agent/skills/tdd-master-workflow/SKILL.md +3 -9
- package/.agent/workflows/audit.md +16 -30
- package/.agent/workflows/brainstorm.md +96 -33
- package/.agent/workflows/create.md +45 -37
- package/.agent/workflows/debug.md +84 -45
- package/.agent/workflows/deep-security-audit.md +9 -0
- package/.agent/workflows/deploy.md +158 -33
- package/.agent/workflows/document.md +15 -38
- package/.agent/workflows/enhance.md +48 -33
- package/.agent/workflows/growth-max.md +9 -0
- package/.agent/workflows/monitor.md +14 -35
- package/.agent/workflows/orchestrate.md +218 -31
- package/.agent/workflows/performance-max.md +9 -0
- package/.agent/workflows/plan.md +70 -39
- package/.agent/workflows/security.md +14 -35
- package/.agent/workflows/seo.md +16 -39
- package/.agent/workflows/status.md +72 -33
- package/.agent/workflows/test.md +127 -30
- package/.agent/workflows/ui-ux-pro-max.md +283 -24
- package/.editorconfig +21 -0
- package/.gitattributes +7 -0
- package/CHANGELOG.md +32 -0
- package/ERRORS.md +67 -0
- package/{.agent/GEMINI.md → GEMINI.md} +5 -4
- package/LICENSE +8 -22
- package/README.md +72 -102
- package/README.vi.md +110 -90
- package/action.yml +32 -0
- package/antigravity-ide-logo.png +0 -0
- package/antigravity-ide-logo.svg +24 -0
- package/assets/skills-bundle.json +1 -0
- package/cli/create.js +413 -275
- package/cli/index.js +24 -28
- package/cli/lib/auto-update.js +21 -14
- package/cli/logic/skill-definitions.js +39 -0
- package/cli/manifest.js +524 -0
- package/cli/prompts.js +145 -151
- package/cli/skills/fastcode.js +181 -0
- package/docs/AGENTS_GUIDE.vi.md +45 -38
- package/docs/AGENT_FLOW.md +608 -0
- package/docs/CONTRIBUTING.md +46 -0
- package/docs/CONTRIBUTING.vi.md +3 -12
- package/docs/COPYRIGHT.md +57 -0
- package/docs/DEPLOYMENT.md +77 -0
- package/docs/{GEMINI_USAGE.md → GEMINI_GUIDE.md} +6 -6
- package/docs/GLOSSARY.md +109 -0
- package/docs/GLOSSARY.vi.md +30 -49
- package/docs/HOW_ANTIGRAVITY_THINKS.vi.md +1 -1
- package/docs/MASTER_GUIDE.md +103 -0
- package/docs/OPERATIONAL_FLOW.md +147 -0
- package/docs/OPERATIONAL_FLOW.vi.md +0 -15
- package/docs/PLAN-upgrade-core-architecture.md +71 -0
- package/docs/{PUBLISHING_GUIDE.md → PUBLISHING.md} +3 -31
- package/docs/RULES_GUIDE.vi.md +31 -67
- package/docs/SHARED_LIBRARY_GUIDE.vi.md +22 -18
- package/docs/SKILLS.md +610 -0
- package/docs/SKILLS_GUIDE.vi.md +32 -118
- package/docs/TROUBLESHOOTING.md +43 -0
- package/docs/TROUBLESHOOTING.vi.md +2 -10
- package/docs/WORKFLOW_GUIDE.vi.md +9 -57
- package/jest.config.js +8 -0
- package/package.json +8 -31
- package/scripts/bump.js +93 -0
- package/scripts/bundle-skills.js +59 -0
- package/scripts/internal/automation/auto-release.js +177 -0
- package/scripts/internal/fractalize-skills.js +89 -0
- package/scripts/internal/generate-skill-definitions.js +134 -0
- package/scripts/internal/internal/update-docs.js +115 -0
- package/scripts/internal/refactor-skill-content.js +127 -0
- package/scripts/internal/rename-skills.js +96 -0
- package/scripts/internal/sync-skills.js +112 -0
- package/scripts/internal/update-frontmatter-names.js +99 -0
- package/scripts/internal/verification/audit-dna.js +56 -0
- package/scripts/internal/verification/audit-skills.js +65 -0
- package/setup.js +114 -147
- package/web/src/app/docs/guide/examples/brainstorm/page.mdx +91 -0
- package/web/src/app/docs/guide/examples/create/page.mdx +84 -0
- package/web/src/app/docs/guide/examples/debugging/page.mdx +83 -0
- package/web/src/app/docs/guide/examples/deployment/page.mdx +93 -0
- package/web/src/app/docs/guide/examples/new-feature/page.mdx +102 -0
- package/web/src/app/docs/guide/examples/orchestration/page.mdx +99 -0
- package/web/src/app/docs/guide/examples/plan/page.mdx +76 -0
- package/web/src/app/docs/guide/examples/preview/page.mdx +77 -0
- package/web/src/app/docs/guide/examples/status/page.mdx +78 -0
- package/web/src/app/docs/guide/examples/test/page.mdx +80 -0
- package/web/src/app/docs/guide/examples/ui-design/page.mdx +90 -0
- package/web/src/components/mdx/Callout.tsx +60 -0
- package/web/src/components/mdx/FeatureGrid.tsx +38 -0
- package/web/src/components/mdx/ProTips.tsx +29 -0
- package/web/src/components/mdx/StepList.tsx +33 -0
- package/web/src/components/mdx/Terminal.tsx +58 -0
- package/web/src/components/mdx/index.ts +5 -0
- package/web/src/mdx-components.tsx +98 -0
- package/.agent/skills/brand-guidelines-anthropic/LICENSE.txt +0 -202
- package/.agent/skills/brand-guidelines-anthropic/SKILL.md +0 -26
- package/.agent/skills/brand-guidelines-anthropic/sub-skills/color-application.md +0 -5
- package/.agent/skills/brand-guidelines-anthropic/sub-skills/colors.md +0 -14
- package/.agent/skills/brand-guidelines-anthropic/sub-skills/font-management.md +0 -6
- package/.agent/skills/brand-guidelines-anthropic/sub-skills/shape-and-accent-colors.md +0 -7
- package/.agent/skills/brand-guidelines-anthropic/sub-skills/smart-font-application.md +0 -6
- package/.agent/skills/brand-guidelines-anthropic/sub-skills/text-styling.md +0 -6
- package/.agent/skills/brand-guidelines-anthropic/sub-skills/typography.md +0 -7
- package/.agent/skills/internal-comms-anthropic/LICENSE.txt +0 -202
- package/.agent/skills/internal-comms-anthropic/SKILL.md +0 -33
- package/.agent/skills/internal-comms-anthropic/examples/3p-updates.md +0 -47
- package/.agent/skills/internal-comms-anthropic/examples/company-newsletter.md +0 -65
- package/.agent/skills/internal-comms-anthropic/examples/faq-answers.md +0 -30
- package/.agent/skills/internal-comms-anthropic/examples/general-comms.md +0 -16
- package/.agent/skills/last30days/tests/__init__.py +0 -1
- package/.agent/skills/last30days/tests/test_cache.py +0 -59
- package/.agent/skills/last30days/tests/test_dates.py +0 -114
- package/.agent/skills/last30days/tests/test_dedupe.py +0 -111
- package/.agent/skills/last30days/tests/test_models.py +0 -135
- package/.agent/skills/last30days/tests/test_normalize.py +0 -138
- package/.agent/skills/last30days/tests/test_render.py +0 -116
- package/.agent/skills/last30days/tests/test_score.py +0 -168
- package/.agent/skills/loki-mode/.github/workflows/claude-code-review.yml +0 -57
- package/.agent/skills/loki-mode/.github/workflows/claude.yml +0 -50
- package/.agent/skills/loki-mode/.github/workflows/release.yml +0 -128
- package/.agent/skills/loki-mode/tests/run-all-tests.sh +0 -78
- package/.agent/skills/loki-mode/tests/test-agent-timeout.sh +0 -348
- package/.agent/skills/loki-mode/tests/test-bootstrap.sh +0 -196
- package/.agent/skills/loki-mode/tests/test-circuit-breaker.sh +0 -389
- package/.agent/skills/loki-mode/tests/test-state-recovery.sh +0 -393
- package/.agent/skills/loki-mode/tests/test-task-queue.sh +0 -396
- package/.agent/skills/loki-mode/tests/test-wrapper.sh +0 -314
- package/.agent/skills/shopify-development/scripts/tests/test_shopify_init.py +0 -379
- package/cli/logic/product-skills.js +0 -58
- /package/.agent/.shared/{technical/ai-master → ai-master}/best_patterns.md +0 -0
- /package/.agent/.shared/{technical/ai-master → ai-master}/checklists/prompt_audit.md +0 -0
- /package/.agent/.shared/{technical/ai-master → ai-master}/presets/model_configs.json +0 -0
- /package/.agent/.shared/{technical/api-standards → api-standards}/data +0 -0
- /package/.agent/.shared/{technical/api-standards → api-standards}/endpoints_naming.md +0 -0
- /package/.agent/.shared/{technical/api-standards → api-standards}/error_codes.csv +0 -0
- /package/.agent/.shared/{technical/api-standards → api-standards}/pagination_sorting.md +0 -0
- /package/.agent/.shared/{technical/api-standards → api-standards}/response_format.json +0 -0
- /package/.agent/.shared/{verticals/compliance → compliance}/legal_templates.md +0 -0
- /package/.agent/.shared/{technical/database-master → database-master}/schemas/auth_rbac.sql +0 -0
- /package/.agent/.shared/{technical/database-master → database-master}/schemas/cms.sql +0 -0
- /package/.agent/.shared/{technical/database-master → database-master}/schemas/ecommerce.sql +0 -0
- /package/.agent/.shared/{core/design-philosophy → design-philosophy}/MANIFESTO.md +0 -0
- /package/.agent/.shared/{core/design-philosophy → design-philosophy}/checklists/tactile_audit.md +0 -0
- /package/.agent/.shared/{core/design-philosophy → design-philosophy}/checklists/visual_audit.md +0 -0
- /package/.agent/.shared/{core/design-philosophy → design-philosophy}/presets/linear_glow.json +0 -0
- /package/.agent/.shared/{technical/design-system → design-system}/brand_presets.json +0 -0
- /package/.agent/.shared/{technical/design-system → design-system}/micro_interactions.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/edtech.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/fintech.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/fnb_restaurant.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/freelance_marketplace.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/healthcare.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/hospitality_tourism.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/logistics.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/marketing_automation.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/personal_branding.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/real_estate.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/retail_ecommerce.md +0 -0
- /package/.agent/.shared/{verticals/domain-blueprints → domain-blueprints}/standard-pro-agents.md +0 -0
- /package/.agent/.shared/{core/dx-toolkit → dx-toolkit}/checklists/code_review.md +0 -0
- /package/.agent/.shared/{core/dx-toolkit → dx-toolkit}/presets/vscode_settings.json +0 -0
- /package/.agent/.shared/{technical/i18n-master → i18n-master}/vi_tech_dictionary.csv +0 -0
- /package/.agent/.shared/{technical/i18n-master → i18n-master}/workflows.json +0 -0
- /package/.agent/.shared/{verticals/infra-blueprints → infra-blueprints}/deployment_specs.md +0 -0
- /package/.agent/.shared/{core/metrics → metrics}/benchmarks.json +0 -0
- /package/.agent/.shared/{technical/resilience-patterns → resilience-patterns}/checklists/chaos_engineering.md +0 -0
- /package/.agent/.shared/{technical/resilience-patterns → resilience-patterns}/presets/circuit_breaker.json +0 -0
- /package/.agent/.shared/{technical/security-armor → security-armor}/checklists/vuln_scan.md +0 -0
- /package/.agent/.shared/{technical/security-armor → security-armor}/hardening.md +0 -0
- /package/.agent/.shared/{technical/security-armor → security-armor}/presets/helmet_config.json +0 -0
- /package/.agent/.shared/{technical/seo-master → seo-master}/checklists/technical_seo.md +0 -0
- /package/.agent/.shared/{technical/seo-master → seo-master}/presets/json_ld_schema.json +0 -0
- /package/.agent/.shared/{technical/testing-master → testing-master}/checklists/pre_release.md +0 -0
- /package/.agent/.shared/{technical/testing-master → testing-master}/scenarios.md +0 -0
- /package/.agent/{skills → .shared}/ui-ux-pro-max/data/charts.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/colors.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/icons.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/landing.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/products.csv +0 -0
- /package/.agent/{skills → .shared}/ui-ux-pro-max/data/prompts.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/react-performance.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/flutter.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/html-tailwind.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/jetpack-compose.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nextjs.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxt-ui.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxtjs.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react-native.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/shadcn.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/svelte.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/swiftui.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/vue.csv +0 -0
- /package/.agent/{skills → .shared}/ui-ux-pro-max/data/styles.csv +0 -0
- /package/.agent/{skills → .shared}/ui-ux-pro-max/data/typography.csv +0 -0
- /package/.agent/{skills → .shared}/ui-ux-pro-max/data/ui-reasoning.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/ux-guidelines.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/data/web-interface.csv +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/core.cpython-313.pyc +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/core.py +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/design_system.py +0 -0
- /package/.agent/.shared/{technical/ui-ux-pro-max → ui-ux-pro-max}/scripts/search.py +0 -0
- /package/.agent/.shared/{core/vitals-templates → vitals-templates}/audit_report.md +0 -0
- /package/.agent/.shared/{core/vitals-templates → vitals-templates}/plan_prd.md +0 -0
- /package/.agent/skills/ai-engineer/{sub-skills → resources}/ai_infra_stack.md +0 -0
- /package/.agent/skills/cloud-architect-master/{sub-skills → resources}/cost_optimization_checklist.md +0 -0
- /package/.agent/skills/cro-expert-kit/{sub-skills → resources}/psychological_triggers.md +0 -0
- /package/.agent/skills/database-migration/{sub-skills → resources}/zero_downtime_strategy.md +0 -0
- /package/.agent/skills/deployment-engineer/{sub-skills → resources}/k8s_best_practices.md +0 -0
- /package/.agent/skills/git-collaboration-master/{sub-skills → resources}/pr_template.md +0 -0
- /package/.agent/skills/incident-responder/{sub-skills → resources}/incident_severity_levels.md +0 -0
- /package/.agent/skills/legacy-modernizer/{sub-skills → resources}/strangler_fig_pattern.md +0 -0
- /package/.agent/skills/penetration-tester-master/{sub-skills → resources}/owasp_top_10_2025.md +0 -0
- /package/.agent/skills/production-code-audit/{sub-skills → resources}/solid_principles_cheat_sheet.md +0 -0
- /package/.agent/skills/seo-expert-kit/{sub-skills → resources}/technical_seo_checklist.md +0 -0
- /package/.agent/skills/tdd-master-workflow/{sub-skills → resources}/unit_test_naming_convention.md +0 -0
package/setup.js
CHANGED
|
@@ -8,7 +8,8 @@ const chalk = require('chalk');
|
|
|
8
8
|
const gradient = require('gradient-string');
|
|
9
9
|
const boxen = require('boxen');
|
|
10
10
|
const prompts = require('prompts');
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
const MANIFEST = require('./cli/manifest.js');
|
|
12
13
|
|
|
13
14
|
const GLOBAL_DIR = path.join(os.homedir(), '.antigravity');
|
|
14
15
|
const SOURCE_DIR = path.join(__dirname, '.agent');
|
|
@@ -31,25 +32,11 @@ async function setup() {
|
|
|
31
32
|
|
|
32
33
|
console.log(gradient.rainbow.multiline(branding));
|
|
33
34
|
console.log(gradient.atlas('━'.repeat(60)));
|
|
34
|
-
console.log(chalk.gray(` Antigravity
|
|
35
|
+
console.log(chalk.gray(` Google Antigravity • Global Setup Wizard • v4.2.1`));
|
|
35
36
|
console.log(chalk.gray(' Developed with 💡 by Dokhacgiakhoa'));
|
|
36
37
|
console.log(gradient.atlas('━'.repeat(60)) + '\n');
|
|
37
38
|
console.log(chalk.bold.hex('#00ffee')('🚀 Antigravity Global Setup Starting...\n'));
|
|
38
39
|
|
|
39
|
-
// 0. Check for Python (Required for Advanced Skills)
|
|
40
|
-
let hasPython = false;
|
|
41
|
-
try {
|
|
42
|
-
execSync('python --version', { stdio: 'ignore' });
|
|
43
|
-
hasPython = true;
|
|
44
|
-
} catch (e) {
|
|
45
|
-
try {
|
|
46
|
-
execSync('python3 --version', { stdio: 'ignore' });
|
|
47
|
-
hasPython = true;
|
|
48
|
-
} catch (e2) {}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Silent check - we will warn later if they select Advanced Mode
|
|
52
|
-
|
|
53
40
|
// Interactive Prompts
|
|
54
41
|
const response = await prompts([
|
|
55
42
|
{
|
|
@@ -64,60 +51,18 @@ async function setup() {
|
|
|
64
51
|
},
|
|
65
52
|
{
|
|
66
53
|
type: 'select',
|
|
67
|
-
name: '
|
|
68
|
-
message: (prev, values) => values.lang === 'vi' ? 'Chọn Chế độ
|
|
54
|
+
name: 'operationMode',
|
|
55
|
+
message: (prev, values) => values.lang === 'vi' ? 'Chọn Chế độ Vận hành (Mode):' : 'Select Operation Mode:',
|
|
69
56
|
choices: (prev, values) => values.lang === 'vi' ? [
|
|
70
|
-
{ title: '⚡
|
|
71
|
-
{ title: '
|
|
57
|
+
{ title: '⚡ INSTANT (MVP) - Khởi tạo Thần tốc, Đa năng', value: 'instant' },
|
|
58
|
+
{ title: '🏢 STANDARD (Pro) - Quy trình Chuẩn chuyên nghiệp', value: 'standard' },
|
|
59
|
+
{ title: '🏭 CREATIVE (Elite) - Sức mạnh tối đa, Chuyên biệt hóa', value: 'creative' }
|
|
72
60
|
] : [
|
|
73
|
-
{ title: '⚡
|
|
74
|
-
{ title: '
|
|
75
|
-
|
|
76
|
-
initial: 0
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
type: 'text',
|
|
80
|
-
name: 'agentName',
|
|
81
|
-
message: (prev, values) => values.lang === 'vi' ? 'Đặt tên định danh cho AI Agent của bạn:' : 'Name your AI Agent:',
|
|
82
|
-
validate: value => value.length < 2 ? 'Minimum 2 chars' : true
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
type: 'select',
|
|
86
|
-
name: 'projectScale',
|
|
87
|
-
message: (prev, values) => values.lang === 'vi' ? 'Chọn Quy mô Dự án (Project Scale):' : 'Select Project Scale:',
|
|
88
|
-
choices: (prev, values) => values.lang === 'vi' ? [
|
|
89
|
-
{ title: '⚡ Instant (Tức thời) - Cá nhân & Nhanh gọn', value: 'instant' },
|
|
90
|
-
{ title: '🎨 Creative (Sáng tạo) - Full AI Suite [Mặc định]', value: 'creative' },
|
|
91
|
-
{ title: '🏢 SME / Enterprise (Doanh nghiệp) - Bảo mật & Chuẩn hóa', value: 'sme' }
|
|
92
|
-
] : [
|
|
93
|
-
{ title: '⚡ Instant - Personal & Fast', value: 'instant' },
|
|
94
|
-
{ title: '🎨 Creative - Full AI Suite [Default]', value: 'creative' },
|
|
95
|
-
{ title: '🏢 SME / Enterprise - Security & Standard', value: 'sme' }
|
|
61
|
+
{ title: '⚡ INSTANT (MVP) - Ultra Fast, Multi-tasking', value: 'instant' },
|
|
62
|
+
{ title: '🏢 STANDARD (Pro) - Professional Standard Flow', value: 'standard' },
|
|
63
|
+
{ title: '🏭 CREATIVE (Elite) - Maximum Power, Micro-Specialization', value: 'creative' }
|
|
96
64
|
],
|
|
97
65
|
initial: 1
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
type: 'select',
|
|
101
|
-
name: 'industryDomain',
|
|
102
|
-
message: (prev, values) => values.lang === 'vi' ? 'Chọn Lĩnh vực dự án (Industry):' : 'Select Industry Domain:',
|
|
103
|
-
choices: (prev, values) => values.lang === 'vi' ? [
|
|
104
|
-
{ title: '💰 Finance (Tài chính - Fintech)', value: 'finance' },
|
|
105
|
-
{ title: '🎓 Education (Giáo dục - EdTech)', value: 'education' },
|
|
106
|
-
{ title: '🍔 F&B / Restaurant (Nhà hàng)', value: 'fnb' },
|
|
107
|
-
{ title: '👤 Personal / Portfolio (Cá nhân)', value: 'personal' },
|
|
108
|
-
{ title: '🏥 Healthcare (Y tế - HealthTech)', value: 'healthcare' },
|
|
109
|
-
{ title: '🚚 Logistics (Vận tải)', value: 'logistics' },
|
|
110
|
-
{ title: '🔮 Other (Khác - Web/App cơ bản)', value: 'other' }
|
|
111
|
-
] : [
|
|
112
|
-
{ title: '💰 Finance (Fintech)', value: 'finance' },
|
|
113
|
-
{ title: '🎓 Education (EdTech)', value: 'education' },
|
|
114
|
-
{ title: '🍔 F&B / Restaurant', value: 'fnb' },
|
|
115
|
-
{ title: '👤 Personal / Portfolio', value: 'personal' },
|
|
116
|
-
{ title: '🏥 Healthcare (HealthTech)', value: 'healthcare' },
|
|
117
|
-
{ title: '🚚 Logistics', value: 'logistics' },
|
|
118
|
-
{ title: '🔮 Other (General Web/App)', value: 'other' }
|
|
119
|
-
],
|
|
120
|
-
initial: 6
|
|
121
66
|
}
|
|
122
67
|
], {
|
|
123
68
|
onCancel: () => {
|
|
@@ -126,20 +71,23 @@ async function setup() {
|
|
|
126
71
|
}
|
|
127
72
|
});
|
|
128
73
|
|
|
129
|
-
const { lang,
|
|
74
|
+
const { lang, operationMode } = response;
|
|
75
|
+
|
|
76
|
+
// Use default values for hidden configs
|
|
77
|
+
const engineMode = operationMode === 'creative' ? 'advanced' : 'standard';
|
|
78
|
+
const agentName = 'Antigravity';
|
|
79
|
+
const projectScale = operationMode;
|
|
130
80
|
|
|
131
81
|
console.log(chalk.green(`\n📍 Configuration Saved:`));
|
|
132
82
|
console.log(chalk.cyan(` Language: ${lang === 'vi' ? 'Tiếng Việt' : 'English'}`));
|
|
133
|
-
console.log(chalk.cyan(`
|
|
134
|
-
console.log(chalk.cyan(` Engine: ${engineMode.toUpperCase()}`));
|
|
135
|
-
console.log(chalk.cyan(` Scale: ${projectScale.toUpperCase()}`));
|
|
136
|
-
console.log(chalk.cyan(` Industry: ${industryDomain ? industryDomain.toUpperCase() : 'OTHER'}\n`));
|
|
83
|
+
console.log(chalk.cyan(` Mode: ${operationMode.toUpperCase()}`));
|
|
84
|
+
console.log(chalk.cyan(` Engine: ${engineMode.toUpperCase()} (Auto-configured)\n`));
|
|
137
85
|
|
|
138
86
|
// Save config
|
|
139
87
|
if (!fs.existsSync(GLOBAL_DIR)) {
|
|
140
88
|
fs.mkdirSync(GLOBAL_DIR, { recursive: true });
|
|
141
89
|
}
|
|
142
|
-
fs.writeFileSync(path.join(GLOBAL_DIR, '.config.json'), JSON.stringify({ lang, engineMode, agentName, projectScale,
|
|
90
|
+
fs.writeFileSync(path.join(GLOBAL_DIR, '.config.json'), JSON.stringify({ lang, engineMode, agentName, projectScale, operationMode }, null, 2));
|
|
143
91
|
|
|
144
92
|
// 5. Smart Dependency Check (Post-Selection)
|
|
145
93
|
if (engineMode === 'advanced' && !hasPython) {
|
|
@@ -192,31 +140,6 @@ async function setup() {
|
|
|
192
140
|
const src = path.join(SOURCE_DIR, folder);
|
|
193
141
|
const dest = path.join(GLOBAL_DIR, folder);
|
|
194
142
|
|
|
195
|
-
// Special handling for 'skills' bundling
|
|
196
|
-
if (folder === 'skills') {
|
|
197
|
-
const bundlePath = path.join(__dirname, 'assets', 'skills-bundle.json');
|
|
198
|
-
if (fs.existsSync(bundlePath)) {
|
|
199
|
-
console.log('📦 Hydrating Skills from Bundle...');
|
|
200
|
-
try {
|
|
201
|
-
const bundle = JSON.parse(fs.readFileSync(bundlePath, 'utf-8'));
|
|
202
|
-
if (!fs.existsSync(dest)) fs.mkdirSync(dest, { recursive: true });
|
|
203
|
-
|
|
204
|
-
let count = 0;
|
|
205
|
-
Object.entries(bundle).forEach(([relPath, content]) => {
|
|
206
|
-
const fullPath = path.join(dest, relPath);
|
|
207
|
-
const dir = path.dirname(fullPath);
|
|
208
|
-
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
209
|
-
fs.writeFileSync(fullPath, content);
|
|
210
|
-
count++;
|
|
211
|
-
});
|
|
212
|
-
console.log(`✅ Hydrated ${count} skills from bundle.`);
|
|
213
|
-
return; // Skip normal copy for skills if bundle used
|
|
214
|
-
} catch (e) {
|
|
215
|
-
console.error('❌ Failed to hydrate bundle, falling back to copy:', e.message);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
|
|
220
143
|
if (fs.existsSync(src)) {
|
|
221
144
|
// ALWAYS sync full content to Global (Central Repository)
|
|
222
145
|
// This ensures Global always has the latest & greatest version of everything.
|
|
@@ -231,47 +154,91 @@ async function setup() {
|
|
|
231
154
|
});
|
|
232
155
|
console.log('✅ Global Cache is up-to-date (Full Enterprise Mode).');
|
|
233
156
|
|
|
234
|
-
// 7. Initialize Workspace (Apply
|
|
235
|
-
|
|
236
|
-
console.log(`\n📂 Initializing Workspace (Scale: ${projectScale.toUpperCase()})...`);
|
|
157
|
+
// 7. Initialize Workspace (Apply Manifest Logic to Local Project)
|
|
158
|
+
console.log(`\n📂 Initializing Workspace (Mode: ${operationMode.toUpperCase()})...`);
|
|
237
159
|
|
|
238
160
|
const localAgentDir = path.join(process.cwd(), '.agent');
|
|
239
|
-
const localRulesDir = path.join(localAgentDir, 'rules');
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
161
|
+
const localRulesDir = path.join(localAgentDir, 'rules'); // Keep this definition as it's used later
|
|
162
|
+
|
|
163
|
+
['rules', 'agents', 'workflows', 'skills', '.shared', 'core', 'scripts'].forEach(folder => {
|
|
164
|
+
const globalFolder = path.join(GLOBAL_DIR, folder);
|
|
165
|
+
const localFolder = path.join(localAgentDir, folder);
|
|
166
|
+
|
|
167
|
+
if (!fs.existsSync(localFolder)) fs.mkdirSync(localFolder, { recursive: true });
|
|
168
|
+
|
|
169
|
+
const manifestKey = folder.startsWith('.') ? folder.slice(1) : folder;
|
|
170
|
+
const whitelist = modeConfig[manifestKey];
|
|
171
|
+
|
|
172
|
+
if (fs.existsSync(globalFolder)) {
|
|
173
|
+
fs.readdirSync(globalFolder).forEach(file => {
|
|
174
|
+
// Suffix handling (e.g., orchestrator.eco.md)
|
|
175
|
+
const isEcoVariant = file.includes('.eco.md') || file.includes('.instant.md'); // Backward compatibility for filenames
|
|
176
|
+
const isUltraVariant = file.includes('.ultra.md') || file.includes('.creative.md');
|
|
177
|
+
const isProVariant = !isEcoVariant && !isUltraVariant;
|
|
178
|
+
|
|
179
|
+
let targetFileName = file;
|
|
180
|
+
let shouldCopy = false;
|
|
181
|
+
|
|
182
|
+
if (whitelist === '*') {
|
|
183
|
+
// Ultra Mode: Copy everything, but prefer ultra variants
|
|
184
|
+
if (isUltraVariant) {
|
|
185
|
+
targetFileName = file.replace('.ultra.md', '.md').replace('.creative.md', '.md');
|
|
186
|
+
shouldCopy = true;
|
|
187
|
+
} else if (isProVariant) {
|
|
188
|
+
const ultraVariant = file.replace('.md', '.ultra.md');
|
|
189
|
+
const creativeVariant = file.replace('.md', '.creative.md');
|
|
190
|
+
if (!fs.existsSync(path.join(globalFolder, ultraVariant)) && !fs.existsSync(path.join(globalFolder, creativeVariant))) {
|
|
191
|
+
shouldCopy = true;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
} else {
|
|
195
|
+
// Eco or Pro Mode: Only copy from whitelist
|
|
196
|
+
const baseName = file.replace('.eco.md', '.md').replace('.instant.md', '.md')
|
|
197
|
+
.replace('.ultra.md', '.md').replace('.creative.md', '.md');
|
|
198
|
+
|
|
199
|
+
if (whitelist.includes(baseName)) {
|
|
200
|
+
if (operationMode === 'eco') {
|
|
201
|
+
if (isEcoVariant) {
|
|
202
|
+
targetFileName = baseName;
|
|
203
|
+
shouldCopy = true;
|
|
204
|
+
} else if (isProVariant) {
|
|
205
|
+
const ecoVariant = file.replace('.md', '.eco.md');
|
|
206
|
+
const instantVariant = file.replace('.md', '.instant.md');
|
|
207
|
+
if (!fs.existsSync(path.join(globalFolder, ecoVariant)) && !fs.existsSync(path.join(globalFolder, instantVariant))) {
|
|
208
|
+
shouldCopy = true;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
} else if (operationMode === 'pro') {
|
|
212
|
+
if (isProVariant) {
|
|
213
|
+
shouldCopy = true;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (shouldCopy) {
|
|
220
|
+
const srcPath = path.join(globalFolder, file);
|
|
221
|
+
const destPath = path.join(localFolder, targetFileName);
|
|
222
|
+
|
|
223
|
+
if (fs.lstatSync(srcPath).isDirectory()) {
|
|
224
|
+
// For skills (directories), we use recursive copy
|
|
225
|
+
if (os.platform() === 'win32') {
|
|
226
|
+
try {
|
|
227
|
+
execSync(`robocopy "${srcPath}" "${destPath}" /E /NFL /NDL /NJH /NJS /nc /ns /np /XO`, { stdio: 'inherit' });
|
|
228
|
+
} catch (e) {}
|
|
229
|
+
} else {
|
|
230
|
+
execSync(`mkdir -p "${destPath}" && cp -R "${srcPath}/"* "${destPath}/"`, { stdio: 'inherit' });
|
|
231
|
+
}
|
|
232
|
+
} else {
|
|
233
|
+
// For files
|
|
234
|
+
fs.copyFileSync(srcPath, destPath);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
console.log(`✅ Applied ${operationMode.toUpperCase()} resources to Workspace.`);
|
|
275
242
|
|
|
276
243
|
// 8. Inject Config into Workspace Rules (Agent Name & Domain)
|
|
277
244
|
const geminiRulePath = path.join(localRulesDir, 'GEMINI.md');
|
|
@@ -288,10 +255,10 @@ async function setup() {
|
|
|
288
255
|
|
|
289
256
|
// Inject Industry Domain
|
|
290
257
|
if (industryDomain) {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
);
|
|
258
|
+
const domainBlock = `- **Lĩnh vực hoạt động**: ${industryDomain.toUpperCase()}\n - Hệ thống sẽ ưu tiên các pattern và best practice thuộc lĩnh vực này.`;
|
|
259
|
+
|
|
260
|
+
// Insert before 'Giá trị cốt lõi' bullet point
|
|
261
|
+
content = content.replace(/(- \*\*Giá trị cốt lõi)/, `${domainBlock}\n$1`);
|
|
295
262
|
}
|
|
296
263
|
|
|
297
264
|
fs.writeFileSync(geminiRulePath, content);
|
|
@@ -302,18 +269,18 @@ async function setup() {
|
|
|
302
269
|
localizeWorkflows(lang);
|
|
303
270
|
|
|
304
271
|
// FINAL SUMMARY (Premium Style)
|
|
305
|
-
console.log('\n' + gradient.pastel.multiline(
|
|
272
|
+
console.log('\n' + gradient.pastel.multiline('📦 Configuring Google Antigravity Environment'));
|
|
306
273
|
console.log(gradient.atlas('━'.repeat(60)));
|
|
307
274
|
|
|
308
|
-
console.log(chalk.green('√') +
|
|
309
|
-
console.log(chalk.green('√') +
|
|
310
|
-
console.log(chalk.green('√') +
|
|
311
|
-
console.log(chalk.green('√') +
|
|
275
|
+
console.log(chalk.green('√') + ' Global Rules Synced (Enterprise Standard)');
|
|
276
|
+
console.log(chalk.green('√') + ' Workflows Localized');
|
|
277
|
+
console.log(chalk.green('√') + ` Workspace Configured (${projectScale.toUpperCase()} Mode)`);
|
|
278
|
+
console.log(chalk.green('√') + ' Context Injected (Identity & Domain)');
|
|
312
279
|
|
|
313
|
-
console.log(gradient.rainbow(
|
|
280
|
+
console.log(gradient.rainbow('\n✓ SUCCESS! System Ready'));
|
|
314
281
|
console.log(gradient.atlas('━'.repeat(60)));
|
|
315
282
|
|
|
316
|
-
console.log(chalk.bold.yellow(
|
|
283
|
+
console.log(chalk.bold.yellow('\n🤖 Kích hoạt AI Agent (Next Steps):'));
|
|
317
284
|
if (lang === 'vi') {
|
|
318
285
|
console.log(` 1. Mở dự án: ${chalk.cyan('cd <your-project>')}`);
|
|
319
286
|
console.log(` 2. Mở Chat: ${chalk.cyan('(Sử dụng AI Panel của IDE)')}`);
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export const metadata = {
|
|
2
|
+
title: "Example: Structured Brainstorming | Antigravity Kit",
|
|
3
|
+
description: "Learn how to use the /brainstorm workflow to explore multiple options before committing to an implementation.",
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
import { Callout, StepList, Step, Terminal, TerminalLine, TerminalBlock, ProTips, Tip, FeatureGrid, Feature } from '@/components/mdx'
|
|
7
|
+
|
|
8
|
+
# Structured Brainstorming
|
|
9
|
+
|
|
10
|
+
Explore multiple approaches before writing code with the `/brainstorm` workflow.
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
The `/brainstorm` command activates a **structured ideation mode**.
|
|
15
|
+
Instead of jumping straight to code, the agent explores at least 3 different approaches,
|
|
16
|
+
analyzes pros and cons, and helps you make an informed decision.
|
|
17
|
+
|
|
18
|
+
<FeatureGrid>
|
|
19
|
+
<Feature title="No Code" description="Ideas only" />
|
|
20
|
+
<Feature title="3+ Options" description="Always compare" />
|
|
21
|
+
<Feature title="Pros/Cons" description="Honest tradeoffs" />
|
|
22
|
+
<Feature title="You Decide" description="Final choice" />
|
|
23
|
+
</FeatureGrid>
|
|
24
|
+
|
|
25
|
+
## The Process
|
|
26
|
+
|
|
27
|
+
<StepList>
|
|
28
|
+
<Step number={1} title="Describe Your Challenge">
|
|
29
|
+
Tell the agent what you want to explore. Be specific about constraints.
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
/brainstorm authentication system for my SaaS app
|
|
33
|
+
```
|
|
34
|
+
</Step>
|
|
35
|
+
<Step number={2} title="Review Options">
|
|
36
|
+
The agent presents 3+ approaches with pros, cons, and effort levels.
|
|
37
|
+
</Step>
|
|
38
|
+
<Step number={3} title="Make Decision">
|
|
39
|
+
Choose an option, then use `/enhance` or `/create` to implement.
|
|
40
|
+
</Step>
|
|
41
|
+
</StepList>
|
|
42
|
+
|
|
43
|
+
## Example Session
|
|
44
|
+
|
|
45
|
+
<Terminal>
|
|
46
|
+
<TerminalLine type="user">/brainstorm state management for complex form</TerminalLine>
|
|
47
|
+
|
|
48
|
+
<TerminalBlock>
|
|
49
|
+
<TerminalLine type="agent">**Exploring Options...**</TerminalLine>
|
|
50
|
+
</TerminalBlock>
|
|
51
|
+
|
|
52
|
+
<div className="space-y-4 pl-8 mb-4">
|
|
53
|
+
<div className="border-t border-zinc-800 pt-3">
|
|
54
|
+
<strong className="text-purple-400">Option A: React Hook Form + Zod</strong>
|
|
55
|
+
<div className="text-xs mt-1 space-y-1">
|
|
56
|
+
<div className="text-green-400">✅ Minimal re-renders, great DX</div>
|
|
57
|
+
<div className="text-red-400">❌ Learning curve</div>
|
|
58
|
+
<div className="text-yellow-400">📊 Effort: Low</div>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
<div className="border-t border-zinc-800 pt-3">
|
|
62
|
+
<strong className="text-purple-400">Option B: Zustand</strong>
|
|
63
|
+
<div className="text-xs mt-1 space-y-1">
|
|
64
|
+
<div className="text-green-400">✅ Full control, persists across routes</div>
|
|
65
|
+
<div className="text-red-400">❌ More boilerplate</div>
|
|
66
|
+
<div className="text-yellow-400">📊 Effort: Medium</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
<TerminalBlock highlight>
|
|
72
|
+
<TerminalLine type="agent">**💡 Recommendation: Option A**</TerminalLine>
|
|
73
|
+
For 20+ fields, RHF minimizes re-renders.
|
|
74
|
+
</TerminalBlock>
|
|
75
|
+
</Terminal>
|
|
76
|
+
|
|
77
|
+
## Pro Tips
|
|
78
|
+
|
|
79
|
+
<ProTips>
|
|
80
|
+
<Tip title="Provide Context">
|
|
81
|
+
Mention constraints: "I need SSR support", "Must work offline".
|
|
82
|
+
</Tip>
|
|
83
|
+
<Tip title="Ask Follow-ups">
|
|
84
|
+
"Tell me more about Option B's scalability" before deciding.
|
|
85
|
+
</Tip>
|
|
86
|
+
</ProTips>
|
|
87
|
+
|
|
88
|
+
## Next Steps
|
|
89
|
+
|
|
90
|
+
- Try `/brainstorm` for your next architecture decision
|
|
91
|
+
- After deciding, use [Add New Feature](/docs/guide/examples/new-feature) to implement
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export const metadata = {
|
|
2
|
+
title: "Example: Create New Application | Antigravity Kit",
|
|
3
|
+
description: "Learn how to use the /create workflow to build new applications from scratch with AI-powered wizards.",
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
import { Callout, StepList, Step, Terminal, TerminalLine, TerminalBlock, ProTips, Tip } from '@/components/mdx'
|
|
7
|
+
|
|
8
|
+
# Create New Application
|
|
9
|
+
|
|
10
|
+
Build complete applications from scratch with the `/create` wizard.
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
The `/create` command is your **application creation wizard**.
|
|
15
|
+
It guides you through an interactive dialogue, understands your requirements,
|
|
16
|
+
plans the architecture, and orchestrates specialist agents to build your app.
|
|
17
|
+
|
|
18
|
+
<Callout type="info">
|
|
19
|
+
**From idea to running app:** Just describe what you want, and the wizard handles tech stack, file structure, database schema, and implementation.
|
|
20
|
+
</Callout>
|
|
21
|
+
|
|
22
|
+
## The Process
|
|
23
|
+
|
|
24
|
+
<StepList>
|
|
25
|
+
<Step number={1} title="Describe Your App">
|
|
26
|
+
Tell the wizard what you want to build. It will ask clarifying questions if needed.
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
/create e-commerce site with product listing and cart
|
|
30
|
+
```
|
|
31
|
+
</Step>
|
|
32
|
+
<Step number={2} title="Review Plan">
|
|
33
|
+
The `project-planner` agent creates a detailed plan. Approve to proceed.
|
|
34
|
+
</Step>
|
|
35
|
+
<Step number={3} title="Agents Build">
|
|
36
|
+
Specialist agents work in parallel: database-architect, backend, frontend.
|
|
37
|
+
</Step>
|
|
38
|
+
</StepList>
|
|
39
|
+
|
|
40
|
+
## Example Session
|
|
41
|
+
|
|
42
|
+
<Terminal>
|
|
43
|
+
<TerminalLine type="user">/create todo app with dark mode</TerminalLine>
|
|
44
|
+
|
|
45
|
+
<TerminalBlock>
|
|
46
|
+
<TerminalLine type="agent">**Analyzing request...**</TerminalLine>
|
|
47
|
+
Tech Stack: Next.js + Tailwind + Zustand
|
|
48
|
+
<span className="text-yellow-300">Proceed? (Y/N)</span>
|
|
49
|
+
</TerminalBlock>
|
|
50
|
+
|
|
51
|
+
<TerminalLine type="user">Y</TerminalLine>
|
|
52
|
+
|
|
53
|
+
<div className="space-y-2 pl-8 mb-4">
|
|
54
|
+
<div className="flex items-center gap-2">
|
|
55
|
+
<span className="w-2 h-2 rounded-full bg-blue-500 animate-pulse"></span>
|
|
56
|
+
<span><strong>Backend:</strong> Creating store...</span>
|
|
57
|
+
</div>
|
|
58
|
+
<div className="flex items-center gap-2">
|
|
59
|
+
<span className="w-2 h-2 rounded-full bg-pink-500 animate-pulse"></span>
|
|
60
|
+
<span><strong>Frontend:</strong> Building components...</span>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<TerminalBlock highlight>
|
|
65
|
+
<TerminalLine type="agent">**🚀 App Created!**</TerminalLine>
|
|
66
|
+
Preview: <span className="text-blue-400">http://localhost:3000</span>
|
|
67
|
+
</TerminalBlock>
|
|
68
|
+
</Terminal>
|
|
69
|
+
|
|
70
|
+
## Pro Tips
|
|
71
|
+
|
|
72
|
+
<ProTips>
|
|
73
|
+
<Tip title="Be Specific">
|
|
74
|
+
"E-commerce with Stripe" beats "online store".
|
|
75
|
+
</Tip>
|
|
76
|
+
<Tip title="Start Simple">
|
|
77
|
+
Create MVP first, use `/enhance` to iterate.
|
|
78
|
+
</Tip>
|
|
79
|
+
</ProTips>
|
|
80
|
+
|
|
81
|
+
## Next Steps
|
|
82
|
+
|
|
83
|
+
- Run `/create` followed by your app idea
|
|
84
|
+
- Use [Add New Feature](/docs/guide/examples/new-feature) to extend
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export const metadata = {
|
|
2
|
+
title: "Example: Systematic Debugging | Antigravity Kit",
|
|
3
|
+
description: "Learn how to solve complex issues using the /debug workflow's 4-phase investigation protocol.",
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
import { Callout, StepList, Step, Terminal, TerminalLine, TerminalBlock, ProTips, Tip } from '@/components/mdx'
|
|
7
|
+
|
|
8
|
+
# Systematic Debugging
|
|
9
|
+
|
|
10
|
+
Solve complex issues using the rigorous `/debug` workflow.
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
The `/debug` workflow enforces a **4-phase investigation protocol** (Discovery, Hypothesis, Verification, Resolution). It prevents guess-driven development by requiring evidence before code changes.
|
|
15
|
+
|
|
16
|
+
<Callout type="info" title="When to use:">
|
|
17
|
+
- "The login button does nothing"
|
|
18
|
+
- "API returns 500 error intermittently"
|
|
19
|
+
- "App crashes on mobile only"
|
|
20
|
+
</Callout>
|
|
21
|
+
|
|
22
|
+
## The Process
|
|
23
|
+
|
|
24
|
+
<StepList>
|
|
25
|
+
<Step number={1} title="Discovery">
|
|
26
|
+
Gathers facts: Error logs, user reports, reproduction steps.
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
/debug Login returns 403 even with correct credentials
|
|
30
|
+
```
|
|
31
|
+
</Step>
|
|
32
|
+
<Step number={2} title="Hypothesis">
|
|
33
|
+
Formulates potential causes prioritized by likelihood.
|
|
34
|
+
</Step>
|
|
35
|
+
<Step number={3} title="Verification">
|
|
36
|
+
Systematically tests each hypothesis using scripts or logs.
|
|
37
|
+
</Step>
|
|
38
|
+
<Step number={4} title="Resolution">
|
|
39
|
+
Implements the fix and adds a regression test.
|
|
40
|
+
</Step>
|
|
41
|
+
</StepList>
|
|
42
|
+
|
|
43
|
+
## Example Session
|
|
44
|
+
|
|
45
|
+
<Terminal>
|
|
46
|
+
<TerminalLine type="user">/debug Form submission fails silently</TerminalLine>
|
|
47
|
+
|
|
48
|
+
<TerminalBlock>
|
|
49
|
+
<TerminalLine type="agent">**Phase 1: Discovery**</TerminalLine>
|
|
50
|
+
Reading `CheckoutForm.tsx`... Found `handleSubmit`.
|
|
51
|
+
<span className="text-red-400">ERROR: Cannot read properties of undefined</span>
|
|
52
|
+
</TerminalBlock>
|
|
53
|
+
|
|
54
|
+
<TerminalBlock>
|
|
55
|
+
<TerminalLine type="agent">**Phase 2: Hypothesis**</TerminalLine>
|
|
56
|
+
<div className="text-xs mt-1">
|
|
57
|
+
1. `emailRef.current` is null on mount<br/>
|
|
58
|
+
2. Event handler not bound correctly
|
|
59
|
+
</div>
|
|
60
|
+
</TerminalBlock>
|
|
61
|
+
|
|
62
|
+
<TerminalBlock highlight>
|
|
63
|
+
<TerminalLine type="agent">**Phase 4: Resolution**</TerminalLine>
|
|
64
|
+
Fix applied: Added null check to `emailRef`.
|
|
65
|
+
<span className="text-green-400">✅ Test passed: Form submits successfully.</span>
|
|
66
|
+
</TerminalBlock>
|
|
67
|
+
</Terminal>
|
|
68
|
+
|
|
69
|
+
## Pro Tips
|
|
70
|
+
|
|
71
|
+
<ProTips>
|
|
72
|
+
<Tip title="Provide Context">
|
|
73
|
+
Paste the exact error message or stack trace for faster discovery.
|
|
74
|
+
</Tip>
|
|
75
|
+
<Tip title="Trust, Verify">
|
|
76
|
+
Ask the agent to run the reproduction case again to confirm it's solved.
|
|
77
|
+
</Tip>
|
|
78
|
+
</ProTips>
|
|
79
|
+
|
|
80
|
+
## Next Steps
|
|
81
|
+
|
|
82
|
+
- Try `/debug` on an existing bug
|
|
83
|
+
- See [Deployment](/docs/guide/examples/deployment) to ship your fix
|