@jhm1909/ag-kit 0.1.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/.agent/ARCHITECTURE.md +189 -0
- package/.agent/known-registries.json +181 -0
- package/.agent/mcp_config.json +19 -0
- package/.agent/rules/clean-code.md +107 -0
- package/.agent/rules/documents.md +177 -0
- package/.agent/rules/git-workflow.md +68 -0
- package/.agent/rules/nano-banana.md +46 -0
- package/.agent/rules/research.md +35 -0
- package/.agent/rules/skill-loading.md +100 -0
- package/.agent/rules/skill-suggestion.md +47 -0
- package/.agent/rules/testing.md +52 -0
- package/.agent/rules/workflow-advisor.md +108 -0
- package/.agent/rules/workflow-skill-convention.md +127 -0
- package/.agent/skills/ai-engineer/SKILL.md +824 -0
- package/.agent/skills/ai-engineer/references/agentic-patterns.md +329 -0
- package/.agent/skills/ai-engineer/references/evaluation.md +493 -0
- package/.agent/skills/ai-engineer/references/llm.md +490 -0
- package/.agent/skills/ai-engineer/references/rag-advanced.md +444 -0
- package/.agent/skills/ai-engineer/references/serving-optimization.md +531 -0
- package/.agent/skills/ai-engineer/vector-db/README.md +137 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +41 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/.agent/skills/backend-developer/SKILL.md +763 -0
- package/.agent/skills/backend-developer/references/general-patterns.md +65 -0
- package/.agent/skills/backend-developer/references/go-echo.md +68 -0
- package/.agent/skills/backend-developer/references/go-gin.md +76 -0
- package/.agent/skills/backend-developer/references/java-springboot.md +83 -0
- package/.agent/skills/backend-developer/references/node-express.md +64 -0
- package/.agent/skills/backend-developer/references/node-nestjs.md +69 -0
- package/.agent/skills/backend-developer/references/python-django.md +67 -0
- package/.agent/skills/backend-developer/references/python-fastapi.md +80 -0
- package/.agent/skills/blockchain-engineer/SKILL.md +975 -0
- package/.agent/skills/blockchain-engineer/references/deployment.md +28 -0
- package/.agent/skills/blockchain-engineer/references/evm.md +14 -0
- package/.agent/skills/blockchain-engineer/references/mechanisms.md +32 -0
- package/.agent/skills/blockchain-engineer/references/solidity.md +32 -0
- package/.agent/skills/business-analysis/SKILL.md +85 -0
- package/.agent/skills/business-analysis/references/best-practices/diagrams.md +141 -0
- package/.agent/skills/business-analysis/references/domains/ai-agent.md +94 -0
- package/.agent/skills/business-analysis/references/domains/blockchain-dapp.md +86 -0
- package/.agent/skills/business-analysis/references/domains/ecommerce.md +77 -0
- package/.agent/skills/business-analysis/references/domains/education.md +42 -0
- package/.agent/skills/business-analysis/references/domains/fintech.md +44 -0
- package/.agent/skills/business-analysis/references/domains/fnb.md +82 -0
- package/.agent/skills/business-analysis/references/domains/healthtech.md +44 -0
- package/.agent/skills/business-analysis/references/domains/internal-tools.md +38 -0
- package/.agent/skills/business-analysis/references/domains/marketplace.md +52 -0
- package/.agent/skills/business-analysis/references/domains/saas.md +36 -0
- package/.agent/skills/business-analysis/references/workflows/collaboration.md +41 -0
- package/.agent/skills/business-analysis/scripts/verify_mermaid.py +86 -0
- package/.agent/skills/business-analysis/templates/brd.md +46 -0
- package/.agent/skills/business-analysis/templates/change-request.md +41 -0
- package/.agent/skills/business-analysis/templates/prd-functional.md +38 -0
- package/.agent/skills/business-analysis/templates/use-case.md +40 -0
- package/.agent/skills/business-analysis/templates/user-story-detailed.md +36 -0
- package/.agent/skills/code-review/SKILL.md +113 -0
- package/.agent/skills/code-review/references/code-review-reception.md +209 -0
- package/.agent/skills/code-review/references/differential_review.md +59 -0
- package/.agent/skills/code-review/references/requesting-code-review.md +105 -0
- package/.agent/skills/code-review/references/spec_compliance.md +43 -0
- package/.agent/skills/code-review/references/verification-before-completion.md +139 -0
- package/.agent/skills/context-engineering/SKILL.md +68 -0
- package/.agent/skills/context-engineering/references/context-compression.md +84 -0
- package/.agent/skills/context-engineering/references/context-degradation.md +93 -0
- package/.agent/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/.agent/skills/context-engineering/references/context-optimization.md +82 -0
- package/.agent/skills/context-engineering/references/evaluation.md +89 -0
- package/.agent/skills/context-engineering/references/memory-systems.md +88 -0
- package/.agent/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/.agent/skills/context-engineering/references/project-development.md +97 -0
- package/.agent/skills/context-engineering/references/tool-design.md +86 -0
- package/.agent/skills/debugging/SKILL.md +60 -0
- package/.agent/skills/debugging/references/defense-in-depth.md +130 -0
- package/.agent/skills/debugging/references/root-cause-tracing.md +177 -0
- package/.agent/skills/debugging/references/systematic-debugging.md +295 -0
- package/.agent/skills/debugging/references/verification-before-completion.md +142 -0
- package/.agent/skills/designer/SKILL.md +159 -0
- package/.agent/skills/designer/concepts/apple-glass.md +48 -0
- package/.agent/skills/designer/concepts/aurora-gradients.md +26 -0
- package/.agent/skills/designer/concepts/bento-grids.md +14 -0
- package/.agent/skills/designer/concepts/claymorphism.md +27 -0
- package/.agent/skills/designer/concepts/neo-brutalism.md +32 -0
- package/.agent/skills/designer/data/app-interface.csv +31 -0
- package/.agent/skills/designer/data/charts.csv +26 -0
- package/.agent/skills/designer/data/colors.csv +162 -0
- package/.agent/skills/designer/data/design.csv +1776 -0
- package/.agent/skills/designer/data/icons.csv +106 -0
- package/.agent/skills/designer/data/landing.csv +35 -0
- package/.agent/skills/designer/data/products.csv +162 -0
- package/.agent/skills/designer/data/react-performance.csv +45 -0
- package/.agent/skills/designer/data/styles.csv +85 -0
- package/.agent/skills/designer/data/typography.csv +74 -0
- package/.agent/skills/designer/data/ui-reasoning.csv +162 -0
- package/.agent/skills/designer/data/ux-guidelines.csv +100 -0
- package/.agent/skills/designer/references/accessibility.md +172 -0
- package/.agent/skills/designer/references/branding.md +88 -0
- package/.agent/skills/designer/references/color-theory.md +139 -0
- package/.agent/skills/designer/references/creation.md +118 -0
- package/.agent/skills/designer/references/design-systems.md +219 -0
- package/.agent/skills/designer/references/frontend_design_aesthetics.md +57 -0
- package/.agent/skills/designer/references/layout.md +200 -0
- package/.agent/skills/designer/references/motion.md +92 -0
- package/.agent/skills/designer/references/review.md +100 -0
- package/.agent/skills/designer/references/trends.md +209 -0
- package/.agent/skills/designer/references/typography.md +190 -0
- package/.agent/skills/designer/scripts/remove_background.py +135 -0
- package/.agent/skills/designer/scripts/ui-search/__pycache__/core.cpython-314.pyc +0 -0
- package/.agent/skills/designer/scripts/ui-search/__pycache__/design_system.cpython-314.pyc +0 -0
- package/.agent/skills/designer/scripts/ui-search/core.py +217 -0
- package/.agent/skills/designer/scripts/ui-search/design_system.py +1067 -0
- package/.agent/skills/designer/scripts/ui-search/search.py +114 -0
- package/.agent/skills/designer/templates/design-motion-spec.md +30 -0
- package/.agent/skills/devops-engineer/SKILL.md +90 -0
- package/.agent/skills/devops-engineer/docker-compose/README.md +47 -0
- package/.agent/skills/devops-engineer/references/ci-cd-pipelines.md +76 -0
- package/.agent/skills/devops-engineer/references/cloud-providers.md +57 -0
- package/.agent/skills/devops-engineer/references/codebase-normalization.md +104 -0
- package/.agent/skills/devops-engineer/references/container-orchestration.md +69 -0
- package/.agent/skills/devops-engineer/references/iac-tools.md +63 -0
- package/.agent/skills/devops-engineer/references/observability-security.md +45 -0
- package/.agent/skills/devops-engineer/references/vercel-supabase.md +17 -0
- package/.agent/skills/devops-engineer/templates/release-notes.md +8 -0
- package/.agent/skills/frontend-developer/SKILL.md +125 -0
- package/.agent/skills/frontend-developer/react-nextjs/README.md +90 -0
- package/.agent/skills/frontend-developer/references/angular.md +52 -0
- package/.agent/skills/frontend-developer/references/composition_patterns.md +60 -0
- package/.agent/skills/frontend-developer/references/core-performance.md +68 -0
- package/.agent/skills/frontend-developer/references/modern-signals.md +43 -0
- package/.agent/skills/frontend-developer/references/react_performance_rules.md +55 -0
- package/.agent/skills/frontend-developer/references/vue-nuxt.md +55 -0
- package/.agent/skills/frontend-developer/scripts/validate_compliance.py +65 -0
- package/.agent/skills/frontend-developer/threejs/README.md +89 -0
- package/.agent/skills/frontend-developer/threejs/animation.md +552 -0
- package/.agent/skills/frontend-developer/threejs/fundamentals.md +488 -0
- package/.agent/skills/frontend-developer/threejs/geometry.md +548 -0
- package/.agent/skills/frontend-developer/threejs/interaction.md +660 -0
- package/.agent/skills/frontend-developer/threejs/lighting.md +481 -0
- package/.agent/skills/frontend-developer/threejs/loaders.md +623 -0
- package/.agent/skills/frontend-developer/threejs/materials.md +520 -0
- package/.agent/skills/frontend-developer/threejs/postprocessing.md +602 -0
- package/.agent/skills/frontend-developer/threejs/router.json +181 -0
- package/.agent/skills/frontend-developer/threejs/shaders.md +642 -0
- package/.agent/skills/frontend-developer/threejs/textures.md +628 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/lead-architect/SKILL.md +85 -0
- package/.agent/skills/lead-architect/references/application-architecture.md +70 -0
- package/.agent/skills/lead-architect/references/infrastructure.md +51 -0
- package/.agent/skills/lead-architect/references/process.md +42 -0
- package/.agent/skills/lead-architect/references/system-architecture.md +62 -0
- package/.agent/skills/lead-architect/references/web-fullstack.md +82 -0
- package/.agent/skills/lead-architect/templates/adr.md +62 -0
- package/.agent/skills/lead-architect/templates/rfc.md +46 -0
- package/.agent/skills/lead-architect/templates/sdd.md +62 -0
- package/.agent/skills/lead-architect/templates/technical-spec.md +61 -0
- package/.agent/skills/marketer/SKILL.md +66 -0
- package/.agent/skills/marketer/remotion-best-practices/SKILL.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/3d.md +86 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/animations.md +29 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/assets.md +78 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/audio.md +172 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/can-decode.md +75 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/charts.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/compositions.md +146 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/display-captions.md +126 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/fonts.md +152 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/gifs.md +138 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/images.md +130 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/lottie.md +68 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/sequencing.md +106 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/tailwind.md +11 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/text-animations.md +20 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/timing.md +179 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/transitions.md +122 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/trimming.md +53 -0
- package/.agent/skills/marketer/remotion-best-practices/rules/videos.md +171 -0
- package/.agent/skills/mcp-builder/SKILL.md +76 -0
- package/.agent/skills/mcp-builder/references/evaluation.md +602 -0
- package/.agent/skills/mcp-builder/references/mcp_best_practices.md +249 -0
- package/.agent/skills/mcp-builder/references/node_mcp_server.md +970 -0
- package/.agent/skills/mcp-builder/references/python_mcp_server.md +719 -0
- package/.agent/skills/mobile-developer/SKILL.md +83 -0
- package/.agent/skills/mobile-developer/api-routes/SKILL.md +389 -0
- package/.agent/skills/mobile-developer/building-ui/SKILL.md +335 -0
- package/.agent/skills/mobile-developer/building-ui/references/animations.md +220 -0
- package/.agent/skills/mobile-developer/building-ui/references/controls.md +270 -0
- package/.agent/skills/mobile-developer/building-ui/references/form-sheet.md +227 -0
- package/.agent/skills/mobile-developer/building-ui/references/gradients.md +106 -0
- package/.agent/skills/mobile-developer/building-ui/references/icons.md +213 -0
- package/.agent/skills/mobile-developer/building-ui/references/media.md +198 -0
- package/.agent/skills/mobile-developer/building-ui/references/route-structure.md +229 -0
- package/.agent/skills/mobile-developer/building-ui/references/search.md +248 -0
- package/.agent/skills/mobile-developer/building-ui/references/storage.md +121 -0
- package/.agent/skills/mobile-developer/building-ui/references/tabs.md +368 -0
- package/.agent/skills/mobile-developer/building-ui/references/visual-effects.md +197 -0
- package/.agent/skills/mobile-developer/building-ui/references/webgpu-three.md +605 -0
- package/.agent/skills/mobile-developer/cicd-workflows/SKILL.md +107 -0
- package/.agent/skills/mobile-developer/cicd-workflows/scripts/fetch.js +109 -0
- package/.agent/skills/mobile-developer/cicd-workflows/scripts/package.json +11 -0
- package/.agent/skills/mobile-developer/cicd-workflows/scripts/validate.js +84 -0
- package/.agent/skills/mobile-developer/data-fetching/SKILL.md +508 -0
- package/.agent/skills/mobile-developer/deployment/SKILL.md +207 -0
- package/.agent/skills/mobile-developer/deployment/references/app-store-metadata.md +479 -0
- package/.agent/skills/mobile-developer/deployment/references/ios-app-store.md +355 -0
- package/.agent/skills/mobile-developer/deployment/references/play-store.md +246 -0
- package/.agent/skills/mobile-developer/deployment/references/testflight.md +58 -0
- package/.agent/skills/mobile-developer/deployment/references/workflows.md +200 -0
- package/.agent/skills/mobile-developer/dev-client/SKILL.md +181 -0
- package/.agent/skills/mobile-developer/tailwind-setup/SKILL.md +501 -0
- package/.agent/skills/mobile-developer/upgrading-expo/SKILL.md +116 -0
- package/.agent/skills/mobile-developer/upgrading-expo/references/new-architecture.md +79 -0
- package/.agent/skills/mobile-developer/upgrading-expo/references/react-19.md +79 -0
- package/.agent/skills/mobile-developer/upgrading-expo/references/react-compiler.md +59 -0
- package/.agent/skills/mobile-developer/use-dom/SKILL.md +434 -0
- package/.agent/skills/modern-python/SKILL.md +122 -0
- package/.agent/skills/project-manager/SKILL.md +110 -0
- package/.agent/skills/project-manager/references/ba-collaboration.md +62 -0
- package/.agent/skills/project-manager/references/discovery_process.md +52 -0
- package/.agent/skills/project-manager/references/jobs_to_be_done.md +51 -0
- package/.agent/skills/project-manager/references/prd_development.md +52 -0
- package/.agent/skills/project-manager/references/rules-guide.md +55 -0
- package/.agent/skills/project-manager/references/skill-creation.md +98 -0
- package/.agent/skills/project-manager/references/strategic-frameworks.md +62 -0
- package/.agent/skills/project-manager/references/task-decomposition.md +194 -0
- package/.agent/skills/project-manager/references/workflows-guide.md +44 -0
- package/.agent/skills/project-manager/router.json +160 -0
- package/.agent/skills/project-manager/scripts/compare_skill.py +177 -0
- package/.agent/skills/project-manager/scripts/encoding_utils.py +36 -0
- package/.agent/skills/project-manager/scripts/init_skill.py +190 -0
- package/.agent/skills/project-manager/scripts/quick_validate.py +123 -0
- package/.agent/skills/project-manager/templates/pm-strategy-one-pager.md +6 -0
- package/.agent/skills/project-manager/templates/prd-strategic.md +38 -0
- package/.agent/skills/project-manager/templates/skill-questionnaire.md +118 -0
- package/.agent/skills/project-manager/templates/user-story-simple.md +14 -0
- package/.agent/skills/prompt-engineer/SKILL.md +319 -0
- package/.agent/skills/prompt-engineer/skill-creator/README.md +47 -0
- package/.agent/skills/qa-tester/SKILL.md +142 -0
- package/.agent/skills/qa-tester/assets/README.md +8 -0
- package/.agent/skills/qa-tester/references/accessibility_testing.md +35 -0
- package/.agent/skills/qa-tester/references/agent_browser.md +38 -0
- package/.agent/skills/qa-tester/references/automation/api_testing.md +23 -0
- package/.agent/skills/qa-tester/references/automation/best_practices.md +14 -0
- package/.agent/skills/qa-tester/references/automation/jest_vitest.md +26 -0
- package/.agent/skills/qa-tester/references/automation/playwright.md +30 -0
- package/.agent/skills/qa-tester/references/e2e_testing.md +46 -0
- package/.agent/skills/qa-tester/references/integration_testing.md +39 -0
- package/.agent/skills/qa-tester/references/performance_testing.md +44 -0
- package/.agent/skills/qa-tester/references/property_based_testing.md +44 -0
- package/.agent/skills/qa-tester/references/security_audit.md +53 -0
- package/.agent/skills/qa-tester/references/security_testing.md +30 -0
- package/.agent/skills/qa-tester/references/sharp_edges.md +49 -0
- package/.agent/skills/qa-tester/references/static_analysis.md +52 -0
- package/.agent/skills/qa-tester/references/supply_chain_audit.md +54 -0
- package/.agent/skills/qa-tester/references/test_case_standards.md +96 -0
- package/.agent/skills/qa-tester/references/test_report_template.md +32 -0
- package/.agent/skills/qa-tester/references/unit_testing.md +50 -0
- package/.agent/skills/qa-tester/references/visual_testing.md +32 -0
- package/.agent/skills/qa-tester/templates/uat-plan.md +34 -0
- package/.agent/skills/research-first/SKILL.md +118 -0
- package/.agent/skills-manifest.json +264 -0
- package/.agent/workflows/absorb.md +176 -0
- package/.agent/workflows/bootstrap.md +91 -0
- package/.agent/workflows/brainstorm.md +168 -0
- package/.agent/workflows/break-tasks.md +77 -0
- package/.agent/workflows/commit.md +349 -0
- package/.agent/workflows/custom-behavior.md +64 -0
- package/.agent/workflows/debug.md +65 -0
- package/.agent/workflows/development.md +49 -0
- package/.agent/workflows/documentation.md +221 -0
- package/.agent/workflows/gen-tests.md +53 -0
- package/.agent/workflows/guide.md +196 -0
- package/.agent/workflows/implement-feature.md +182 -0
- package/.agent/workflows/install-skill.md +193 -0
- package/.agent/workflows/qa.md +54 -0
- package/.agent/workflows/ui-ux-design.md +108 -0
- package/LICENSE +21 -0
- package/README.md +258 -0
- package/cli/index.js +345 -0
- package/cli/migrate-skills.js +113 -0
- package/cli/verify.js +291 -0
- package/package.json +49 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nextjs-static
|
|
3
|
+
description: Modern template for Next.js 16, React 19 & Tailwind v4. Optimized for Landing pages and Portfolios.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Next.js Static Site Template (Modern Edition)
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
9
|
+
|
|
10
|
+
| Component | Technology | Notes |
|
|
11
|
+
|-----------|------------|-------|
|
|
12
|
+
| Framework | Next.js 16+ | App Router, Turbopack, Static Exports |
|
|
13
|
+
| Core | React 19 | Server Components, New Hooks, Compiler |
|
|
14
|
+
| Language | TypeScript | Strict Mode |
|
|
15
|
+
| Styling | Tailwind CSS v4 | CSS-first configuration (No js config), Oxide Engine |
|
|
16
|
+
| Animations | Framer Motion | Layout animations & gestures |
|
|
17
|
+
| Icons | Lucide React | Lightweight SVG icons |
|
|
18
|
+
| SEO | Metadata API | Native Next.js API (Replaces next-seo) |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Directory Structure
|
|
23
|
+
|
|
24
|
+
Streamlined structure thanks to Tailwind v4 (theme configuration lives inside CSS).
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
project-name/
|
|
28
|
+
├── src/
|
|
29
|
+
│ ├── app/
|
|
30
|
+
│ │ ├── layout.tsx # Contains root SEO Metadata
|
|
31
|
+
│ │ ├── page.tsx # Landing Page
|
|
32
|
+
│ │ ├── globals.css # Import Tailwind v4 & @theme config
|
|
33
|
+
│ │ ├── not-found.tsx # Custom 404 page
|
|
34
|
+
│ │ └── (routes)/ # Route groups (about, contact...)
|
|
35
|
+
│ ├── components/
|
|
36
|
+
│ │ ├── layout/ # Header, Footer
|
|
37
|
+
│ │ ├── sections/ # Hero, Features, Pricing, CTA
|
|
38
|
+
│ │ └── ui/ # Atomic components (Button, Card)
|
|
39
|
+
│ └── lib/
|
|
40
|
+
│ └── utils.ts # Helper functions (cn, formatters)
|
|
41
|
+
├── content/ # Markdown/MDX content
|
|
42
|
+
├── public/ # Static assets (images, fonts)
|
|
43
|
+
├── next.config.ts # Next.js Config (TypeScript)
|
|
44
|
+
└── package.json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Static Export Config
|
|
50
|
+
|
|
51
|
+
Using `next.config.ts` instead of `.js` for better type safety.
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
// next.config.ts
|
|
55
|
+
import type { NextConfig } from "next";
|
|
56
|
+
|
|
57
|
+
const nextConfig: NextConfig = {
|
|
58
|
+
output: 'export', // Required for Static Hosting (S3, GitHub Pages)
|
|
59
|
+
images: {
|
|
60
|
+
unoptimized: true // Required if not using Node.js server image optimization
|
|
61
|
+
},
|
|
62
|
+
trailingSlash: true, // Recommended for SEO and fixing 404s on some hosts
|
|
63
|
+
reactStrictMode: true,
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export default nextConfig;
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## SEO Implementation (Metadata API)
|
|
72
|
+
|
|
73
|
+
Deprecated next-seo. Configure directly in layout.tsx or page.tsx.
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
// src/app/layout.tsx
|
|
77
|
+
import type { Metadata } from 'next';
|
|
78
|
+
|
|
79
|
+
export const metadata: Metadata = {
|
|
80
|
+
title: {
|
|
81
|
+
template: '%s | Product Name',
|
|
82
|
+
default: 'Home - Product Name',
|
|
83
|
+
},
|
|
84
|
+
description: 'SEO optimized description for the landing page.',
|
|
85
|
+
openGraph: {
|
|
86
|
+
type: 'website',
|
|
87
|
+
locale: 'en_US',
|
|
88
|
+
url: 'https://mysite.com',
|
|
89
|
+
siteName: 'My Brand',
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Landing Page Sections
|
|
97
|
+
|
|
98
|
+
| Section | Purpose | Suggested Component |
|
|
99
|
+
|---------|---------|---------------------|
|
|
100
|
+
| Hero | First impression, H1 & Main CTA | `<HeroSection />` |
|
|
101
|
+
| Features | Product benefits (Grid/Bento layout) | `<FeaturesGrid />` |
|
|
102
|
+
| Social Proof | Partner logos, User numbers | `<LogoCloud />` |
|
|
103
|
+
| Testimonials | Customer reviews | `<TestimonialCarousel />` |
|
|
104
|
+
| Pricing | Service plans | `<PricingCards />` |
|
|
105
|
+
| FAQ | Questions & Answers (Good for SEO) | `<Accordion />` |
|
|
106
|
+
| CTA | Final conversion | `<CallToAction />` |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Animation Patterns (Framer Motion)
|
|
111
|
+
|
|
112
|
+
| Pattern | Usage | Implementation |
|
|
113
|
+
|---------|-------|----------------|
|
|
114
|
+
| Fade Up | Headlines, paragraphs | `initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }}` |
|
|
115
|
+
| Stagger | Lists of Features/Cards | Use variants with `staggerChildren` |
|
|
116
|
+
| Parallax | Background images or floating elements | `useScroll` & `useTransform` |
|
|
117
|
+
| Micro-interactions | Hover buttons, click effects | `whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }}` |
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Setup Steps
|
|
122
|
+
|
|
123
|
+
1. Initialize Project:
|
|
124
|
+
```bash
|
|
125
|
+
npx create-next-app@latest my-site --typescript --tailwind --eslint
|
|
126
|
+
# Select 'Yes' for App Router
|
|
127
|
+
# Select 'No' for 'Would you like to customize the default import alias?'
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
2. Install Auxiliary Libraries:
|
|
131
|
+
```bash
|
|
132
|
+
npm install framer-motion lucide-react clsx tailwind-merge
|
|
133
|
+
# clsx and tailwind-merge help handle dynamic classes better
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
3. Configure Tailwind v4 (in `src/app/globals.css`):
|
|
137
|
+
```css
|
|
138
|
+
@import "tailwindcss";
|
|
139
|
+
|
|
140
|
+
@theme {
|
|
141
|
+
--color-primary: #3b82f6;
|
|
142
|
+
--font-sans: 'Inter', sans-serif;
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
4. Development:
|
|
147
|
+
```bash
|
|
148
|
+
npm run dev --turbopack
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Deployment
|
|
154
|
+
|
|
155
|
+
| Platform | Method | Important Notes |
|
|
156
|
+
|----------|--------|-----------------|
|
|
157
|
+
| Vercel | Git Push | Auto-detects Next.js. Best for performance. |
|
|
158
|
+
| GitHub Pages | GitHub Actions | Need to set `basePath` in `next.config.ts` if not using a custom domain. |
|
|
159
|
+
| AWS S3 / CloudFront | Upload out folder | Ensure Error Document is configured to `404.html`. |
|
|
160
|
+
| Netlify | Git Push | Set build command to `npm run build`. |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Best Practices (Modern)
|
|
165
|
+
|
|
166
|
+
- **React Server Components (RSC)**: Default all components to Server Components. Only add `'use client'` when you need state (`useState`) or event listeners (`onClick`).
|
|
167
|
+
- **Image Optimization**: Use the `<Image />` component but remember `unoptimized: true` for static export or use an external image CDN (Cloudinary/Imgix).
|
|
168
|
+
- **Font Optimization**: Use `next/font` (Google Fonts) to automatically host fonts and prevent layout shift.
|
|
169
|
+
- **Responsive**: Mobile-first design using Tailwind prefixes like `sm:`, `md:`, `lg:`.
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nuxt-app
|
|
3
|
+
description: Nuxt 4 full-stack template. Vue 3 (Vapor), Pinia, Tailwind v4, Prisma.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Nuxt 4 Full-Stack Template (2026 Edition)
|
|
7
|
+
|
|
8
|
+
Mẫu template Full-Stack hiện đại cho Nuxt 4, tối ưu hóa hiệu suất với Vue Vapor Mode và Tailwind v4.
|
|
9
|
+
|
|
10
|
+
## Tech Stack
|
|
11
|
+
|
|
12
|
+
| Component | Technology | Version / Notes |
|
|
13
|
+
|-----------|------------|-----------------|
|
|
14
|
+
| Framework | Nuxt | v4.0+ (App Directory structure) |
|
|
15
|
+
| UI Engine | Vue | v3.6+ (Vapor Mode enabled) |
|
|
16
|
+
| Language | TypeScript | v5+ (Strict Mode) |
|
|
17
|
+
| State | Pinia | v3+ (Store syntax) |
|
|
18
|
+
| Database | PostgreSQL | Prisma ORM |
|
|
19
|
+
| Styling | Tailwind CSS | v4.0 (Vite Plugin, Zero-config) |
|
|
20
|
+
| UI Lib | Nuxt UI | v3 (Tailwind v4 native) |
|
|
21
|
+
| Validation | Zod | Schema validation |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Directory Structure (Nuxt 4 Standard)
|
|
26
|
+
|
|
27
|
+
Sử dụng cấu trúc `app/` để giữ thư mục gốc gọn gàng.
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
project-name/
|
|
31
|
+
├── app/ # Application Source
|
|
32
|
+
│ ├── assets/
|
|
33
|
+
│ │ └── css/
|
|
34
|
+
│ │ └── main.css # Tailwind v4 imports
|
|
35
|
+
│ ├── components/ # Auto-imported components
|
|
36
|
+
│ ├── composables/ # Auto-imported logic
|
|
37
|
+
│ ├── layouts/
|
|
38
|
+
│ ├── pages/ # File-based routing
|
|
39
|
+
│ ├── app.vue # Root component
|
|
40
|
+
│ └── router.options.ts
|
|
41
|
+
├── server/ # Nitro Server Engine
|
|
42
|
+
│ ├── api/ # API Routes (e.g. /api/users)
|
|
43
|
+
│ ├── routes/ # Server Routes
|
|
44
|
+
│ └── utils/ # Server-only helpers (Prisma)
|
|
45
|
+
├── prisma/
|
|
46
|
+
│ └── schema.prisma
|
|
47
|
+
├── public/
|
|
48
|
+
├── nuxt.config.ts # Main Config
|
|
49
|
+
└── package.json
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Key Concepts (2026)
|
|
55
|
+
|
|
56
|
+
| Concept | Description | Future Update |
|
|
57
|
+
|---------|-------------|---------------|
|
|
58
|
+
| **App Directory** | `app/` | Tách biệt mã nguồn ứng dụng và file cấu hình root. |
|
|
59
|
+
| **Vapor Mode** | Opt-in performance | Render không cần Virtual DOM (như SolidJS). Bật trong `nuxt.config`. |
|
|
60
|
+
| **Server Functions** | RPC-style calls | Gọi hàm server trực tiếp từ client (thay thế dần API routes thủ công). |
|
|
61
|
+
| **Tailwind v4** | CSS-first | Cấu hình theme trực tiếp trong CSS, không cần `tailwind.config.js`. |
|
|
62
|
+
| **Nuxt Islands** | Server Components | Render component cô lập trên server (`<NuxtIsland name="..." />`). |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Environment Variables
|
|
67
|
+
|
|
68
|
+
| Variable | Purpose |
|
|
69
|
+
|----------|---------|
|
|
70
|
+
| DATABASE_URL | Prisma connection string (PostgreSQL) |
|
|
71
|
+
| NUXT_PUBLIC_APP_URL | Canonical URL |
|
|
72
|
+
| NUXT_SESSION_PASSWORD | Session encryption key |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Setup Steps
|
|
77
|
+
|
|
78
|
+
1. Initialize Project:
|
|
79
|
+
```bash
|
|
80
|
+
npx nuxi@latest init my-app
|
|
81
|
+
# Select "Nuxt 4 structure" if prompted
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
2. Install Core Deps:
|
|
85
|
+
```bash
|
|
86
|
+
npm install @pinia/nuxt @prisma/client zod
|
|
87
|
+
npm install -D prisma
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
3. Setup Tailwind v4:
|
|
91
|
+
Install the Vite plugin (new standard):
|
|
92
|
+
```bash
|
|
93
|
+
npm install tailwindcss @tailwindcss/vite
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Add to `nuxt.config.ts`:
|
|
97
|
+
```ts
|
|
98
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
99
|
+
export default defineNuxtConfig({
|
|
100
|
+
vite: {
|
|
101
|
+
plugins: [tailwindcss()]
|
|
102
|
+
},
|
|
103
|
+
css: ['~/assets/css/main.css']
|
|
104
|
+
})
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
4. Configure CSS:
|
|
108
|
+
In `app/assets/css/main.css`:
|
|
109
|
+
```css
|
|
110
|
+
@import "tailwindcss";
|
|
111
|
+
@theme {
|
|
112
|
+
--color-primary: oklch(0.6 0.15 150);
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
5. Run Development:
|
|
117
|
+
```bash
|
|
118
|
+
npm run dev
|
|
119
|
+
# Runs with Turbo/Vite
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Best Practices
|
|
125
|
+
|
|
126
|
+
- **Vapor Mode**: Kích hoạt cho các component nặng về render:
|
|
127
|
+
```ts
|
|
128
|
+
<script setup lang="ts" vapor>
|
|
129
|
+
// Component này sẽ compile sang chế độ Vapor (No VDOM)
|
|
130
|
+
</script>
|
|
131
|
+
```
|
|
132
|
+
- **Data Fetching**: Sử dụng `useFetch` với `server: false` cho các tác vụ client-only, hoặc dùng Server Functions để type-safety tốt hơn.
|
|
133
|
+
- **State**: Dùng `defineStore` (Pinia) cho global state, `useState` của Nuxt cho state đơn giản chia sẻ giữa Server/Client.
|
|
134
|
+
- **Type Safety**: Tự động tạo type cho API routes (`$fetch` typed automatically).
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: python-fastapi
|
|
3
|
+
description: FastAPI REST API template principles. SQLAlchemy, Pydantic, Alembic.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# FastAPI API Template
|
|
7
|
+
|
|
8
|
+
## Tech Stack
|
|
9
|
+
|
|
10
|
+
| Component | Technology |
|
|
11
|
+
|-----------|------------|
|
|
12
|
+
| Framework | FastAPI |
|
|
13
|
+
| Language | Python 3.11+ |
|
|
14
|
+
| ORM | SQLAlchemy 2.0 |
|
|
15
|
+
| Validation | Pydantic v2 |
|
|
16
|
+
| Migrations | Alembic |
|
|
17
|
+
| Auth | JWT + passlib |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Directory Structure
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
project-name/
|
|
25
|
+
├── alembic/ # Migrations
|
|
26
|
+
├── app/
|
|
27
|
+
│ ├── main.py # FastAPI app
|
|
28
|
+
│ ├── config.py # Settings
|
|
29
|
+
│ ├── database.py # DB connection
|
|
30
|
+
│ ├── models/ # SQLAlchemy models
|
|
31
|
+
│ ├── schemas/ # Pydantic schemas
|
|
32
|
+
│ ├── routers/ # API routes
|
|
33
|
+
│ ├── services/ # Business logic
|
|
34
|
+
│ ├── dependencies/ # DI
|
|
35
|
+
│ └── utils/
|
|
36
|
+
├── tests/
|
|
37
|
+
├── .env.example
|
|
38
|
+
└── requirements.txt
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Key Concepts
|
|
44
|
+
|
|
45
|
+
| Concept | Description |
|
|
46
|
+
|---------|-------------|
|
|
47
|
+
| Async | async/await throughout |
|
|
48
|
+
| Dependency Injection | FastAPI Depends |
|
|
49
|
+
| Pydantic v2 | Validation + serialization |
|
|
50
|
+
| SQLAlchemy 2.0 | Async sessions |
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## API Structure
|
|
55
|
+
|
|
56
|
+
| Layer | Responsibility |
|
|
57
|
+
|-------|---------------|
|
|
58
|
+
| Routers | HTTP handling |
|
|
59
|
+
| Dependencies | Auth, validation |
|
|
60
|
+
| Services | Business logic |
|
|
61
|
+
| Models | Database entities |
|
|
62
|
+
| Schemas | Request/response |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Setup Steps
|
|
67
|
+
|
|
68
|
+
1. `python -m venv venv`
|
|
69
|
+
2. `source venv/bin/activate`
|
|
70
|
+
3. `pip install fastapi uvicorn sqlalchemy alembic pydantic`
|
|
71
|
+
4. Create `.env`
|
|
72
|
+
5. `alembic upgrade head`
|
|
73
|
+
6. `uvicorn app.main:app --reload`
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Best Practices
|
|
78
|
+
|
|
79
|
+
- Use async everywhere
|
|
80
|
+
- Pydantic v2 for validation
|
|
81
|
+
- SQLAlchemy 2.0 async sessions
|
|
82
|
+
- Alembic for migrations
|
|
83
|
+
- pytest-asyncio for tests
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: react-native-app
|
|
3
|
+
description: React Native mobile app template principles. Expo, TypeScript, navigation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# React Native App Template (2026 Edition)
|
|
7
|
+
|
|
8
|
+
Modern mobile app template, optimized for New Architecture and React 19.
|
|
9
|
+
|
|
10
|
+
## Tech Stack
|
|
11
|
+
|
|
12
|
+
| Component | Technology | Version / Notes |
|
|
13
|
+
|-----------|------------|-----------------|
|
|
14
|
+
| Core | React Native + Expo | SDK 52+ (New Architecture Enabled) |
|
|
15
|
+
| Language | TypeScript | v5+ (Strict Mode) |
|
|
16
|
+
| UI Logic | React | v19 (React Compiler, auto-memoization) |
|
|
17
|
+
| Navigation | Expo Router | v4+ (File-based, Universal Links) |
|
|
18
|
+
| Styling | NativeWind | v4.0 (Tailwind v4, CSS-first config) |
|
|
19
|
+
| State | Zustand + React Query | v5+ (Async State Management) |
|
|
20
|
+
| Storage | Expo SecureStore | Encrypted local storage |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Directory Structure
|
|
25
|
+
|
|
26
|
+
Standardized structure for Expo Router and NativeWind v4.
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
project-name/
|
|
30
|
+
├── app/ # Expo Router (File-based routing)
|
|
31
|
+
│ ├── _layout.tsx # Root Layout (Stack/Tabs config)
|
|
32
|
+
│ ├── index.tsx # Main Screen
|
|
33
|
+
│ ├── (tabs)/ # Route Group for Tab Bar
|
|
34
|
+
│ │ ├── _layout.tsx
|
|
35
|
+
│ │ ├── home.tsx
|
|
36
|
+
│ │ └── profile.tsx
|
|
37
|
+
│ ├── +not-found.tsx # 404 Page
|
|
38
|
+
│ └── [id].tsx # Dynamic Route (Typed)
|
|
39
|
+
├── components/
|
|
40
|
+
│ ├── ui/ # Primitive Components (Button, Text)
|
|
41
|
+
│ └── features/ # Complex Components
|
|
42
|
+
├── hooks/ # Custom Hooks
|
|
43
|
+
├── lib/
|
|
44
|
+
│ ├── api.ts # Axios/Fetch client
|
|
45
|
+
│ └── storage.ts # SecureStore wrapper
|
|
46
|
+
├── store/ # Zustand stores
|
|
47
|
+
├── constants/ # Colors, Theme config
|
|
48
|
+
├── assets/ # Fonts, Images
|
|
49
|
+
├── global.css # Entry point for NativeWind v4
|
|
50
|
+
├── tailwind.config.ts # Tailwind Config (if custom theme needed)
|
|
51
|
+
├── babel.config.js # NativeWind Babel Plugin
|
|
52
|
+
└── app.json # Expo Config
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Navigation Patterns (Expo Router)
|
|
58
|
+
|
|
59
|
+
| Pattern | Description | Implement |
|
|
60
|
+
|---------|-------------|-----------|
|
|
61
|
+
| Stack | Hierarchical navigation (Push/Pop) | `<Stack />` in `_layout.tsx` |
|
|
62
|
+
| Tabs | Bottom navigation bar | `<Tabs />` in `(tabs)/_layout.tsx` |
|
|
63
|
+
| Drawer | Side slide-out menu | `expo-router/drawer` |
|
|
64
|
+
| Modals | Overlay screens | `presentation: 'modal'` in Stack screen |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Key Packages & Purpose
|
|
69
|
+
|
|
70
|
+
| Package | Purpose |
|
|
71
|
+
|---------|---------|
|
|
72
|
+
| expo-router | File-based routing (Next.js like) |
|
|
73
|
+
| nativewind | Use Tailwind CSS classes in React Native |
|
|
74
|
+
| react-native-reanimated | Smooth animations (runs on UI thread) |
|
|
75
|
+
| @tanstack/react-query | Server state management, caching, pre-fetching |
|
|
76
|
+
| zustand | Global state management (lighter than Redux) |
|
|
77
|
+
| expo-image | Optimized image rendering for performance |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Setup Steps (2026 Standard)
|
|
82
|
+
|
|
83
|
+
1. Initialize Project:
|
|
84
|
+
```bash
|
|
85
|
+
npx create-expo-app@latest my-app --template default
|
|
86
|
+
cd my-app
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
2. Install Core Dependencies:
|
|
90
|
+
```bash
|
|
91
|
+
npx expo install expo-router react-native-safe-area-context react-native-screens expo-link expo-constants expo-status-bar
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
3. Install NativeWind v4:
|
|
95
|
+
```bash
|
|
96
|
+
npm install nativewind tailwindcss react-native-reanimated
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
4. Configure NativeWind (Babel & CSS):
|
|
100
|
+
- Add plugin to `babel.config.js`: `plugins: ["nativewind/babel"]`.
|
|
101
|
+
- Create `global.css` with: `@import "tailwindcss";`.
|
|
102
|
+
- Import `global.css` in `app/_layout.tsx`.
|
|
103
|
+
|
|
104
|
+
5. Run Project:
|
|
105
|
+
```bash
|
|
106
|
+
npx expo start -c
|
|
107
|
+
# Press 'i' for iOS simulator or 'a' for Android emulator
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Best Practices (Updated)
|
|
113
|
+
|
|
114
|
+
- **New Architecture**: Ensure `newArchEnabled: true` in `app.json` to leverage TurboModules and Fabric Renderer.
|
|
115
|
+
- **Typed Routes**: Use Expo Router's "Typed Routes" feature for type-safe routing (e.g., `router.push('/path')`).
|
|
116
|
+
- **React 19**: Reduce usage of `useMemo` or `useCallback` thanks to React Compiler (if enabled).
|
|
117
|
+
- **Components**: Build UI primitives (Box, Text) with NativeWind className for reusability.
|
|
118
|
+
- **Assets**: Use `expo-image` instead of default `<Image />` for better caching and performance.
|
|
119
|
+
- **API**: Always wrap API calls with TanStack Query, avoid direct calls in `useEffect`.
|