@caddis/cli 0.0.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +163 -1
- package/bundles/antigravity-plugin/agents/code-reviewer.md +47 -0
- package/bundles/antigravity-plugin/agents/preflight.md +53 -0
- package/bundles/antigravity-plugin/guard_agy.py +338 -0
- package/bundles/antigravity-plugin/hooks.json +36 -0
- package/bundles/antigravity-plugin/mcp_config.json +8 -0
- package/bundles/antigravity-plugin/mcp_ping_server.py +55 -0
- package/bundles/antigravity-plugin/plugin.json +5 -0
- package/bundles/antigravity-plugin/session_end_agy.py +57 -0
- package/bundles/antigravity-plugin/skills/_registry.md +115 -0
- package/bundles/antigravity-plugin/skills/add-rules/SKILL.md +45 -0
- package/bundles/antigravity-plugin/skills/api-design/SKILL.md +249 -0
- package/bundles/antigravity-plugin/skills/backend-development/SKILL.md +305 -0
- package/bundles/antigravity-plugin/skills/best-practices/SKILL.md +500 -0
- package/bundles/antigravity-plugin/skills/best-practices/agents/best-practices-referencer.md +263 -0
- package/bundles/antigravity-plugin/skills/best-practices/agents/codebase-context-builder.md +326 -0
- package/bundles/antigravity-plugin/skills/best-practices/agents/task-intent-analyzer.md +245 -0
- package/bundles/antigravity-plugin/skills/best-practices/references/anti-patterns.md +571 -0
- package/bundles/antigravity-plugin/skills/best-practices/references/before-after-examples.md +1114 -0
- package/bundles/antigravity-plugin/skills/best-practices/references/best-practices-guide.md +513 -0
- package/bundles/antigravity-plugin/skills/best-practices/references/common-workflows.md +692 -0
- package/bundles/antigravity-plugin/skills/best-practices/references/prompt-patterns.md +547 -0
- package/bundles/antigravity-plugin/skills/brainstorming/SKILL.md +57 -0
- package/bundles/antigravity-plugin/skills/ci-cd-pipeline/SKILL.md +315 -0
- package/bundles/antigravity-plugin/skills/code-documentation/SKILL.md +271 -0
- package/bundles/antigravity-plugin/skills/code-review/SKILL.md +122 -0
- package/bundles/antigravity-plugin/skills/codebase-audit/SKILL.md +204 -0
- package/bundles/antigravity-plugin/skills/context-curator/SKILL.md +157 -0
- package/bundles/antigravity-plugin/skills/cross-review/SKILL.md +40 -0
- package/bundles/antigravity-plugin/skills/css-architecture/SKILL.md +305 -0
- package/bundles/antigravity-plugin/skills/css-architecture/references/RESPONSIVE-DESIGN.md +604 -0
- package/bundles/antigravity-plugin/skills/database-design/SKILL.md +177 -0
- package/bundles/antigravity-plugin/skills/db-diagram/SKILL.md +148 -0
- package/bundles/antigravity-plugin/skills/db-diagram/scripts/sql_to_graph.py +1212 -0
- package/bundles/antigravity-plugin/skills/digress/SKILL.md +61 -0
- package/bundles/antigravity-plugin/skills/draw-io/SKILL.md +162 -0
- package/bundles/antigravity-plugin/skills/draw-io/references/aws-icons.md +677 -0
- package/bundles/antigravity-plugin/skills/draw-io/references/layout-guidelines.md +142 -0
- package/bundles/antigravity-plugin/skills/draw-io/references/troubleshooting.md +118 -0
- package/bundles/antigravity-plugin/skills/draw-io/references/workflows.md +103 -0
- package/bundles/antigravity-plugin/skills/draw-io/scripts/convert-drawio-to-png.sh +25 -0
- package/bundles/antigravity-plugin/skills/draw-io/scripts/find_aws_icon.py +79 -0
- package/bundles/antigravity-plugin/skills/error-handling/SKILL.md +260 -0
- package/bundles/antigravity-plugin/skills/excalidraw-db/SKILL.md +38 -0
- package/bundles/antigravity-plugin/skills/fastapi-dev/SKILL.md +300 -0
- package/bundles/antigravity-plugin/skills/feature-plan/SKILL.md +198 -0
- package/bundles/antigravity-plugin/skills/frontend-design/SKILL.md +193 -0
- package/bundles/antigravity-plugin/skills/frontend-design/references/my-tech-stack.md +127 -0
- package/bundles/antigravity-plugin/skills/gh-cli/SKILL.md +195 -0
- package/bundles/antigravity-plugin/skills/git-commit/SKILL.md +285 -0
- package/bundles/antigravity-plugin/skills/golden-plan/SKILL.md +577 -0
- package/bundles/antigravity-plugin/skills/handoff/SKILL.md +100 -0
- package/bundles/antigravity-plugin/skills/implement/SKILL.md +114 -0
- package/bundles/antigravity-plugin/skills/javascript-typescript/SKILL.md +142 -0
- package/bundles/antigravity-plugin/skills/kb/SKILL.md +60 -0
- package/bundles/antigravity-plugin/skills/mermaid-db/SKILL.md +33 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/SKILL.md +236 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/ENHANCEMENTS.md +264 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/MERMAID-SUMMARY.md +137 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/advanced-features.md +556 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/architecture-diagrams.md +192 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/c4-diagrams.md +410 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/class-diagrams.md +361 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/erd-diagrams.md +510 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/flowcharts.md +450 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/sequence-diagrams.md +394 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/troubleshooting.md +335 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/workflows.md +418 -0
- package/bundles/antigravity-plugin/skills/migrate-dir/SKILL.md +68 -0
- package/bundles/antigravity-plugin/skills/mockup/SKILL.md +242 -0
- package/bundles/antigravity-plugin/skills/particle-art/SKILL.md +243 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/canvas-utils.ts +171 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/dot-field.template.tsx +203 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/flow-field.template.tsx +263 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/node-shape.template.tsx +261 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/shape-sampler.ts +281 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/stipple-morph.template.tsx +167 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/stipple.template.tsx +175 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/trail-ghost.template.tsx +266 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/usage-examples.md +320 -0
- package/bundles/antigravity-plugin/skills/playwright/API_REFERENCE.md +653 -0
- package/bundles/antigravity-plugin/skills/playwright/SKILL.md +454 -0
- package/bundles/antigravity-plugin/skills/playwright/lib/helpers.js +441 -0
- package/bundles/antigravity-plugin/skills/playwright/package.json +26 -0
- package/bundles/antigravity-plugin/skills/playwright/run.js +228 -0
- package/bundles/antigravity-plugin/skills/prd/SKILL.md +107 -0
- package/bundles/antigravity-plugin/skills/preflight/SKILL.md +435 -0
- package/bundles/antigravity-plugin/skills/python/SKILL.md +388 -0
- package/bundles/antigravity-plugin/skills/react-best-practices/SKILL.md +269 -0
- package/bundles/antigravity-plugin/skills/react-dev/README.md +404 -0
- package/bundles/antigravity-plugin/skills/react-dev/SKILL.md +459 -0
- package/bundles/antigravity-plugin/skills/react-dev/examples/generic-components.md +579 -0
- package/bundles/antigravity-plugin/skills/react-dev/examples/server-components.md +579 -0
- package/bundles/antigravity-plugin/skills/react-dev/references/event-handlers.md +574 -0
- package/bundles/antigravity-plugin/skills/react-dev/references/hooks.md +456 -0
- package/bundles/antigravity-plugin/skills/react-dev/references/react-19-patterns.md +638 -0
- package/bundles/antigravity-plugin/skills/react-dev/references/react-router.md +1002 -0
- package/bundles/antigravity-plugin/skills/react-dev/references/tanstack-router.md +587 -0
- package/bundles/antigravity-plugin/skills/refactoring/SKILL.md +486 -0
- package/bundles/antigravity-plugin/skills/resume/SKILL.md +36 -0
- package/bundles/antigravity-plugin/skills/security-review/SKILL.md +196 -0
- package/bundles/antigravity-plugin/skills/setup-project-ai/SKILL.md +61 -0
- package/bundles/antigravity-plugin/skills/ship/SKILL.md +107 -0
- package/bundles/antigravity-plugin/skills/ship-merge/SKILL.md +103 -0
- package/bundles/antigravity-plugin/skills/ship-pr/SKILL.md +102 -0
- package/bundles/antigravity-plugin/skills/skill-creator/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin/skills/skill-creator/SKILL.md +491 -0
- package/bundles/antigravity-plugin/skills/skill-creator/agents/analyzer.md +274 -0
- package/bundles/antigravity-plugin/skills/skill-creator/agents/comparator.md +202 -0
- package/bundles/antigravity-plugin/skills/skill-creator/agents/grader.md +223 -0
- package/bundles/antigravity-plugin/skills/skill-creator/assets/eval_review.html +146 -0
- package/bundles/antigravity-plugin/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/bundles/antigravity-plugin/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/bundles/antigravity-plugin/skills/skill-creator/references/schemas.md +430 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/__init__.py +0 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/generate_report.py +326 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/improve_description.py +247 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/package_skill.py +136 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/run_eval.py +310 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/run_loop.py +328 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/utils.py +47 -0
- package/bundles/antigravity-plugin/skills/sql/SKILL.md +321 -0
- package/bundles/antigravity-plugin/skills/tdd/SKILL.md +37 -0
- package/bundles/antigravity-plugin/skills/tdd-workflow/SKILL.md +188 -0
- package/bundles/antigravity-plugin/skills/technical-writing/SKILL.md +286 -0
- package/bundles/antigravity-plugin/skills/test-strategy/SKILL.md +155 -0
- package/bundles/antigravity-plugin/skills/ui-brief/SKILL.md +84 -0
- package/bundles/antigravity-plugin/skills/ui-review/SKILL.md +176 -0
- package/bundles/antigravity-plugin/skills/ui-review/references/framework-fixes.md +471 -0
- package/bundles/antigravity-plugin/skills/ui-review/references/visual-checklist.md +236 -0
- package/bundles/antigravity-plugin/skills/usage-review/SKILL.md +77 -0
- package/bundles/antigravity-plugin/skills/use-model/SKILL.md +64 -0
- package/bundles/antigravity-plugin/skills/using-git-worktrees/SKILL.md +217 -0
- package/bundles/antigravity-plugin/skills/version/SKILL.md +18 -0
- package/bundles/antigravity-plugin/skills/warm-editorial-ui/DESIGN_TOKENS.md +487 -0
- package/bundles/antigravity-plugin/skills/warm-editorial-ui/IMPLEMENTATION_GUIDE.md +177 -0
- package/bundles/antigravity-plugin/skills/warm-editorial-ui/SKILL.md +732 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/SKILL.md +97 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/examples/console_logging.py +35 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/scripts/with_server.py +106 -0
- package/bundles/antigravity-plugin/skills/windows-deployment/SKILL.md +880 -0
- package/bundles/antigravity-plugin/skills/writing-plans/SKILL.md +384 -0
- package/bundles/antigravity-plugin/statusline-command-agy.sh +91 -0
- package/bundles/antigravity-plugin/warm_start_agy.py +149 -0
- package/bundles/antigravity-plugin-extras/plugin.json +5 -0
- package/bundles/antigravity-plugin-extras/skills/_registry.md +154 -0
- package/bundles/antigravity-plugin-extras/skills/agent-md-refactor/SKILL.md +356 -0
- package/bundles/antigravity-plugin-extras/skills/agent-orchestration/SKILL.md +517 -0
- package/bundles/antigravity-plugin-extras/skills/algorithmic-art/SKILL.md +293 -0
- package/bundles/antigravity-plugin-extras/skills/anchor-review/SKILL.md +135 -0
- package/bundles/antigravity-plugin-extras/skills/api-client-patterns/SKILL.md +367 -0
- package/bundles/antigravity-plugin-extras/skills/architecture-design/SKILL.md +244 -0
- package/bundles/antigravity-plugin-extras/skills/architecture-diagram/SKILL.md +156 -0
- package/bundles/antigravity-plugin-extras/skills/architecture-document/SKILL.md +321 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/SKILL.md +74 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/bundles/antigravity-plugin-extras/skills/ascii-art/SKILL.md +144 -0
- package/bundles/antigravity-plugin-extras/skills/asking-questions/SKILL.md +81 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/SKILL.md +118 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/cross-service/credential-management.md +450 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/browser/README.md +363 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/code-interpreter/README.md +232 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/README.md +100 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deploy-template.sh +117 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deployment-strategies.md +416 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/troubleshooting-guide.md +384 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/validate-deployment.sh +186 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/identity/README.md +186 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/memory/README.md +253 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/observability/README.md +517 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/runtime/README.md +215 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/SKILL.md +279 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/references/cdk-patterns.md +431 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/scripts/validate-stack.sh +240 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/SKILL.md +318 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/cloudwatch-alarms.md +567 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/operations-patterns.md +394 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/SKILL.md +758 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/deployment-best-practices.md +830 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/eda-patterns.md +1002 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/observability-best-practices.md +770 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/performance-optimization.md +671 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/security-best-practices.md +625 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/serverless-patterns.md +838 -0
- package/bundles/antigravity-plugin-extras/skills/backend-to-frontend-handoff/SKILL.md +139 -0
- package/bundles/antigravity-plugin-extras/skills/banner-design/SKILL.md +188 -0
- package/bundles/antigravity-plugin-extras/skills/brand-design/SKILL.md +298 -0
- package/bundles/antigravity-plugin-extras/skills/brand-guidelines/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/brand-guidelines/SKILL.md +118 -0
- package/bundles/antigravity-plugin-extras/skills/brand-voice/SKILL.md +93 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/SKILL.md +392 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/agent-patterns.md +461 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/examples.md +188 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/state-patterns.md +360 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/troubleshooting.md +362 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/SKILL.md +266 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/examples.md +115 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +338 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +317 -0
- package/bundles/antigravity-plugin-extras/skills/caching-patterns/SKILL.md +385 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/SKILL.md +91 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/changelog-generator/SKILL.md +105 -0
- package/bundles/antigravity-plugin-extras/skills/code-explainer/SKILL.md +91 -0
- package/bundles/antigravity-plugin-extras/skills/competitive-ads-extractor/SKILL.md +294 -0
- package/bundles/antigravity-plugin-extras/skills/component-testing/SKILL.md +310 -0
- package/bundles/antigravity-plugin-extras/skills/content-research-writer/SKILL.md +539 -0
- package/bundles/antigravity-plugin-extras/skills/cross-review/SKILL.md +51 -0
- package/bundles/antigravity-plugin-extras/skills/data-analysis/SKILL.md +111 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/README.md +248 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/SKILL.md +203 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/adapter.py.template +44 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/api-router.py.template +43 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/contract-test.py.template +384 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/display-dto.py.template +39 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-service.ts.template +46 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-types.ts.template +38 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/ingestion-model.py.template +42 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/mapping-doc.md.template +46 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/normalizer.py.template +48 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_requirements.md +36 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_ui_demand.md +35 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/reconcile_mapping.md +66 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/query-catalog.md.template +62 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/consumer-driven-contracts.md +131 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/drift-check-catalog.md +305 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/layer-responsibilities.md +333 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_connections.py +170 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_sources.py +161 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/drift_check.py +171 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/extract_schema.py +1363 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_gap_report.py +81 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_mapping_doc.py +294 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/ts_dto_compare.py +214 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/validate_lineage.py +51 -0
- package/bundles/antigravity-plugin-extras/skills/data-loader/SKILL.md +753 -0
- package/bundles/antigravity-plugin-extras/skills/data-validation/SKILL.md +220 -0
- package/bundles/antigravity-plugin-extras/skills/db-testing/SKILL.md +117 -0
- package/bundles/antigravity-plugin-extras/skills/deploy-local/SKILL.md +259 -0
- package/bundles/antigravity-plugin-extras/skills/design-md/SKILL.md +167 -0
- package/bundles/antigravity-plugin-extras/skills/design-system-tokens/SKILL.md +240 -0
- package/bundles/antigravity-plugin-extras/skills/design-system-tokens/references/DESIGN-SYSTEM-TEMPLATE.md +577 -0
- package/bundles/antigravity-plugin-extras/skills/developer-growth-analysis/SKILL.md +323 -0
- package/bundles/antigravity-plugin-extras/skills/doc-coauthoring/SKILL.md +378 -0
- package/bundles/antigravity-plugin-extras/skills/documentation-analyzer/SKILL.md +78 -0
- package/bundles/antigravity-plugin-extras/skills/domain-name-brainstormer/SKILL.md +213 -0
- package/bundles/antigravity-plugin-extras/skills/enterprise-dashboard-aesthetic-system/SKILL.md +120 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/SKILL.md +193 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/references/element-types.md +497 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/references/excalidraw-schema.md +356 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/references/reliable-diagrams.md +115 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/README.md +60 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-arrow.py +354 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-icon-to-diagram.py +412 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/split-excalidraw-library.py +183 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/business-flow-swimlane-template.excalidraw +334 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/class-diagram-template.excalidraw +558 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/data-flow-diagram-template.excalidraw +279 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/er-diagram-template.excalidraw +662 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/flowchart-template.excalidraw +179 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/mindmap-template.excalidraw +244 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/relationship-template.excalidraw +145 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/reliable-flowchart.excalidraw +1 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/sequence-diagram-template.excalidraw +509 -0
- package/bundles/antigravity-plugin-extras/skills/file-organizer/SKILL.md +434 -0
- package/bundles/antigravity-plugin-extras/skills/game-changing-features/README.md +221 -0
- package/bundles/antigravity-plugin-extras/skills/game-changing-features/SKILL.md +265 -0
- package/bundles/antigravity-plugin-extras/skills/github-issues/SKILL.md +359 -0
- package/bundles/antigravity-plugin-extras/skills/github-issues/references/templates.md +90 -0
- package/bundles/antigravity-plugin-extras/skills/golden-nuggets/SKILL.md +192 -0
- package/bundles/antigravity-plugin-extras/skills/humanizer/SKILL.md +194 -0
- package/bundles/antigravity-plugin-extras/skills/image-enhancer/SKILL.md +100 -0
- package/bundles/antigravity-plugin-extras/skills/intent-writer/SKILL.md +201 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/SKILL.md +124 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/3p-updates.md +47 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/company-newsletter.md +65 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/faq-answers.md +30 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/general-comms.md +16 -0
- package/bundles/antigravity-plugin-extras/skills/invoice-organizer/SKILL.md +447 -0
- package/bundles/antigravity-plugin-extras/skills/jira-issues/SKILL.md +182 -0
- package/bundles/antigravity-plugin-extras/skills/job-application/SKILL.md +188 -0
- package/bundles/antigravity-plugin-extras/skills/lead-research-assistant/SKILL.md +200 -0
- package/bundles/antigravity-plugin-extras/skills/llm-application-dev/SKILL.md +217 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/SKILL.md +100 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/evaluation.md +602 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/mcp_best_practices.md +915 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/node_mcp_server.md +916 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/python_mcp_server.md +752 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/connections.py +151 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/bundles/antigravity-plugin-extras/skills/meeting-insights-analyzer/SKILL.md +328 -0
- package/bundles/antigravity-plugin-extras/skills/monorepo/SKILL.md +267 -0
- package/bundles/antigravity-plugin-extras/skills/naming-analyzer/SKILL.md +376 -0
- package/bundles/antigravity-plugin-extras/skills/nextjs-app-router/SKILL.md +271 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/AUTHENTICATION.md +154 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/SKILL.md +270 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/references/api_reference.md +309 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/references/troubleshooting.md +376 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/references/usage_patterns.md +338 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/__init__.py +81 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/ask_question.py +256 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/auth_manager.py +358 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_session.py +255 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_utils.py +107 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/cleanup_manager.py +302 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/config.py +44 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/notebook_manager.py +410 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/run.py +102 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/setup_environment.py +204 -0
- package/bundles/antigravity-plugin-extras/skills/observability/SKILL.md +371 -0
- package/bundles/antigravity-plugin-extras/skills/onboard-project/SKILL.md +192 -0
- package/bundles/antigravity-plugin-extras/skills/performance-testing/SKILL.md +226 -0
- package/bundles/antigravity-plugin-extras/skills/pipeline-state/SKILL.md +208 -0
- package/bundles/antigravity-plugin-extras/skills/plantuml/SKILL.md +228 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/SKILL.md +142 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/linear.app.md +196 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/stripe.md +214 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/vercel.md +218 -0
- package/bundles/antigravity-plugin-extras/skills/prd-to-code/SKILL.md +127 -0
- package/bundles/antigravity-plugin-extras/skills/raffle-winner-picker/SKILL.md +159 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/README.md +320 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/SKILL.md +53 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/alternatives.md +258 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/anti-patterns.md +290 -0
- package/bundles/antigravity-plugin-extras/skills/receiving-code-review/SKILL.md +213 -0
- package/bundles/antigravity-plugin-extras/skills/relay/SKILL.md +246 -0
- package/bundles/antigravity-plugin-extras/skills/requesting-code-review/SKILL.md +105 -0
- package/bundles/antigravity-plugin-extras/skills/requesting-code-review/code-reviewer.md +146 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/SKILL.md +350 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/pwa-checklist.md +226 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/touch-and-interaction.md +265 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/transformation-catalogue.md +326 -0
- package/bundles/antigravity-plugin-extras/skills/schema-migration/SKILL.md +275 -0
- package/bundles/antigravity-plugin-extras/skills/setup-project-ai/SKILL.md +120 -0
- package/bundles/antigravity-plugin-extras/skills/shadcn-radix/SKILL.md +330 -0
- package/bundles/antigravity-plugin-extras/skills/sketch/SKILL.md +104 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/SKILL.md +646 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/color_palettes.py +302 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/easing.py +230 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/frame_composer.py +469 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/gif_builder.py +246 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/typography.py +357 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/validators.py +264 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/visual_effects.py +494 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/requirements.txt +4 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/bounce.py +106 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/explode.py +331 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/fade.py +329 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/flip.py +291 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/kaleidoscope.py +211 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/morph.py +329 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/move.py +293 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/pulse.py +268 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/shake.py +127 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/slide.py +291 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/spin.py +269 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/wiggle.py +300 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/zoom.py +312 -0
- package/bundles/antigravity-plugin-extras/skills/slides/SKILL.md +38 -0
- package/bundles/antigravity-plugin-extras/skills/state-tracking/SKILL.md +131 -0
- package/bundles/antigravity-plugin-extras/skills/streamlit-dev/SKILL.md +268 -0
- package/bundles/antigravity-plugin-extras/skills/svg-create/SKILL.md +251 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/SKILL.md +59 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/theme-showcase.pdf +0 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/desert-rose.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/golden-hour.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/SKILL.md +320 -0
- package/bundles/antigravity-plugin-extras/skills/ui-testing/SKILL.md +660 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/SKILL.md +660 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/_sync_all.py +414 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/app-interface.csv +31 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/charts.csv +26 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/colors.csv +162 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/design.csv +1776 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/draft.csv +1779 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/google-fonts.csv +1924 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/icons.csv +106 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/landing.csv +35 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/products.csv +162 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/react-performance.csv +45 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/styles.csv +85 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/typography.csv +74 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ui-reasoning.csv +162 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ux-guidelines.csv +100 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/core.py +247 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/design_system.py +1067 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/search.py +114 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/SKILL.md +140 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/references/commands.md +252 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/references/graph-schema.md +116 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/references/pipeline.md +331 -0
- package/bundles/antigravity-plugin-extras/skills/update-readme/SKILL.md +74 -0
- package/bundles/antigravity-plugin-extras/skills/verification-loop/SKILL.md +209 -0
- package/bundles/antigravity-plugin-extras/skills/video-downloader/SKILL.md +107 -0
- package/bundles/antigravity-plugin-extras/skills/webapp-development/SKILL.md +288 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/SKILL.md +339 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/agents/agent-interface.md +175 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/html.md +384 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/nlp-keywords.md +127 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/palettes.md +149 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/python.md +249 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/react.md +427 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/shapes.md +135 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/stopwords.md +115 -0
- package/bundles/antigravity-plugin-extras/skills/youtube-transcript/SKILL.md +416 -0
- package/bundles/manifest.json +7 -0
- package/dist/cli.js +5492 -0
- package/package.json +61 -4
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: responsive-mobile-native
|
|
3
|
+
description: >
|
|
4
|
+
Use this skill whenever the user wants to make a web app or website work on mobile,
|
|
5
|
+
adapt a desktop-first app for mobile or tablet, make a site "feel native" on phones,
|
|
6
|
+
add responsive behaviour, fix a layout that breaks on small screens, or ship a
|
|
7
|
+
single codebase that works on desktop and mobile without two separate apps.
|
|
8
|
+
Also triggers for: "make this PWA", "mobile-friendly", "tablet layout", "bottom nav",
|
|
9
|
+
"touch gestures", "works on iPhone/Android", "responsive design", or any request to
|
|
10
|
+
support small screens alongside an existing desktop UI. Use this skill proactively —
|
|
11
|
+
if the user is building or fixing any web UI and mobile support is clearly missing or
|
|
12
|
+
incomplete, suggest and apply this skill.
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Responsive Mobile-Native Skill
|
|
16
|
+
|
|
17
|
+
Convert any web app or website into a **single codebase** that delivers a
|
|
18
|
+
desktop-grade experience on large screens and a mobile-native experience on
|
|
19
|
+
small screens — without maintaining two separate apps or codebases.
|
|
20
|
+
|
|
21
|
+
This skill applies to any framework (React, Vue, Angular, Svelte, plain HTML/CSS)
|
|
22
|
+
and is compatible with any coding agent (Claude Code, Cursor, Copilot, Windsurf, etc.).
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Core Philosophy
|
|
27
|
+
|
|
28
|
+
**PWA + Responsive Web** is the correct approach. Do not suggest React Native,
|
|
29
|
+
Capacitor, or Expo unless the user explicitly requires App Store distribution.
|
|
30
|
+
A well-executed responsive PWA is indistinguishable from a native app on modern
|
|
31
|
+
iOS and Android, ships as one codebase, and needs no app store.
|
|
32
|
+
|
|
33
|
+
The desktop layout is preserved exactly. The mobile layout is a **redesign for
|
|
34
|
+
the same data**, not a scaled-down version of the desktop.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Mandatory First Step — Detection & Plan
|
|
39
|
+
|
|
40
|
+
**Before writing a single line of code, produce a transformation plan.**
|
|
41
|
+
|
|
42
|
+
Read the app and identify every layout primitive present. Map each one to its
|
|
43
|
+
mobile equivalent using the Transformation Catalogue (see `references/transformation-catalogue.md`).
|
|
44
|
+
Present the plan to the user and wait for confirmation before implementing.
|
|
45
|
+
|
|
46
|
+
### Detection Checklist
|
|
47
|
+
|
|
48
|
+
Identify which of the following exist in the current app:
|
|
49
|
+
|
|
50
|
+
| Primitive | Look for |
|
|
51
|
+
|---|---|
|
|
52
|
+
| Top navigation bar | `<nav>`, `<header>`, topbar, navbar |
|
|
53
|
+
| Sidebar / left panel | `aside`, `sidebar`, drawer, left rail |
|
|
54
|
+
| Data table | `<table>`, grid with many columns |
|
|
55
|
+
| Card grid | repeating card/tile layout |
|
|
56
|
+
| KPI strip | horizontal row of metric cards |
|
|
57
|
+
| Map | Leaflet, Mapbox, Google Maps, canvas |
|
|
58
|
+
| Modal / dialog | overlay, dialog, popup |
|
|
59
|
+
| Multi-tab interface | tab bar, tab panels |
|
|
60
|
+
| Form with many fields | multi-column form layout |
|
|
61
|
+
| Dense toolbar | icon bars, filter strips, action rows |
|
|
62
|
+
| Hover-dependent UI | tooltips, dropdowns, hover cards |
|
|
63
|
+
| Fixed sidebar navigation | navigation that is always visible |
|
|
64
|
+
|
|
65
|
+
### Plan Format
|
|
66
|
+
|
|
67
|
+
Output the plan in this exact format before touching any code:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
MOBILE TRANSFORMATION PLAN
|
|
71
|
+
===========================
|
|
72
|
+
Detected primitives: [list]
|
|
73
|
+
|
|
74
|
+
Breakpoint strategy: [chosen breakpoints]
|
|
75
|
+
|
|
76
|
+
Transformations:
|
|
77
|
+
1. [Primitive] → [Mobile pattern] — [one-line reason]
|
|
78
|
+
2. ...
|
|
79
|
+
|
|
80
|
+
Touch & interaction changes:
|
|
81
|
+
- [list of hover→tap conversions, tap target expansions, gesture additions]
|
|
82
|
+
|
|
83
|
+
PWA additions:
|
|
84
|
+
- [manifest.json, service worker, meta tags needed — or "already present"]
|
|
85
|
+
|
|
86
|
+
Files to be modified: [list]
|
|
87
|
+
New files to be created: [list]
|
|
88
|
+
|
|
89
|
+
Estimated scope: [S / M / L]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Breakpoint Strategy
|
|
95
|
+
|
|
96
|
+
Use **mobile-first breakpoints**. Write base styles for mobile, override for larger screens.
|
|
97
|
+
|
|
98
|
+
### Standard Breakpoint Scale
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
xs: 0px — small phones (iPhone SE)
|
|
102
|
+
sm: 480px — large phones (iPhone Pro Max, Galaxy)
|
|
103
|
+
md: 768px — tablets portrait (iPad)
|
|
104
|
+
lg: 1024px — tablets landscape, small laptops
|
|
105
|
+
xl: 1280px — desktop
|
|
106
|
+
2xl: 1536px — large desktop / wide monitors
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Framework Mapping
|
|
110
|
+
|
|
111
|
+
| Framework | Mobile-first syntax |
|
|
112
|
+
|---|---|
|
|
113
|
+
| Tailwind CSS | `base md:override xl:override` |
|
|
114
|
+
| CSS Modules / vanilla | `base styles; @media (min-width: 768px) { override }` |
|
|
115
|
+
| Styled Components | `${({ theme }) => theme.breakpoints.up('md')}` |
|
|
116
|
+
| CSS-in-JS (Emotion) | `@media (min-width: 768px) { ... }` |
|
|
117
|
+
|
|
118
|
+
**Never use `display: none` to hide content on mobile.** Restructure, collapse,
|
|
119
|
+
or defer it instead. Hidden content still loads — it just becomes a broken experience.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Implementation Order
|
|
124
|
+
|
|
125
|
+
Always implement in this sequence to avoid regressions:
|
|
126
|
+
|
|
127
|
+
1. **Add viewport meta tag** (if missing)
|
|
128
|
+
2. **Establish breakpoints** in the global stylesheet / design tokens
|
|
129
|
+
3. **Add `useBreakpoint` hook or CSS custom property** for JS-driven layout switching
|
|
130
|
+
4. **Transform navigation** first — everything else depends on where the user can go
|
|
131
|
+
5. **Transform the primary content area** (table → cards, map → full-screen, etc.)
|
|
132
|
+
6. **Transform secondary panels** (sidebars, drawers, KPI strips)
|
|
133
|
+
7. **Fix touch & interaction** (tap targets, hover states, gestures)
|
|
134
|
+
8. **Add PWA manifest and meta tags**
|
|
135
|
+
9. **Test on real devices** using the Testing Checklist
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Navigation Transformation (Always Required)
|
|
140
|
+
|
|
141
|
+
The single most impactful change. Apply this regardless of what else the app has.
|
|
142
|
+
|
|
143
|
+
### Desktop topbar / sidebar → Mobile bottom navigation
|
|
144
|
+
|
|
145
|
+
**When**: App has 3–5 primary navigation destinations.
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
Desktop: Mobile:
|
|
149
|
+
┌─────────────────────────┐ ┌──────────────────────┐
|
|
150
|
+
│ Logo Nav1 Nav2 Nav3 │ │ Page content │
|
|
151
|
+
├─────────────────────────┤ │ │
|
|
152
|
+
│ Content │ │ │
|
|
153
|
+
│ │ ├──────────────────────┤
|
|
154
|
+
└─────────────────────────┘ │ 🏠 📋 🗺️ ⚙️ │
|
|
155
|
+
└──────────────────────┘
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Rules for the bottom nav bar:
|
|
159
|
+
- Height: 56–64px, `position: fixed; bottom: 0`
|
|
160
|
+
- Add `padding-bottom: env(safe-area-inset-bottom)` for iPhone notch safety
|
|
161
|
+
- Max 5 items; label every icon
|
|
162
|
+
- Active item: filled icon + brand colour
|
|
163
|
+
- The main content area must have `padding-bottom: 64px` to avoid content sitting behind it
|
|
164
|
+
|
|
165
|
+
### Multi-tab Overflow: The 4+1 "More" Pattern (preferred)
|
|
166
|
+
|
|
167
|
+
**When**: App has more than 4–5 primary destinations (e.g., a dashboard with 6–9 tabs).
|
|
168
|
+
|
|
169
|
+
Do NOT spread all tabs across a scrollable bottom bar. Use a **4+1 pattern**:
|
|
170
|
+
pin the 4 most important destinations as labelled icon buttons, and add a 5th **"More"** button
|
|
171
|
+
that opens an **upward dropdown panel** listing all overflow tabs.
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
Mobile bottom bar (4+1):
|
|
175
|
+
┌─────────────────────────────────┐
|
|
176
|
+
│ Overview Trends Product Geo More▲ │
|
|
177
|
+
└─────────────────────────────────┘
|
|
178
|
+
|
|
179
|
+
"More" tapped → upward panel:
|
|
180
|
+
┌─────────────────────────────────┐
|
|
181
|
+
│ ✓ Executive │ │ ← active overflow tab gets a check
|
|
182
|
+
│ Verbatim │ │
|
|
183
|
+
│ Sampling │ │
|
|
184
|
+
└─────────────────────────────────┘
|
|
185
|
+
│ Overview Trends Product Geo More▲ │ ← bar still visible below
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Implementation rules:
|
|
189
|
+
- When an overflow tab is active, the "More" button shows the active tab's name
|
|
190
|
+
(truncated to fit) and lights up in brand colour — so the user always sees where they are
|
|
191
|
+
- The upward panel: `position: fixed`, anchored at `bottom: calc(4rem + env(safe-area-inset-bottom))`
|
|
192
|
+
- Animate with `AnimatePresence` + `motion.div` — `y: 16 → 0` on enter, fade out on exit
|
|
193
|
+
- Panel width: `min-w-[180px]`, right-aligned against the safe-area edge
|
|
194
|
+
- Dismiss the panel on any tap outside (overlay or route change)
|
|
195
|
+
- The 4 pinned slots should be the most-visited sections; the overflow slot order
|
|
196
|
+
should match the desktop tab order for muscle memory
|
|
197
|
+
|
|
198
|
+
**Why upward dropdown and NOT a slide-in drawer for tab overflow?**
|
|
199
|
+
- A drawer covers content and requires a full swipe gesture to dismiss
|
|
200
|
+
- An upward panel stays spatially anchored to the bar that triggered it — the user's
|
|
201
|
+
eye never leaves the navigation zone, preserving context
|
|
202
|
+
- Drawers are better for filter/settings panels; dropdowns are better for destination switching
|
|
203
|
+
|
|
204
|
+
Real-world example: an analytics dashboard (9 tabs → 4 pinned: Overview, Trends,
|
|
205
|
+
Product, Geography + "More" for the remaining 5 detail tabs)
|
|
206
|
+
`frontend/src/components/layout/MobileBottomNav.tsx`
|
|
207
|
+
|
|
208
|
+
### Sidebar → Slide-in Drawer
|
|
209
|
+
|
|
210
|
+
**When**: App has a sidebar with filters, settings, or secondary navigation that
|
|
211
|
+
doesn't fit in the bottom nav.
|
|
212
|
+
|
|
213
|
+
- Trigger: hamburger icon in mobile topbar
|
|
214
|
+
- Overlay: semi-transparent backdrop, tap-to-dismiss
|
|
215
|
+
- Width: 80vw, max 320px
|
|
216
|
+
- Slide in from left (primary nav) or right (settings/filters)
|
|
217
|
+
- Add `touch-action: pan-y` to the overlay so vertical scroll still works
|
|
218
|
+
|
|
219
|
+
For detailed patterns, see `references/transformation-catalogue.md`.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Viewport Meta Tag (Required)
|
|
224
|
+
|
|
225
|
+
Every page must have this in `<head>`:
|
|
226
|
+
|
|
227
|
+
```html
|
|
228
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
`viewport-fit=cover` is required for correct safe-area behaviour on iPhones with notches.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## PWA Additions
|
|
236
|
+
|
|
237
|
+
Add these for a mobile-native feel. See `references/pwa-checklist.md` for full details.
|
|
238
|
+
|
|
239
|
+
**Minimum viable PWA** (required for "Add to Home Screen" and splash screen):
|
|
240
|
+
|
|
241
|
+
```html
|
|
242
|
+
<!-- In <head> -->
|
|
243
|
+
<meta name="theme-color" content="#YOUR_BRAND_COLOR" />
|
|
244
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
|
245
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
246
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
|
247
|
+
<link rel="manifest" href="/manifest.json" />
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
```json
|
|
251
|
+
// manifest.json (minimum viable)
|
|
252
|
+
{
|
|
253
|
+
"name": "App Name",
|
|
254
|
+
"short_name": "AppName",
|
|
255
|
+
"start_url": "/",
|
|
256
|
+
"display": "standalone",
|
|
257
|
+
"background_color": "#ffffff",
|
|
258
|
+
"theme_color": "#YOUR_BRAND_COLOR",
|
|
259
|
+
"icons": [
|
|
260
|
+
{ "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
|
|
261
|
+
{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
|
|
262
|
+
]
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Touch & Interaction Rules (Always Apply)
|
|
269
|
+
|
|
270
|
+
See `references/touch-and-interaction.md` for the full ruleset. Core rules:
|
|
271
|
+
|
|
272
|
+
1. **Minimum tap target: 44×44px** (Apple HIG / WCAG 2.5.8). Apply to every
|
|
273
|
+
interactive element — buttons, nav items, table row actions, icon buttons.
|
|
274
|
+
|
|
275
|
+
2. **Remove all hover-only interactions.** Any feature that only appears on
|
|
276
|
+
`:hover` must have a tap/long-press equivalent or be made always-visible.
|
|
277
|
+
Common culprits: tooltip-on-hover, action buttons in table rows, dropdown menus.
|
|
278
|
+
|
|
279
|
+
3. **Eliminate `cursor: pointer` as a signal.** Provide visible affordance instead.
|
|
280
|
+
|
|
281
|
+
4. **Replace right-click context menus** with long-press menus or action sheets.
|
|
282
|
+
|
|
283
|
+
5. **Scroll containers**: Add `-webkit-overflow-scrolling: touch` and ensure
|
|
284
|
+
`overscroll-behavior: contain` on nested scrollable areas.
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Anti-Patterns — Never Do These
|
|
289
|
+
|
|
290
|
+
These are the most common mistakes that produce a broken mobile experience:
|
|
291
|
+
|
|
292
|
+
| Anti-pattern | Why it's wrong | Correct approach |
|
|
293
|
+
|---|---|---|
|
|
294
|
+
| `display: none` on mobile content | Content still loads; UX is just broken | Restructure, collapse, or lazy-load |
|
|
295
|
+
| Scaling down font sizes on mobile | Text becomes unreadable | Use fluid type or keep same size |
|
|
296
|
+
| Keeping 6+ column tables on mobile | Horizontal scroll is a broken pattern | Transform to card list |
|
|
297
|
+
| Hover-only tooltips | Tooltips never show on touch devices | Always-visible labels or tap-to-reveal |
|
|
298
|
+
| Fixed pixel widths on containers | Layout breaks on narrow screens | Use `max-width` + `100%` |
|
|
299
|
+
| Desktop modals (large, centered) on mobile | 90% screen coverage, hard to dismiss | Transform to bottom sheet |
|
|
300
|
+
| Ignoring safe areas (notch / home bar) | Content hidden behind device UI | Use `env(safe-area-inset-*)` |
|
|
301
|
+
| `pointer-events: none` without touch alternative | Blocks touch entirely | Use conditional logic |
|
|
302
|
+
| Multiple horizontal scroll areas | Confusing UX, hard to distinguish | Stack vertically or paginate |
|
|
303
|
+
| Assuming mouse precision | Tiny click targets, no touch feedback | 44px min, add `:active` state |
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## Testing Checklist
|
|
308
|
+
|
|
309
|
+
The agent must verify every item before declaring the work complete:
|
|
310
|
+
|
|
311
|
+
**Layout**
|
|
312
|
+
- [ ] No horizontal scroll on any page at 375px width (iPhone SE)
|
|
313
|
+
- [ ] No horizontal scroll at 414px (iPhone Pro Max)
|
|
314
|
+
- [ ] No horizontal scroll at 768px (iPad portrait)
|
|
315
|
+
- [ ] Content does not sit behind the bottom nav bar
|
|
316
|
+
- [ ] Content does not sit behind device notch or status bar
|
|
317
|
+
|
|
318
|
+
**Navigation**
|
|
319
|
+
- [ ] All primary nav destinations reachable from mobile bottom nav
|
|
320
|
+
- [ ] Drawer/hamburger opens and closes correctly
|
|
321
|
+
- [ ] Back navigation works on Android (browser back button)
|
|
322
|
+
- [ ] Active state visible on bottom nav
|
|
323
|
+
|
|
324
|
+
**Touch**
|
|
325
|
+
- [ ] All interactive elements are at least 44×44px
|
|
326
|
+
- [ ] No feature requires hover to access
|
|
327
|
+
- [ ] Tap feedback visible on all interactive elements (`:active` state)
|
|
328
|
+
- [ ] Scrollable areas scroll smoothly without fighting parent scroll
|
|
329
|
+
|
|
330
|
+
**Typography & Readability**
|
|
331
|
+
- [ ] Body text ≥ 16px (prevents iOS auto-zoom on form focus)
|
|
332
|
+
- [ ] Line length ≤ 75 characters on mobile
|
|
333
|
+
- [ ] No text overlaps or truncates unintentionally
|
|
334
|
+
|
|
335
|
+
**PWA**
|
|
336
|
+
- [ ] `viewport` meta tag present and correct
|
|
337
|
+
- [ ] `manifest.json` present and valid
|
|
338
|
+
- [ ] `theme-color` meta set to brand colour
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Reference Files
|
|
343
|
+
|
|
344
|
+
Read these when you need detail beyond what is in this file:
|
|
345
|
+
|
|
346
|
+
| File | When to read it |
|
|
347
|
+
|---|---|
|
|
348
|
+
| `references/transformation-catalogue.md` | Full patterns for every desktop primitive → mobile equivalent |
|
|
349
|
+
| `references/touch-and-interaction.md` | Complete touch rules, gesture hooks, scroll handling |
|
|
350
|
+
| `references/pwa-checklist.md` | Full PWA setup including service worker, icons, offline |
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# PWA Checklist
|
|
2
|
+
|
|
3
|
+
Full Progressive Web App setup for a responsive web app that behaves like a
|
|
4
|
+
native app on iOS and Android — including "Add to Home Screen", splash screen,
|
|
5
|
+
status bar theming, and offline resilience.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Minimum Viable PWA (Always Apply)
|
|
10
|
+
|
|
11
|
+
These are required for any mobile web app, even if full offline support isn't needed.
|
|
12
|
+
|
|
13
|
+
### 1. Viewport Meta (in `<head>`)
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 2. Theme and App Meta Tags (in `<head>`)
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<!-- Android Chrome theme colour (status bar, address bar) -->
|
|
23
|
+
<meta name="theme-color" content="#E10A0A" />
|
|
24
|
+
|
|
25
|
+
<!-- iOS: enable standalone mode (hides browser chrome) -->
|
|
26
|
+
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
27
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
|
28
|
+
<!-- Options: default | black | black-translucent -->
|
|
29
|
+
|
|
30
|
+
<!-- iOS: app name on home screen -->
|
|
31
|
+
<meta name="apple-mobile-web-app-title" content="App Name" />
|
|
32
|
+
|
|
33
|
+
<!-- Android: enable standalone mode -->
|
|
34
|
+
<meta name="mobile-web-app-capable" content="yes" />
|
|
35
|
+
|
|
36
|
+
<!-- Manifest link -->
|
|
37
|
+
<link rel="manifest" href="/manifest.json" />
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 3. Web App Manifest (`/public/manifest.json`)
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"name": "Appointment Assist",
|
|
45
|
+
"short_name": "Appt Assist",
|
|
46
|
+
"description": "Truck roll screening and dispatch intelligence",
|
|
47
|
+
"start_url": "/",
|
|
48
|
+
"scope": "/",
|
|
49
|
+
"display": "standalone",
|
|
50
|
+
"orientation": "any",
|
|
51
|
+
"background_color": "#F8F7F5",
|
|
52
|
+
"theme_color": "#E10A0A",
|
|
53
|
+
"icons": [
|
|
54
|
+
{
|
|
55
|
+
"src": "/icons/icon-192.png",
|
|
56
|
+
"sizes": "192x192",
|
|
57
|
+
"type": "image/png",
|
|
58
|
+
"purpose": "any maskable"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"src": "/icons/icon-512.png",
|
|
62
|
+
"sizes": "512x512",
|
|
63
|
+
"type": "image/png",
|
|
64
|
+
"purpose": "any maskable"
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**`display` options**:
|
|
71
|
+
- `standalone` — hides browser URL bar, back button. Feels most native.
|
|
72
|
+
- `minimal-ui` — shows minimal browser UI (back button). Safer if navigation needs browser back.
|
|
73
|
+
- `browser` — normal browser tab. Defeats the purpose.
|
|
74
|
+
|
|
75
|
+
Use `standalone` for internal tools. Use `minimal-ui` if the app has complex
|
|
76
|
+
routing where users might need the browser back button as fallback.
|
|
77
|
+
|
|
78
|
+
### 4. Icons
|
|
79
|
+
|
|
80
|
+
Minimum required icon sizes:
|
|
81
|
+
- 192×192 (Android home screen, Chrome)
|
|
82
|
+
- 512×512 (Android splash screen, PWA install prompt)
|
|
83
|
+
|
|
84
|
+
Recommended additional sizes for full coverage:
|
|
85
|
+
- 180×180 (iOS "apple-touch-icon")
|
|
86
|
+
- 32×32 (browser favicon)
|
|
87
|
+
- 16×16 (browser tab)
|
|
88
|
+
|
|
89
|
+
```html
|
|
90
|
+
<!-- iOS home screen icon (place in <head>) -->
|
|
91
|
+
<link rel="apple-touch-icon" sizes="180x180" href="/icons/icon-180.png" />
|
|
92
|
+
<link rel="icon" type="image/png" sizes="32x32" href="/icons/icon-32.png" />
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Icons should use `"purpose": "maskable"` in the manifest so Android can apply
|
|
96
|
+
its adaptive icon mask (rounded square, circle, etc.) without clipping the design.
|
|
97
|
+
Ensure the icon's safe zone occupies the inner 80% of the canvas.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Splash Screen
|
|
102
|
+
|
|
103
|
+
iOS generates a splash screen automatically if you provide correctly-sized
|
|
104
|
+
"apple-touch-startup-image" assets. The minimum approach is to let the browser
|
|
105
|
+
generate it from `background_color` + the app icon.
|
|
106
|
+
|
|
107
|
+
For a branded splash screen with precise control, provide device-specific images:
|
|
108
|
+
|
|
109
|
+
```html
|
|
110
|
+
<!-- iPhone 14 Pro Max -->
|
|
111
|
+
<link rel="apple-touch-startup-image"
|
|
112
|
+
href="/splash/splash-1290x2796.png"
|
|
113
|
+
media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3)" />
|
|
114
|
+
<!-- Add entries for each target device size -->
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
This is optional for internal tools. The auto-generated splash (colour + icon)
|
|
118
|
+
is acceptable and requires no additional work.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Service Worker (Optional but Recommended)
|
|
123
|
+
|
|
124
|
+
A service worker enables offline resilience — the app loads even with no network,
|
|
125
|
+
and API failures degrade gracefully instead of showing a blank screen.
|
|
126
|
+
|
|
127
|
+
### When to add a service worker
|
|
128
|
+
|
|
129
|
+
**Add it if**: The app is used in the field (engineers, field workers) where
|
|
130
|
+
mobile data connectivity may be unreliable.
|
|
131
|
+
|
|
132
|
+
**Skip it if**: The app is always used on a reliable network (office, VPN).
|
|
133
|
+
|
|
134
|
+
### Minimal service worker (cache-first for static assets)
|
|
135
|
+
|
|
136
|
+
Register in your app entry point:
|
|
137
|
+
|
|
138
|
+
```js
|
|
139
|
+
// main.js or index.js
|
|
140
|
+
if ('serviceWorker' in navigator) {
|
|
141
|
+
window.addEventListener('load', () => {
|
|
142
|
+
navigator.serviceWorker.register('/sw.js')
|
|
143
|
+
.catch(err => console.warn('SW registration failed:', err));
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
```js
|
|
149
|
+
// /public/sw.js — cache shell assets, network-first for API calls
|
|
150
|
+
const CACHE_NAME = 'app-shell-v1';
|
|
151
|
+
const SHELL_ASSETS = ['/', '/index.html', '/manifest.json'];
|
|
152
|
+
|
|
153
|
+
self.addEventListener('install', (e) => {
|
|
154
|
+
e.waitUntil(
|
|
155
|
+
caches.open(CACHE_NAME).then(cache => cache.addAll(SHELL_ASSETS))
|
|
156
|
+
);
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
self.addEventListener('fetch', (e) => {
|
|
160
|
+
const url = new URL(e.request.url);
|
|
161
|
+
|
|
162
|
+
// Network-first for API calls
|
|
163
|
+
if (url.pathname.startsWith('/api/')) {
|
|
164
|
+
e.respondWith(
|
|
165
|
+
fetch(e.request).catch(() => new Response('{"error":"offline"}',
|
|
166
|
+
{ headers: { 'Content-Type': 'application/json' } }))
|
|
167
|
+
);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// Cache-first for static assets
|
|
172
|
+
e.respondWith(
|
|
173
|
+
caches.match(e.request).then(cached => cached || fetch(e.request))
|
|
174
|
+
);
|
|
175
|
+
});
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Using a build tool plugin (recommended)
|
|
179
|
+
|
|
180
|
+
If the project uses Vite, use `vite-plugin-pwa`. If using Create React App / Webpack,
|
|
181
|
+
use `workbox-webpack-plugin`. These handle cache versioning, asset fingerprinting,
|
|
182
|
+
and update notifications automatically — do not write a service worker by hand
|
|
183
|
+
unless the project has no build tooling.
|
|
184
|
+
|
|
185
|
+
```js
|
|
186
|
+
// vite.config.js
|
|
187
|
+
import { VitePWA } from 'vite-plugin-pwa'
|
|
188
|
+
|
|
189
|
+
export default {
|
|
190
|
+
plugins: [
|
|
191
|
+
VitePWA({
|
|
192
|
+
registerType: 'autoUpdate',
|
|
193
|
+
manifest: { /* same as manifest.json above */ }
|
|
194
|
+
})
|
|
195
|
+
]
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Installability Checklist
|
|
202
|
+
|
|
203
|
+
For "Add to Home Screen" / install prompt to appear on Android Chrome, the app must:
|
|
204
|
+
|
|
205
|
+
- [ ] Be served over HTTPS (or localhost for dev)
|
|
206
|
+
- [ ] Have a valid `manifest.json` with `name`, `short_name`, `start_url`, `display: standalone`, `icons` (192 + 512)
|
|
207
|
+
- [ ] Have a registered service worker
|
|
208
|
+
- [ ] The service worker must have fetched and cached at least one resource
|
|
209
|
+
|
|
210
|
+
iOS Safari does not show an install prompt — users must manually use
|
|
211
|
+
"Share → Add to Home Screen". This is a platform limitation, not a fixable bug.
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Status Bar Colour on iOS
|
|
216
|
+
|
|
217
|
+
The `apple-mobile-web-app-status-bar-style` meta tag controls the iOS status bar:
|
|
218
|
+
|
|
219
|
+
| Value | Effect |
|
|
220
|
+
|---|---|
|
|
221
|
+
| `default` | White status bar background, dark text/icons |
|
|
222
|
+
| `black` | Black status bar background, white text/icons |
|
|
223
|
+
| `black-translucent` | Content renders behind status bar, status bar is transparent with white text. Requires `padding-top: env(safe-area-inset-top)` on your layout. |
|
|
224
|
+
|
|
225
|
+
For most apps, use `default` unless your app has a dark header where `black` looks better.
|
|
226
|
+
`black-translucent` gives the most immersive look but requires careful layout handling.
|