natureco-cli 5.18.3 → 5.20.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/CHANGELOG.md +32 -0
- package/package.json +1 -1
- package/skills/a-b-testing/SKILL.md +34 -0
- package/skills/accessibility-audit/SKILL.md +34 -0
- package/skills/agent-memory/SKILL.md +34 -0
- package/skills/agent-orchestration/SKILL.md +34 -0
- package/skills/airunway-aks-setup/SKILL.md +73 -0
- package/skills/algorithmic-art/SKILL.md +405 -0
- package/skills/analytics-setup/SKILL.md +34 -0
- package/skills/api-design/SKILL.md +34 -0
- package/skills/api-versioning/SKILL.md +34 -0
- package/skills/appinsights-instrumentation/SKILL.md +76 -0
- package/skills/audio-transcription/SKILL.md +34 -0
- package/skills/authentication-patterns/SKILL.md +34 -0
- package/skills/authorization-rbac/SKILL.md +34 -0
- package/skills/azure-ai/SKILL.md +71 -0
- package/skills/azure-aigateway/SKILL.md +129 -0
- package/skills/azure-cloud-migrate/SKILL.md +52 -0
- package/skills/azure-compliance/SKILL.md +108 -0
- package/skills/azure-compute/SKILL.md +46 -0
- package/skills/azure-cost/SKILL.md +45 -0
- package/skills/azure-deploy/SKILL.md +97 -0
- package/skills/azure-diagnostics/SKILL.md +151 -0
- package/skills/azure-enterprise-infra-planner/SKILL.md +54 -0
- package/skills/azure-hosted-copilot-sdk/SKILL.md +89 -0
- package/skills/azure-kubernetes/SKILL.md +153 -0
- package/skills/azure-kusto/SKILL.md +231 -0
- package/skills/azure-messaging/SKILL.md +57 -0
- package/skills/azure-prepare/SKILL.md +165 -0
- package/skills/azure-quotas/SKILL.md +276 -0
- package/skills/azure-rbac/SKILL.md +17 -0
- package/skills/azure-reliability/SKILL.md +387 -0
- package/skills/azure-resource-lookup/SKILL.md +108 -0
- package/skills/azure-resource-visualizer/SKILL.md +183 -0
- package/skills/azure-storage/SKILL.md +100 -0
- package/skills/azure-upgrade/SKILL.md +91 -0
- package/skills/azure-validate/SKILL.md +72 -0
- package/skills/backup-strategy/SKILL.md +34 -0
- package/skills/bash-scripting/SKILL.md +34 -0
- package/skills/batch-api-calls/SKILL.md +34 -0
- package/skills/batch-processing/SKILL.md +34 -0
- package/skills/brainstorming/SKILL.md +159 -0
- package/skills/brand-guidelines/SKILL.md +73 -0
- package/skills/brandkit/SKILL.md +798 -0
- package/skills/brutalist-skill/SKILL.md +92 -0
- package/skills/bulk-file-operations/SKILL.md +34 -0
- package/skills/cache-responses/SKILL.md +34 -0
- package/skills/caching-strategy/SKILL.md +34 -0
- package/skills/calendar-optimization/SKILL.md +34 -0
- package/skills/canvas-design/SKILL.md +130 -0
- package/skills/cavecrew/SKILL.md +82 -0
- package/skills/caveman-commit/SKILL.md +65 -0
- package/skills/caveman-help/SKILL.md +63 -0
- package/skills/caveman-review/SKILL.md +55 -0
- package/skills/caveman-stats/SKILL.md +10 -0
- package/skills/changelog-generation/SKILL.md +34 -0
- package/skills/chat-bot-design/SKILL.md +34 -0
- package/skills/chunking-strategy/SKILL.md +34 -0
- package/skills/ci-cd-pipeline/SKILL.md +34 -0
- package/skills/classification-pipeline/SKILL.md +34 -0
- package/skills/claude-api/SKILL.md +356 -0
- package/skills/clipboard-master/SKILL.md +34 -0
- package/skills/code-explanation/SKILL.md +34 -0
- package/skills/code-generation/SKILL.md +34 -0
- package/skills/code-migration/SKILL.md +34 -0
- package/skills/code-review-checklist/SKILL.md +34 -0
- package/skills/composition-patterns/SKILL.md +89 -0
- package/skills/contact-management/SKILL.md +34 -0
- package/skills/content-generation/SKILL.md +34 -0
- package/skills/context-pruning/SKILL.md +34 -0
- package/skills/context-window-management/SKILL.md +34 -0
- package/skills/continuous-improvement/SKILL.md +34 -0
- package/skills/cron-scheduling/SKILL.md +34 -0
- package/skills/cross-platform-compat/SKILL.md +34 -0
- package/skills/csv-processing/SKILL.md +34 -0
- package/skills/daily-journal/SKILL.md +34 -0
- package/skills/data-analysis/SKILL.md +34 -0
- package/skills/data-backup/SKILL.md +34 -0
- package/skills/data-cleaning/SKILL.md +34 -0
- package/skills/data-extraction/SKILL.md +34 -0
- package/skills/data-validation/SKILL.md +34 -0
- package/skills/database-migrations/SKILL.md +34 -0
- package/skills/database-schema-design/SKILL.md +34 -0
- package/skills/decision-mapping/SKILL.md +84 -0
- package/skills/decision-matrix/SKILL.md +34 -0
- package/skills/dependency-management/SKILL.md +34 -0
- package/skills/deploy-to-vercel/SKILL.md +296 -0
- package/skills/design-an-interface/SKILL.md +94 -0
- package/skills/design-doc-mermaid/SKILL.md +498 -0
- package/skills/dev-environment-setup/SKILL.md +34 -0
- package/skills/develop-userscripts/SKILL.md +84 -0
- package/skills/distraction-blocker/SKILL.md +34 -0
- package/skills/doc-coauthoring/SKILL.md +375 -0
- package/skills/docker-optimization/SKILL.md +34 -0
- package/skills/document-template/SKILL.md +34 -0
- package/skills/documentation/SKILL.md +109 -0
- package/skills/documentation-gen/SKILL.md +34 -0
- package/skills/docx/SKILL.md +590 -0
- package/skills/edit-article/SKILL.md +15 -0
- package/skills/efficient-formatting/SKILL.md +34 -0
- package/skills/email-management/SKILL.md +34 -0
- package/skills/email-service/SKILL.md +34 -0
- package/skills/embedding-generation/SKILL.md +34 -0
- package/skills/entity-extraction/SKILL.md +34 -0
- package/skills/entra-agent-id/SKILL.md +356 -0
- package/skills/entra-app-registration/SKILL.md +191 -0
- package/skills/environment-config/SKILL.md +34 -0
- package/skills/error-handling/SKILL.md +34 -0
- package/skills/estimation-techniques/SKILL.md +34 -0
- package/skills/event-driven-architecture/SKILL.md +34 -0
- package/skills/excel-automation/SKILL.md +34 -0
- package/skills/execution-monitoring/SKILL.md +34 -0
- package/skills/expense-tracking/SKILL.md +34 -0
- package/skills/faceless-explainer/SKILL.md +202 -0
- package/skills/fastify/SKILL.md +75 -0
- package/skills/feature-engineering/SKILL.md +34 -0
- package/skills/feature-flags/SKILL.md +34 -0
- package/skills/file-conversion/SKILL.md +34 -0
- package/skills/file-upload-handling/SKILL.md +34 -0
- package/skills/fine-tuning-prep/SKILL.md +34 -0
- package/skills/focus-mode/SKILL.md +34 -0
- package/skills/form-validation/SKILL.md +34 -0
- package/skills/function-calling/SKILL.md +34 -0
- package/skills/general-video/SKILL.md +143 -0
- package/skills/git-guardrails-claude-code/SKILL.md +95 -0
- package/skills/git-workflow/SKILL.md +34 -0
- package/skills/github-actions-docs/SKILL.md +98 -0
- package/skills/goal-setting/SKILL.md +34 -0
- package/skills/gpt-tasteskill/SKILL.md +74 -0
- package/skills/graphql-design/SKILL.md +34 -0
- package/skills/grill-me/SKILL.md +7 -0
- package/skills/grilling/SKILL.md +10 -0
- package/skills/habit-tracker/SKILL.md +34 -0
- package/skills/hallucination-detection/SKILL.md +34 -0
- package/skills/handoff/SKILL.md +16 -0
- package/skills/hyperframes/SKILL.md +152 -0
- package/skills/hyperframes-animation/SKILL.md +82 -0
- package/skills/hyperframes-cli/SKILL.md +109 -0
- package/skills/hyperframes-core/SKILL.md +78 -0
- package/skills/hyperframes-creative/SKILL.md +68 -0
- package/skills/hyperframes-media/SKILL.md +97 -0
- package/skills/image-processing/SKILL.md +34 -0
- package/skills/image-to-code-skill/SKILL.md +1228 -0
- package/skills/imagegen-frontend-mobile/SKILL.md +1465 -0
- package/skills/imagegen-frontend-web/SKILL.md +987 -0
- package/skills/implement/SKILL.md +15 -0
- package/skills/init/SKILL.md +91 -0
- package/skills/internal-comms/SKILL.md +32 -0
- package/skills/json-transformation/SKILL.md +34 -0
- package/skills/keyboard-shortcuts/SKILL.md +34 -0
- package/skills/knowledge-base/SKILL.md +34 -0
- package/skills/knowledge-graph/SKILL.md +34 -0
- package/skills/kubernetes-deployment/SKILL.md +34 -0
- package/skills/language-translation/SKILL.md +34 -0
- package/skills/lark-approval/SKILL.md +56 -0
- package/skills/lark-base/SKILL.md +157 -0
- package/skills/lark-doc/SKILL.md +81 -0
- package/skills/lark-shared/SKILL.md +168 -0
- package/skills/lark-workflow-meeting-summary/SKILL.md +122 -0
- package/skills/linting-neostandard-eslint9/SKILL.md +64 -0
- package/skills/llm-chaining/SKILL.md +34 -0
- package/skills/localization-i18n/SKILL.md +34 -0
- package/skills/logging-best-practices/SKILL.md +34 -0
- package/skills/loop-me/SKILL.md +32 -0
- package/skills/machine-learning-pipeline/SKILL.md +34 -0
- package/skills/meeting-notes/SKILL.md +34 -0
- package/skills/meeting-scheduler/SKILL.md +34 -0
- package/skills/message-queues/SKILL.md +34 -0
- package/skills/message-summarization/SKILL.md +34 -0
- package/skills/microservices-architecture/SKILL.md +34 -0
- package/skills/microsoft-foundry/SKILL.md +262 -0
- package/skills/migrate-to-shoehorn/SKILL.md +118 -0
- package/skills/milestone-tracking/SKILL.md +34 -0
- package/skills/minimalist-skill/SKILL.md +85 -0
- package/skills/model-deployment/SKILL.md +34 -0
- package/skills/model-evaluation/SKILL.md +34 -0
- package/skills/monitoring-setup/SKILL.md +34 -0
- package/skills/monorepo-setup/SKILL.md +34 -0
- package/skills/motion-graphics/SKILL.md +170 -0
- package/skills/multi-agent-systems/SKILL.md +34 -0
- package/skills/music-to-video/SKILL.md +197 -0
- package/skills/network-troubleshooting/SKILL.md +34 -0
- package/skills/node/SKILL.md +94 -0
- package/skills/nodejs-core/SKILL.md +156 -0
- package/skills/note-organization/SKILL.md +34 -0
- package/skills/oauth/SKILL.md +186 -0
- package/skills/obsidian-vault/SKILL.md +59 -0
- package/skills/octocat/SKILL.md +93 -0
- package/skills/openclaw-secure-linux-cloud/SKILL.md +157 -0
- package/skills/opensource-guide-coach/SKILL.md +218 -0
- package/skills/output-skill/SKILL.md +49 -0
- package/skills/package-publishing/SKILL.md +34 -0
- package/skills/password-generator/SKILL.md +34 -0
- package/skills/pdf/SKILL.md +314 -0
- package/skills/pdf-processing/SKILL.md +34 -0
- package/skills/performance-optimization/SKILL.md +34 -0
- package/skills/pomodoro-timer/SKILL.md +34 -0
- package/skills/powershell-automation/SKILL.md +34 -0
- package/skills/pptx/SKILL.md +232 -0
- package/skills/pr-to-video/SKILL.md +235 -0
- package/skills/priority-filtering/SKILL.md +34 -0
- package/skills/product-launch-video/SKILL.md +205 -0
- package/skills/project-tracking/SKILL.md +34 -0
- package/skills/prompt-compression/SKILL.md +34 -0
- package/skills/prompt-engineering/SKILL.md +34 -0
- package/skills/push-notifications/SKILL.md +34 -0
- package/skills/python-appservice-deploy/SKILL.md +36 -0
- package/skills/qa/SKILL.md +130 -0
- package/skills/rag-implementation/SKILL.md +34 -0
- package/skills/rate-limiting/SKILL.md +34 -0
- package/skills/react-best-practices/SKILL.md +149 -0
- package/skills/react-native-skills/SKILL.md +121 -0
- package/skills/react-view-transitions/SKILL.md +320 -0
- package/skills/readme-i18n/SKILL.md +176 -0
- package/skills/real-time-communication/SKILL.md +34 -0
- package/skills/redesign-skill/SKILL.md +178 -0
- package/skills/refactoring-strategy/SKILL.md +34 -0
- package/skills/regex-mastery/SKILL.md +34 -0
- package/skills/remotion/SKILL.md +364 -0
- package/skills/report-generation/SKILL.md +34 -0
- package/skills/request-refactor-plan/SKILL.md +68 -0
- package/skills/research-compiler/SKILL.md +34 -0
- package/skills/resolving-merge-conflicts/SKILL.md +14 -0
- package/skills/responsive-design/SKILL.md +34 -0
- package/skills/rest-api-patterns/SKILL.md +34 -0
- package/skills/retrospectives/SKILL.md +34 -0
- package/skills/risk-assessment/SKILL.md +34 -0
- package/skills/roadmap-creation/SKILL.md +34 -0
- package/skills/running-claude-code-via-litellm-copilot/SKILL.md +263 -0
- package/skills/scaffold-exercises/SKILL.md +106 -0
- package/skills/search-implementation/SKILL.md +34 -0
- package/skills/secrets-management/SKILL.md +34 -0
- package/skills/secure-linux-web-hosting/SKILL.md +162 -0
- package/skills/security-audit/SKILL.md +34 -0
- package/skills/selective-memory/SKILL.md +34 -0
- package/skills/semantic-search/SKILL.md +34 -0
- package/skills/semantic-versioning/SKILL.md +34 -0
- package/skills/sentiment-analysis/SKILL.md +34 -0
- package/skills/seo-optimization/SKILL.md +34 -0
- package/skills/setup-pre-commit/SKILL.md +91 -0
- package/skills/shadcn/SKILL.md +267 -0
- package/skills/simple/SKILL.md +52 -0
- package/skills/skill-creator/SKILL.md +485 -0
- package/skills/skill-optimizer/SKILL.md +47 -0
- package/skills/skills-cli/SKILL.md +281 -0
- package/skills/slack-gif-creator/SKILL.md +254 -0
- package/skills/snipgrapher/SKILL.md +58 -0
- package/skills/snippet-manager/SKILL.md +34 -0
- package/skills/soft-skill/SKILL.md +98 -0
- package/skills/sprint-planning/SKILL.md +34 -0
- package/skills/sql-query-optimization/SKILL.md +34 -0
- package/skills/stakeholder-communication/SKILL.md +34 -0
- package/skills/state-management/SKILL.md +34 -0
- package/skills/statistical-analysis/SKILL.md +34 -0
- package/skills/stitch-skill/SKILL.md +184 -0
- package/skills/streaming-responses/SKILL.md +34 -0
- package/skills/structured-output/SKILL.md +34 -0
- package/skills/summarization-techniques/SKILL.md +34 -0
- package/skills/supabase/SKILL.md +135 -0
- package/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/skills/system-diagnostics/SKILL.md +34 -0
- package/skills/systematic-debugging/SKILL.md +296 -0
- package/skills/talking-head-recut/SKILL.md +1191 -0
- package/skills/task-decomposition/SKILL.md +34 -0
- package/skills/task-prioritization/SKILL.md +34 -0
- package/skills/taste-skill/SKILL.md +1206 -0
- package/skills/taste-skill-v1/SKILL.md +226 -0
- package/skills/tdd/SKILL.md +108 -0
- package/skills/teach/SKILL.md +140 -0
- package/skills/template-library/SKILL.md +34 -0
- package/skills/test-driven-development/SKILL.md +371 -0
- package/skills/test-generation/SKILL.md +34 -0
- package/skills/testing-strategy/SKILL.md +34 -0
- package/skills/text-expansion/SKILL.md +34 -0
- package/skills/theme-factory/SKILL.md +59 -0
- package/skills/time-blocking/SKILL.md +34 -0
- package/skills/to-prd/SKILL.md +75 -0
- package/skills/token-budgeting/SKILL.md +34 -0
- package/skills/token-optimization/SKILL.md +34 -0
- package/skills/tool-calling-patterns/SKILL.md +34 -0
- package/skills/typescript-magician/SKILL.md +117 -0
- package/skills/tzst/SKILL.md +68 -0
- package/skills/ubiquitous-language/SKILL.md +93 -0
- package/skills/use-my-browser/SKILL.md +110 -0
- package/skills/using-superpowers/SKILL.md +121 -0
- package/skills/vector-database-setup/SKILL.md +34 -0
- package/skills/vercel-cli-with-tokens/SKILL.md +353 -0
- package/skills/vercel-optimize/SKILL.md +322 -0
- package/skills/video-editing/SKILL.md +34 -0
- package/skills/viral-instagram-reels/SKILL.md +180 -0
- package/skills/viral-short-form/SKILL.md +147 -0
- package/skills/viral-short-form-ideas/SKILL.md +184 -0
- package/skills/viral-tiktok-content/SKILL.md +180 -0
- package/skills/visualization-creation/SKILL.md +34 -0
- package/skills/web-artifacts-builder/SKILL.md +74 -0
- package/skills/web-design-guidelines/SKILL.md +39 -0
- package/skills/web-scraping/SKILL.md +34 -0
- package/skills/webapp-testing/SKILL.md +96 -0
- package/skills/webhook-handling/SKILL.md +34 -0
- package/skills/website-to-video/SKILL.md +145 -0
- package/skills/weekly-review/SKILL.md +34 -0
- package/skills/workflow-automation/SKILL.md +34 -0
- package/skills/writing-beats/SKILL.md +67 -0
- package/skills/writing-fragments/SKILL.md +79 -0
- package/skills/writing-great-skills/SKILL.md +82 -0
- package/skills/writing-guidelines/SKILL.md +39 -0
- package/skills/writing-plans/SKILL.md +174 -0
- package/skills/writing-shape/SKILL.md +79 -0
- package/skills/xdrop/SKILL.md +78 -0
- package/skills/xget/SKILL.md +87 -0
- package/skills/xlsx/SKILL.md +292 -0
- package/src/commands/code_v5.js +377 -73
- package/src/commands/repl.js +505 -86
- package/src/providers/model/anthropic.js +84 -0
- package/src/providers/model/gemini.js +49 -0
- package/src/providers/model/minimax.js +48 -0
- package/src/providers/model/ollama.js +42 -0
- package/src/providers/model/openai.js +49 -0
- package/src/providers/search/duckduckgo.js +45 -0
- package/src/providers/search/exa.js +52 -0
- package/src/providers/search/searxng.js +51 -0
- package/src/providers/search/tavily.js +47 -0
- package/src/tools/model_provider.js +71 -0
- package/src/tools/parallel_search.js +40 -49
- package/src/tools/search_provider.js +79 -0
- package/src/tools/skills_download.js +217 -0
- package/src/tools/web_search.js +42 -62
- package/src/tools/workflow.js +21 -9
- package/src/utils/cron.js +82 -126
- package/src/utils/effort-levels.js +42 -0
- package/src/utils/fallback-chain.js +72 -0
- package/src/utils/file-history.js +78 -0
- package/src/utils/model-provider.js +113 -0
- package/src/utils/permissions.js +147 -0
- package/src/utils/plan-mode.js +164 -0
- package/src/utils/provider-detect.js +7 -32
- package/src/utils/sandbox.js +60 -0
- package/src/utils/search-provider.js +62 -0
- package/src/utils/session-search.js +66 -0
- package/src/utils/structured-output.js +20 -0
- package/src/utils/system-prompt.js +28 -2
- package/src/utils/tasks.js +132 -0
- package/src/utils/tool-hooks.js +154 -0
- package/src/utils/tools.js +18 -2
- package/src/utils/ultra-review.js +59 -0
- package/src/utils/worktree.js +192 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: python-appservice-deploy
|
|
3
|
+
description: "Deploy Python (Flask/Django/FastAPI) code to Azure App Service Linux. WHEN: \"Flask App Service\", \"Django App Service\", \"FastAPI App Service\", \"deploy Python to App Service\". DO NOT USE FOR: Container Apps, Functions, non-Python, Terraform/Bicep/IaC, full infra — use azure-prepare."
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: Microsoft
|
|
7
|
+
version: "1.0.1"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Python on Azure App Service — Code Deploy
|
|
11
|
+
|
|
12
|
+
Deploys Python (Flask, Django, FastAPI, generic) code to Azure App Service Linux (P0v3, Python 3.14). Creates RG + Plan + Web App if missing. Hand off to `azure-prepare` for VNet, Key Vault, databases, or IaC.
|
|
13
|
+
|
|
14
|
+
**MCP tools used**: `mcp_azure_mcp_subscription_list`, `mcp_azure_mcp_group_list`, `mcp_azure_mcp_appservice`, `mcp_azure_mcp_azd` (when `azure.yaml` is present).
|
|
15
|
+
|
|
16
|
+
## Workflow
|
|
17
|
+
|
|
18
|
+
1. **Resolve context — smart defaults, minimal prompts.** Only the app name is interactive; RG (`<app>-rg`), Plan (`<app>-plan`), region (current `az` default or `eastus2`), subscription are derived. [create-app.md](references/create-app.md) §1.
|
|
19
|
+
2. **Detect framework** (advisory, never blocks). [detect.md](references/detect.md).
|
|
20
|
+
3. **Choose path** — `azure.yaml` host: appservice → [deploy-azd.md](references/deploy-azd.md); else [deploy-azcli.md](references/deploy-azcli.md).
|
|
21
|
+
4. **Ensure RG → Plan (`P0v3 --is-linux`) → Web App (`--runtime "PYTHON:3.14"`)** exist. On transient ARM errors, follow [transient-retry.md](references/transient-retry.md). [create-app.md](references/create-app.md).
|
|
22
|
+
5. **Set startup** — Flask/Django: none (Oryx auto-detects). FastAPI: always `python -m uvicorn main:app --host 0.0.0.0`. Other: warn. [startup-commands.md](references/startup-commands.md).
|
|
23
|
+
6. **Set `SCM_DO_BUILD_DURING_DEPLOYMENT=true`**.
|
|
24
|
+
7. **Deploy** — `azd deploy` or `az webapp deploy --type zip --track-status false`.
|
|
25
|
+
8. **STOP. Print the post-deploy message** ([post-deploy-message.md](references/post-deploy-message.md)) and end the turn.
|
|
26
|
+
|
|
27
|
+
### Hard rules
|
|
28
|
+
|
|
29
|
+
- ⛔ **NO POST-DEPLOY VERIFICATION** — after deploy returns, do not run `az webapp log tail`, `curl`, `Invoke-WebRequest`, or any health probe. App Service needs 2–3 min to warm; a quiet log or early 5xx is not failure.
|
|
30
|
+
- ⛔ **SHELL SAFETY** — for `--runtime` always use `"PYTHON:3.14"` (colon). Never `"PYTHON|3.14"` (pipe is a shell operator).
|
|
31
|
+
- ⛔ **NEVER `az webapp up`** — deprecated. Use Step 7 commands.
|
|
32
|
+
- ✅ **URL FORMAT** — present endpoints as `https://...` URLs.
|
|
33
|
+
|
|
34
|
+
## Error Handling
|
|
35
|
+
|
|
36
|
+
See [errors.md](references/errors.md) for the full symptom → cause → fix matrix. Quick triage: missing plan/app → re-run Step 4; container ping timeout on 8000 → fix startup (Step 5); `ModuleNotFoundError` after deploy → ensure Step 6 ran, redeploy.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qa
|
|
3
|
+
description: Interactive QA session where user reports bugs or issues conversationally, and the agent files GitHub issues. Explores the codebase in the background for context and domain language. Use when user wants to report bugs, do QA, file issues conversationally, or mentions "QA session".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# QA Session
|
|
7
|
+
|
|
8
|
+
Run an interactive QA session. The user describes problems they're encountering. You clarify, explore the codebase for context, and file GitHub issues that are durable, user-focused, and use the project's domain language.
|
|
9
|
+
|
|
10
|
+
## For each issue the user raises
|
|
11
|
+
|
|
12
|
+
### 1. Listen and lightly clarify
|
|
13
|
+
|
|
14
|
+
Let the user describe the problem in their own words. Ask **at most 2-3 short clarifying questions** focused on:
|
|
15
|
+
|
|
16
|
+
- What they expected vs what actually happened
|
|
17
|
+
- Steps to reproduce (if not obvious)
|
|
18
|
+
- Whether it's consistent or intermittent
|
|
19
|
+
|
|
20
|
+
Do NOT over-interview. If the description is clear enough to file, move on.
|
|
21
|
+
|
|
22
|
+
### 2. Explore the codebase in the background
|
|
23
|
+
|
|
24
|
+
While talking to the user, kick off an Agent (subagent_type=Explore) in the background to understand the relevant area. The goal is NOT to find a fix — it's to:
|
|
25
|
+
|
|
26
|
+
- Learn the domain language used in that area (check UBIQUITOUS_LANGUAGE.md)
|
|
27
|
+
- Understand what the feature is supposed to do
|
|
28
|
+
- Identify the user-facing behavior boundary
|
|
29
|
+
|
|
30
|
+
This context helps you write a better issue — but the issue itself should NOT reference specific files, line numbers, or internal implementation details.
|
|
31
|
+
|
|
32
|
+
### 3. Assess scope: single issue or breakdown?
|
|
33
|
+
|
|
34
|
+
Before filing, decide whether this is a **single issue** or needs to be **broken down** into multiple issues.
|
|
35
|
+
|
|
36
|
+
Break down when:
|
|
37
|
+
|
|
38
|
+
- The fix spans multiple independent areas (e.g. "the form validation is wrong AND the success message is missing AND the redirect is broken")
|
|
39
|
+
- There are clearly separable concerns that different people could work on in parallel
|
|
40
|
+
- The user describes something that has multiple distinct failure modes or symptoms
|
|
41
|
+
|
|
42
|
+
Keep as a single issue when:
|
|
43
|
+
|
|
44
|
+
- It's one behavior that's wrong in one place
|
|
45
|
+
- The symptoms are all caused by the same root behavior
|
|
46
|
+
|
|
47
|
+
### 4. File the GitHub issue(s)
|
|
48
|
+
|
|
49
|
+
Create issues with `gh issue create`. Do NOT ask the user to review first — just file and share URLs.
|
|
50
|
+
|
|
51
|
+
Issues must be **durable** — they should still make sense after major refactors. Write from the user's perspective.
|
|
52
|
+
|
|
53
|
+
#### For a single issue
|
|
54
|
+
|
|
55
|
+
Use this template:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
## What happened
|
|
59
|
+
|
|
60
|
+
[Describe the actual behavior the user experienced, in plain language]
|
|
61
|
+
|
|
62
|
+
## What I expected
|
|
63
|
+
|
|
64
|
+
[Describe the expected behavior]
|
|
65
|
+
|
|
66
|
+
## Steps to reproduce
|
|
67
|
+
|
|
68
|
+
1. [Concrete, numbered steps a developer can follow]
|
|
69
|
+
2. [Use domain terms from the codebase, not internal module names]
|
|
70
|
+
3. [Include relevant inputs, flags, or configuration]
|
|
71
|
+
|
|
72
|
+
## Additional context
|
|
73
|
+
|
|
74
|
+
[Any extra observations from the user or from codebase exploration that help frame the issue — e.g. "this only happens when using the Docker layer, not the filesystem layer" — use domain language but don't cite files]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### For a breakdown (multiple issues)
|
|
78
|
+
|
|
79
|
+
Create issues in dependency order (blockers first) so you can reference real issue numbers.
|
|
80
|
+
|
|
81
|
+
Use this template for each sub-issue:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
## Parent issue
|
|
85
|
+
|
|
86
|
+
#<parent-issue-number> (if you created a tracking issue) or "Reported during QA session"
|
|
87
|
+
|
|
88
|
+
## What's wrong
|
|
89
|
+
|
|
90
|
+
[Describe this specific behavior problem — just this slice, not the whole report]
|
|
91
|
+
|
|
92
|
+
## What I expected
|
|
93
|
+
|
|
94
|
+
[Expected behavior for this specific slice]
|
|
95
|
+
|
|
96
|
+
## Steps to reproduce
|
|
97
|
+
|
|
98
|
+
1. [Steps specific to THIS issue]
|
|
99
|
+
|
|
100
|
+
## Blocked by
|
|
101
|
+
|
|
102
|
+
- #<issue-number> (if this issue can't be fixed until another is resolved)
|
|
103
|
+
|
|
104
|
+
Or "None — can start immediately" if no blockers.
|
|
105
|
+
|
|
106
|
+
## Additional context
|
|
107
|
+
|
|
108
|
+
[Any extra observations relevant to this slice]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
When creating a breakdown:
|
|
112
|
+
|
|
113
|
+
- **Prefer many thin issues over few thick ones** — each should be independently fixable and verifiable
|
|
114
|
+
- **Mark blocking relationships honestly** — if issue B genuinely can't be tested until issue A is fixed, say so. If they're independent, mark both as "None — can start immediately"
|
|
115
|
+
- **Create issues in dependency order** so you can reference real issue numbers in "Blocked by"
|
|
116
|
+
- **Maximize parallelism** — the goal is that multiple people (or agents) can grab different issues simultaneously
|
|
117
|
+
|
|
118
|
+
#### Rules for all issue bodies
|
|
119
|
+
|
|
120
|
+
- **No file paths or line numbers** — these go stale
|
|
121
|
+
- **Use the project's domain language** (check UBIQUITOUS_LANGUAGE.md if it exists)
|
|
122
|
+
- **Describe behaviors, not code** — "the sync service fails to apply the patch" not "applyPatch() throws on line 42"
|
|
123
|
+
- **Reproduction steps are mandatory** — if you can't determine them, ask the user
|
|
124
|
+
- **Keep it concise** — a developer should be able to read the issue in 30 seconds
|
|
125
|
+
|
|
126
|
+
After filing, print all issue URLs (with blocking relationships summarized) and ask: "Next issue, or are we done?"
|
|
127
|
+
|
|
128
|
+
### 5. Continue the session
|
|
129
|
+
|
|
130
|
+
Keep going until the user says they're done. Each issue is independent — don't batch them.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rag-implementation
|
|
3
|
+
description: Implement Retrieval-Augmented Generation with document chunking, embedding, and retrieval
|
|
4
|
+
category: AI Agents
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Rag Implementation
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
Implement Retrieval-Augmented Generation with document chunking, embedding, and retrieval. This skill helps you apply structured, repeatable methods for consistent results.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
- When you need to apply rag implementation best practices
|
|
14
|
+
- When establishing processes or standards for your workflow
|
|
15
|
+
- When training team members on rag implementation
|
|
16
|
+
- When automating or optimizing rag implementation tasks
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
1. **Assess**: Evaluate the current state, requirements, and constraints
|
|
20
|
+
2. **Plan**: Define the approach, steps, and success criteria
|
|
21
|
+
3. **Execute**: Follow the established patterns and best practices
|
|
22
|
+
4. **Verify**: Check results against expected outcomes and quality standards
|
|
23
|
+
5. **Iterate**: Refine based on feedback and lessons learned
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
```
|
|
27
|
+
User: Help me apply rag implementation for my current project
|
|
28
|
+
Assistant: I'll help you apply rag implementation step by step...
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Related Skills
|
|
32
|
+
- Use with `workflow` tool for orchestrated execution
|
|
33
|
+
- Combine with `task` tool for delegated processing
|
|
34
|
+
- Reference `system-prompt` for system-level integration
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rate-limiting
|
|
3
|
+
description: Implement rate limiting with token bucket, sliding window, and distributed counters
|
|
4
|
+
category: Software Development
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Rate Limiting
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
Implement rate limiting with token bucket, sliding window, and distributed counters. This skill helps you apply structured, repeatable methods for consistent results.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
- When you need to apply rate limiting best practices
|
|
14
|
+
- When establishing processes or standards for your workflow
|
|
15
|
+
- When training team members on rate limiting
|
|
16
|
+
- When automating or optimizing rate limiting tasks
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
1. **Assess**: Evaluate the current state, requirements, and constraints
|
|
20
|
+
2. **Plan**: Define the approach, steps, and success criteria
|
|
21
|
+
3. **Execute**: Follow the established patterns and best practices
|
|
22
|
+
4. **Verify**: Check results against expected outcomes and quality standards
|
|
23
|
+
5. **Iterate**: Refine based on feedback and lessons learned
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
```
|
|
27
|
+
User: Help me apply rate limiting for my current project
|
|
28
|
+
Assistant: I'll help you apply rate limiting step by step...
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Related Skills
|
|
32
|
+
- Use with `workflow` tool for orchestrated execution
|
|
33
|
+
- Combine with `task` tool for delegated processing
|
|
34
|
+
- Reference `system-prompt` for system-level integration
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vercel-react-best-practices
|
|
3
|
+
description: React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: vercel
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Vercel React Best Practices
|
|
11
|
+
|
|
12
|
+
Comprehensive performance optimization guide for React and Next.js applications, maintained by Vercel. Contains 70 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
|
|
13
|
+
|
|
14
|
+
## When to Apply
|
|
15
|
+
|
|
16
|
+
Reference these guidelines when:
|
|
17
|
+
- Writing new React components or Next.js pages
|
|
18
|
+
- Implementing data fetching (client or server-side)
|
|
19
|
+
- Reviewing code for performance issues
|
|
20
|
+
- Refactoring existing React/Next.js code
|
|
21
|
+
- Optimizing bundle size or load times
|
|
22
|
+
|
|
23
|
+
## Rule Categories by Priority
|
|
24
|
+
|
|
25
|
+
| Priority | Category | Impact | Prefix |
|
|
26
|
+
|----------|----------|--------|--------|
|
|
27
|
+
| 1 | Eliminating Waterfalls | CRITICAL | `async-` |
|
|
28
|
+
| 2 | Bundle Size Optimization | CRITICAL | `bundle-` |
|
|
29
|
+
| 3 | Server-Side Performance | HIGH | `server-` |
|
|
30
|
+
| 4 | Client-Side Data Fetching | MEDIUM-HIGH | `client-` |
|
|
31
|
+
| 5 | Re-render Optimization | MEDIUM | `rerender-` |
|
|
32
|
+
| 6 | Rendering Performance | MEDIUM | `rendering-` |
|
|
33
|
+
| 7 | JavaScript Performance | LOW-MEDIUM | `js-` |
|
|
34
|
+
| 8 | Advanced Patterns | LOW | `advanced-` |
|
|
35
|
+
|
|
36
|
+
## Quick Reference
|
|
37
|
+
|
|
38
|
+
### 1. Eliminating Waterfalls (CRITICAL)
|
|
39
|
+
|
|
40
|
+
- `async-cheap-condition-before-await` - Check cheap sync conditions before awaiting flags or remote values
|
|
41
|
+
- `async-defer-await` - Move await into branches where actually used
|
|
42
|
+
- `async-parallel` - Use Promise.all() for independent operations
|
|
43
|
+
- `async-dependencies` - Use better-all for partial dependencies
|
|
44
|
+
- `async-api-routes` - Start promises early, await late in API routes
|
|
45
|
+
- `async-suspense-boundaries` - Use Suspense to stream content
|
|
46
|
+
|
|
47
|
+
### 2. Bundle Size Optimization (CRITICAL)
|
|
48
|
+
|
|
49
|
+
- `bundle-barrel-imports` - Import directly, avoid barrel files
|
|
50
|
+
- `bundle-analyzable-paths` - Prefer statically analyzable import and file-system paths to avoid broad bundles and traces
|
|
51
|
+
- `bundle-dynamic-imports` - Use next/dynamic for heavy components
|
|
52
|
+
- `bundle-defer-third-party` - Load analytics/logging after hydration
|
|
53
|
+
- `bundle-conditional` - Load modules only when feature is activated
|
|
54
|
+
- `bundle-preload` - Preload on hover/focus for perceived speed
|
|
55
|
+
|
|
56
|
+
### 3. Server-Side Performance (HIGH)
|
|
57
|
+
|
|
58
|
+
- `server-auth-actions` - Authenticate server actions like API routes
|
|
59
|
+
- `server-cache-react` - Use React.cache() for per-request deduplication
|
|
60
|
+
- `server-cache-lru` - Use LRU cache for cross-request caching
|
|
61
|
+
- `server-dedup-props` - Avoid duplicate serialization in RSC props
|
|
62
|
+
- `server-hoist-static-io` - Hoist static I/O (fonts, logos) to module level
|
|
63
|
+
- `server-no-shared-module-state` - Avoid module-level mutable request state in RSC/SSR
|
|
64
|
+
- `server-serialization` - Minimize data passed to client components
|
|
65
|
+
- `server-parallel-fetching` - Restructure components to parallelize fetches
|
|
66
|
+
- `server-parallel-nested-fetching` - Chain nested fetches per item in Promise.all
|
|
67
|
+
- `server-after-nonblocking` - Use after() for non-blocking operations
|
|
68
|
+
|
|
69
|
+
### 4. Client-Side Data Fetching (MEDIUM-HIGH)
|
|
70
|
+
|
|
71
|
+
- `client-swr-dedup` - Use SWR for automatic request deduplication
|
|
72
|
+
- `client-event-listeners` - Deduplicate global event listeners
|
|
73
|
+
- `client-passive-event-listeners` - Use passive listeners for scroll
|
|
74
|
+
- `client-localstorage-schema` - Version and minimize localStorage data
|
|
75
|
+
|
|
76
|
+
### 5. Re-render Optimization (MEDIUM)
|
|
77
|
+
|
|
78
|
+
- `rerender-defer-reads` - Don't subscribe to state only used in callbacks
|
|
79
|
+
- `rerender-memo` - Extract expensive work into memoized components
|
|
80
|
+
- `rerender-memo-with-default-value` - Hoist default non-primitive props
|
|
81
|
+
- `rerender-dependencies` - Use primitive dependencies in effects
|
|
82
|
+
- `rerender-derived-state` - Subscribe to derived booleans, not raw values
|
|
83
|
+
- `rerender-derived-state-no-effect` - Derive state during render, not effects
|
|
84
|
+
- `rerender-functional-setstate` - Use functional setState for stable callbacks
|
|
85
|
+
- `rerender-lazy-state-init` - Pass function to useState for expensive values
|
|
86
|
+
- `rerender-simple-expression-in-memo` - Avoid memo for simple primitives
|
|
87
|
+
- `rerender-split-combined-hooks` - Split hooks with independent dependencies
|
|
88
|
+
- `rerender-move-effect-to-event` - Put interaction logic in event handlers
|
|
89
|
+
- `rerender-transitions` - Use startTransition for non-urgent updates
|
|
90
|
+
- `rerender-use-deferred-value` - Defer expensive renders to keep input responsive
|
|
91
|
+
- `rerender-use-ref-transient-values` - Use refs for transient frequent values
|
|
92
|
+
- `rerender-no-inline-components` - Don't define components inside components
|
|
93
|
+
|
|
94
|
+
### 6. Rendering Performance (MEDIUM)
|
|
95
|
+
|
|
96
|
+
- `rendering-animate-svg-wrapper` - Animate div wrapper, not SVG element
|
|
97
|
+
- `rendering-content-visibility` - Use content-visibility for long lists
|
|
98
|
+
- `rendering-hoist-jsx` - Extract static JSX outside components
|
|
99
|
+
- `rendering-svg-precision` - Reduce SVG coordinate precision
|
|
100
|
+
- `rendering-hydration-no-flicker` - Use inline script for client-only data
|
|
101
|
+
- `rendering-hydration-suppress-warning` - Suppress expected mismatches
|
|
102
|
+
- `rendering-activity` - Use Activity component for show/hide
|
|
103
|
+
- `rendering-conditional-render` - Use ternary, not && for conditionals
|
|
104
|
+
- `rendering-usetransition-loading` - Prefer useTransition for loading state
|
|
105
|
+
- `rendering-resource-hints` - Use React DOM resource hints for preloading
|
|
106
|
+
- `rendering-script-defer-async` - Use defer or async on script tags
|
|
107
|
+
|
|
108
|
+
### 7. JavaScript Performance (LOW-MEDIUM)
|
|
109
|
+
|
|
110
|
+
- `js-batch-dom-css` - Group CSS changes via classes or cssText
|
|
111
|
+
- `js-index-maps` - Build Map for repeated lookups
|
|
112
|
+
- `js-cache-property-access` - Cache object properties in loops
|
|
113
|
+
- `js-cache-function-results` - Cache function results in module-level Map
|
|
114
|
+
- `js-cache-storage` - Cache localStorage/sessionStorage reads
|
|
115
|
+
- `js-combine-iterations` - Combine multiple filter/map into one loop
|
|
116
|
+
- `js-length-check-first` - Check array length before expensive comparison
|
|
117
|
+
- `js-early-exit` - Return early from functions
|
|
118
|
+
- `js-hoist-regexp` - Hoist RegExp creation outside loops
|
|
119
|
+
- `js-min-max-loop` - Use loop for min/max instead of sort
|
|
120
|
+
- `js-set-map-lookups` - Use Set/Map for O(1) lookups
|
|
121
|
+
- `js-tosorted-immutable` - Use toSorted() for immutability
|
|
122
|
+
- `js-flatmap-filter` - Use flatMap to map and filter in one pass
|
|
123
|
+
- `js-request-idle-callback` - Defer non-critical work to browser idle time
|
|
124
|
+
|
|
125
|
+
### 8. Advanced Patterns (LOW)
|
|
126
|
+
|
|
127
|
+
- `advanced-effect-event-deps` - Don't put `useEffectEvent` results in effect deps
|
|
128
|
+
- `advanced-event-handler-refs` - Store event handlers in refs
|
|
129
|
+
- `advanced-init-once` - Initialize app once per app load
|
|
130
|
+
- `advanced-use-latest` - useLatest for stable callback refs
|
|
131
|
+
|
|
132
|
+
## How to Use
|
|
133
|
+
|
|
134
|
+
Read individual rule files for detailed explanations and code examples:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
rules/async-parallel.md
|
|
138
|
+
rules/bundle-barrel-imports.md
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Each rule file contains:
|
|
142
|
+
- Brief explanation of why it matters
|
|
143
|
+
- Incorrect code example with explanation
|
|
144
|
+
- Correct code example with explanation
|
|
145
|
+
- Additional context and references
|
|
146
|
+
|
|
147
|
+
## Full Compiled Document
|
|
148
|
+
|
|
149
|
+
For the complete guide with all rules expanded: `AGENTS.md`
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vercel-react-native-skills
|
|
3
|
+
description:
|
|
4
|
+
React Native and Expo best practices for building performant mobile apps. Use
|
|
5
|
+
when building React Native components, optimizing list performance,
|
|
6
|
+
implementing animations, or working with native modules. Triggers on tasks
|
|
7
|
+
involving React Native, Expo, mobile performance, or native platform APIs.
|
|
8
|
+
license: MIT
|
|
9
|
+
metadata:
|
|
10
|
+
author: vercel
|
|
11
|
+
version: '1.0.0'
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# React Native Skills
|
|
15
|
+
|
|
16
|
+
Comprehensive best practices for React Native and Expo applications. Contains
|
|
17
|
+
rules across multiple categories covering performance, animations, UI patterns,
|
|
18
|
+
and platform-specific optimizations.
|
|
19
|
+
|
|
20
|
+
## When to Apply
|
|
21
|
+
|
|
22
|
+
Reference these guidelines when:
|
|
23
|
+
|
|
24
|
+
- Building React Native or Expo apps
|
|
25
|
+
- Optimizing list and scroll performance
|
|
26
|
+
- Implementing animations with Reanimated
|
|
27
|
+
- Working with images and media
|
|
28
|
+
- Configuring native modules or fonts
|
|
29
|
+
- Structuring monorepo projects with native dependencies
|
|
30
|
+
|
|
31
|
+
## Rule Categories by Priority
|
|
32
|
+
|
|
33
|
+
| Priority | Category | Impact | Prefix |
|
|
34
|
+
| -------- | ---------------- | -------- | -------------------- |
|
|
35
|
+
| 1 | List Performance | CRITICAL | `list-performance-` |
|
|
36
|
+
| 2 | Animation | HIGH | `animation-` |
|
|
37
|
+
| 3 | Navigation | HIGH | `navigation-` |
|
|
38
|
+
| 4 | UI Patterns | HIGH | `ui-` |
|
|
39
|
+
| 5 | State Management | MEDIUM | `react-state-` |
|
|
40
|
+
| 6 | Rendering | MEDIUM | `rendering-` |
|
|
41
|
+
| 7 | Monorepo | MEDIUM | `monorepo-` |
|
|
42
|
+
| 8 | Configuration | LOW | `fonts-`, `imports-` |
|
|
43
|
+
|
|
44
|
+
## Quick Reference
|
|
45
|
+
|
|
46
|
+
### 1. List Performance (CRITICAL)
|
|
47
|
+
|
|
48
|
+
- `list-performance-virtualize` - Use FlashList for large lists
|
|
49
|
+
- `list-performance-item-memo` - Memoize list item components
|
|
50
|
+
- `list-performance-callbacks` - Stabilize callback references
|
|
51
|
+
- `list-performance-inline-objects` - Avoid inline style objects
|
|
52
|
+
- `list-performance-function-references` - Extract functions outside render
|
|
53
|
+
- `list-performance-images` - Optimize images in lists
|
|
54
|
+
- `list-performance-item-expensive` - Move expensive work outside items
|
|
55
|
+
- `list-performance-item-types` - Use item types for heterogeneous lists
|
|
56
|
+
|
|
57
|
+
### 2. Animation (HIGH)
|
|
58
|
+
|
|
59
|
+
- `animation-gpu-properties` - Animate only transform and opacity
|
|
60
|
+
- `animation-derived-value` - Use useDerivedValue for computed animations
|
|
61
|
+
- `animation-gesture-detector-press` - Use Gesture.Tap instead of Pressable
|
|
62
|
+
|
|
63
|
+
### 3. Navigation (HIGH)
|
|
64
|
+
|
|
65
|
+
- `navigation-native-navigators` - Use native stack and native tabs over JS navigators
|
|
66
|
+
|
|
67
|
+
### 4. UI Patterns (HIGH)
|
|
68
|
+
|
|
69
|
+
- `ui-expo-image` - Use expo-image for all images
|
|
70
|
+
- `ui-image-gallery` - Use Galeria for image lightboxes
|
|
71
|
+
- `ui-pressable` - Use Pressable over TouchableOpacity
|
|
72
|
+
- `ui-safe-area-scroll` - Handle safe areas in ScrollViews
|
|
73
|
+
- `ui-scrollview-content-inset` - Use contentInset for headers
|
|
74
|
+
- `ui-menus` - Use native context menus
|
|
75
|
+
- `ui-native-modals` - Use native modals when possible
|
|
76
|
+
- `ui-measure-views` - Use onLayout, not measure()
|
|
77
|
+
- `ui-styling` - Use StyleSheet.create or Nativewind
|
|
78
|
+
|
|
79
|
+
### 5. State Management (MEDIUM)
|
|
80
|
+
|
|
81
|
+
- `react-state-minimize` - Minimize state subscriptions
|
|
82
|
+
- `react-state-dispatcher` - Use dispatcher pattern for callbacks
|
|
83
|
+
- `react-state-fallback` - Show fallback on first render
|
|
84
|
+
- `react-compiler-destructure-functions` - Destructure for React Compiler
|
|
85
|
+
- `react-compiler-reanimated-shared-values` - Handle shared values with compiler
|
|
86
|
+
|
|
87
|
+
### 6. Rendering (MEDIUM)
|
|
88
|
+
|
|
89
|
+
- `rendering-text-in-text-component` - Wrap text in Text components
|
|
90
|
+
- `rendering-no-falsy-and` - Avoid falsy && for conditional rendering
|
|
91
|
+
|
|
92
|
+
### 7. Monorepo (MEDIUM)
|
|
93
|
+
|
|
94
|
+
- `monorepo-native-deps-in-app` - Keep native dependencies in app package
|
|
95
|
+
- `monorepo-single-dependency-versions` - Use single versions across packages
|
|
96
|
+
|
|
97
|
+
### 8. Configuration (LOW)
|
|
98
|
+
|
|
99
|
+
- `fonts-config-plugin` - Use config plugins for custom fonts
|
|
100
|
+
- `imports-design-system-folder` - Organize design system imports
|
|
101
|
+
- `js-hoist-intl` - Hoist Intl object creation
|
|
102
|
+
|
|
103
|
+
## How to Use
|
|
104
|
+
|
|
105
|
+
Read individual rule files for detailed explanations and code examples:
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
rules/list-performance-virtualize.md
|
|
109
|
+
rules/animation-gpu-properties.md
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Each rule file contains:
|
|
113
|
+
|
|
114
|
+
- Brief explanation of why it matters
|
|
115
|
+
- Incorrect code example with explanation
|
|
116
|
+
- Correct code example with explanation
|
|
117
|
+
- Additional context and references
|
|
118
|
+
|
|
119
|
+
## Full Compiled Document
|
|
120
|
+
|
|
121
|
+
For the complete guide with all rules expanded: `AGENTS.md`
|