claudeinone-cli 1.0.2 → 1.0.3
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/kit/.claude/.ck.json +9 -0
- package/kit/.claude/.ckignore +12 -0
- package/kit/.claude/agents/accessibility-auditor.md +46 -0
- package/kit/.claude/agents/api-designer.md +43 -0
- package/kit/.claude/agents/backend-developer.md +54 -0
- package/kit/.claude/agents/brainstormer.md +33 -0
- package/kit/.claude/agents/campaign-manager.md +36 -0
- package/kit/.claude/agents/code-reviewer.md +39 -0
- package/kit/.claude/agents/content-creator.md +38 -0
- package/kit/.claude/agents/copywriter.md +42 -0
- package/kit/.claude/agents/database-admin.md +37 -0
- package/kit/.claude/agents/debugger.md +46 -0
- package/kit/.claude/agents/devops-engineer.md +41 -0
- package/kit/.claude/agents/docs-manager.md +33 -0
- package/kit/.claude/agents/email-wizard.md +40 -0
- package/kit/.claude/agents/frontend-developer.md +52 -0
- package/kit/.claude/agents/fullstack-developer.md +55 -0
- package/kit/.claude/agents/git-manager.md +40 -0
- package/kit/.claude/agents/i18n-specialist.md +46 -0
- package/kit/.claude/agents/integration-specialist.md +48 -0
- package/kit/.claude/agents/journal-writer.md +39 -0
- package/kit/.claude/agents/mcp-manager.md +57 -0
- package/kit/.claude/agents/mobile-developer.md +38 -0
- package/kit/.claude/agents/performance-optimizer.md +38 -0
- package/kit/.claude/agents/planner.md +56 -0
- package/kit/.claude/agents/project-manager.md +34 -0
- package/kit/.claude/agents/refactorer.md +43 -0
- package/kit/.claude/agents/researcher.md +45 -0
- package/kit/.claude/agents/risk-analyst.md +33 -0
- package/kit/.claude/agents/scalability-consultant.md +39 -0
- package/kit/.claude/agents/scout.md +25 -0
- package/kit/.claude/agents/security-auditor.md +42 -0
- package/kit/.claude/agents/seo-specialist.md +44 -0
- package/kit/.claude/agents/skill-creator.md +64 -0
- package/kit/.claude/agents/social-media-manager.md +35 -0
- package/kit/.claude/agents/systems-designer.md +35 -0
- package/kit/.claude/agents/technology-strategist.md +43 -0
- package/kit/.claude/agents/tester.md +40 -0
- package/kit/.claude/agents/ui-ux-designer.md +40 -0
- package/kit/.claude/commands/co/ask.md +29 -0
- package/kit/.claude/commands/co/bootstrap-auto-fast.md +28 -0
- package/kit/.claude/commands/co/bootstrap-auto-parallel.md +29 -0
- package/kit/.claude/commands/co/bootstrap-auto.md +30 -0
- package/kit/.claude/commands/co/bootstrap.md +31 -0
- package/kit/.claude/commands/co/brainstorm.md +27 -0
- package/kit/.claude/commands/co/campaign.md +28 -0
- package/kit/.claude/commands/co/changelog.md +25 -0
- package/kit/.claude/commands/co/checkpoint.md +25 -0
- package/kit/.claude/commands/co/ci.md +26 -0
- package/kit/.claude/commands/co/ck-help.md +24 -0
- package/kit/.claude/commands/co/coding-level.md +24 -0
- package/kit/.claude/commands/co/content-cro.md +26 -0
- package/kit/.claude/commands/co/content-enhance.md +26 -0
- package/kit/.claude/commands/co/content-fast.md +24 -0
- package/kit/.claude/commands/co/content-good.md +26 -0
- package/kit/.claude/commands/co/cook.md +33 -0
- package/kit/.claude/commands/co/debug.md +26 -0
- package/kit/.claude/commands/co/deploy.md +25 -0
- package/kit/.claude/commands/co/design-3d.md +27 -0
- package/kit/.claude/commands/co/design-describe.md +25 -0
- package/kit/.claude/commands/co/design-fast.md +25 -0
- package/kit/.claude/commands/co/design-good.md +28 -0
- package/kit/.claude/commands/co/design-screenshot.md +26 -0
- package/kit/.claude/commands/co/design-video.md +26 -0
- package/kit/.claude/commands/co/docker.md +24 -0
- package/kit/.claude/commands/co/docs-api.md +25 -0
- package/kit/.claude/commands/co/docs-init.md +26 -0
- package/kit/.claude/commands/co/docs-readme.md +24 -0
- package/kit/.claude/commands/co/docs-summarize.md +25 -0
- package/kit/.claude/commands/co/docs-update.md +25 -0
- package/kit/.claude/commands/co/env-check.md +25 -0
- package/kit/.claude/commands/co/fix-ci.md +29 -0
- package/kit/.claude/commands/co/fix-fast.md +28 -0
- package/kit/.claude/commands/co/fix-hard.md +33 -0
- package/kit/.claude/commands/co/fix-logs.md +28 -0
- package/kit/.claude/commands/co/fix-types.md +28 -0
- package/kit/.claude/commands/co/fix-ui.md +28 -0
- package/kit/.claude/commands/co/fix.md +27 -0
- package/kit/.claude/commands/co/git-cm.md +26 -0
- package/kit/.claude/commands/co/git-cp.md +26 -0
- package/kit/.claude/commands/co/git-pr.md +26 -0
- package/kit/.claude/commands/co/index.md +24 -0
- package/kit/.claude/commands/co/integrate-polar.md +29 -0
- package/kit/.claude/commands/co/integrate-sepay.md +29 -0
- package/kit/.claude/commands/co/journal.md +27 -0
- package/kit/.claude/commands/co/k8s.md +24 -0
- package/kit/.claude/commands/co/kanban.md +25 -0
- package/kit/.claude/commands/co/lint-fix.md +24 -0
- package/kit/.claude/commands/co/load.md +25 -0
- package/kit/.claude/commands/co/migrate.md +28 -0
- package/kit/.claude/commands/co/mock.md +26 -0
- package/kit/.claude/commands/co/mode.md +24 -0
- package/kit/.claude/commands/co/monitor.md +25 -0
- package/kit/.claude/commands/co/new-feature.md +27 -0
- package/kit/.claude/commands/co/optimize.md +26 -0
- package/kit/.claude/commands/co/plan-archive.md +24 -0
- package/kit/.claude/commands/co/plan-ci.md +28 -0
- package/kit/.claude/commands/co/plan-cro.md +27 -0
- package/kit/.claude/commands/co/plan-fast.md +24 -0
- package/kit/.claude/commands/co/plan-hard.md +27 -0
- package/kit/.claude/commands/co/plan-parallel.md +25 -0
- package/kit/.claude/commands/co/plan-two.md +29 -0
- package/kit/.claude/commands/co/plan-validate.md +27 -0
- package/kit/.claude/commands/co/plan.md +27 -0
- package/kit/.claude/commands/co/pr.md +25 -0
- package/kit/.claude/commands/co/preview.md +26 -0
- package/kit/.claude/commands/co/refactor.md +25 -0
- package/kit/.claude/commands/co/release.md +25 -0
- package/kit/.claude/commands/co/review-a11y.md +24 -0
- package/kit/.claude/commands/co/review-codebase-parallel.md +27 -0
- package/kit/.claude/commands/co/review-codebase.md +27 -0
- package/kit/.claude/commands/co/review-perf.md +24 -0
- package/kit/.claude/commands/co/review-security.md +25 -0
- package/kit/.claude/commands/co/scaffold.md +25 -0
- package/kit/.claude/commands/co/scout.md +26 -0
- package/kit/.claude/commands/co/secure.md +26 -0
- package/kit/.claude/commands/co/seed.md +25 -0
- package/kit/.claude/commands/co/seo-audit.md +24 -0
- package/kit/.claude/commands/co/seo-keywords.md +25 -0
- package/kit/.claude/commands/co/skill-create.md +29 -0
- package/kit/.claude/commands/co/skill-fix-logs.md +28 -0
- package/kit/.claude/commands/co/slide-create.md +24 -0
- package/kit/.claude/commands/co/spawn.md +24 -0
- package/kit/.claude/commands/co/terraform.md +24 -0
- package/kit/.claude/commands/co/test-gen.md +24 -0
- package/kit/.claude/commands/co/test-ui.md +27 -0
- package/kit/.claude/commands/co/test.md +26 -0
- package/kit/.claude/commands/co/use-mcp.md +25 -0
- package/kit/.claude/commands/co/video-script.md +25 -0
- package/kit/.claude/commands/co/watzup.md +25 -0
- package/kit/.claude/commands/co/worktree.md +25 -0
- package/kit/.claude/commands/co/write-blog.md +25 -0
- package/kit/.claude/commands/co/write-copy.md +24 -0
- package/kit/.claude/commands/co/write-email.md +25 -0
- package/kit/.claude/commands/content/content-cro.md +26 -0
- package/kit/.claude/commands/content/content-enhance.md +26 -0
- package/kit/.claude/commands/content/content-fast.md +24 -0
- package/kit/.claude/commands/content/content-good.md +26 -0
- package/kit/.claude/commands/content/enhance.md +26 -0
- package/kit/.claude/commands/content/good.md +26 -0
- package/kit/.claude/commands/core/ask.md +29 -0
- package/kit/.claude/commands/core/bootstrap-auto-fast.md +28 -0
- package/kit/.claude/commands/core/bootstrap-auto-parallel.md +29 -0
- package/kit/.claude/commands/core/bootstrap-auto.md +30 -0
- package/kit/.claude/commands/core/bootstrap.md +31 -0
- package/kit/.claude/commands/core/ck-help.md +24 -0
- package/kit/.claude/commands/core/coding-level.md +24 -0
- package/kit/.claude/commands/core/cook.md +33 -0
- package/kit/.claude/commands/core/debug.md +26 -0
- package/kit/.claude/commands/core/journal.md +27 -0
- package/kit/.claude/commands/core/kanban.md +25 -0
- package/kit/.claude/commands/core/preview.md +26 -0
- package/kit/.claude/commands/core/scout.md +26 -0
- package/kit/.claude/commands/core/test-ui.md +27 -0
- package/kit/.claude/commands/core/test.md +26 -0
- package/kit/.claude/commands/core/use-mcp.md +25 -0
- package/kit/.claude/commands/core/watzup.md +25 -0
- package/kit/.claude/commands/core/worktree.md +25 -0
- package/kit/.claude/commands/design/3d.md +27 -0
- package/kit/.claude/commands/design/design-3d.md +27 -0
- package/kit/.claude/commands/design/design-describe.md +25 -0
- package/kit/.claude/commands/design/design-fast.md +25 -0
- package/kit/.claude/commands/design/design-good.md +28 -0
- package/kit/.claude/commands/design/design-screenshot.md +26 -0
- package/kit/.claude/commands/design/design-video.md +26 -0
- package/kit/.claude/commands/design/good.md +28 -0
- package/kit/.claude/commands/design/video.md +26 -0
- package/kit/.claude/commands/docs/docs-init.md +26 -0
- package/kit/.claude/commands/docs/docs-summarize.md +25 -0
- package/kit/.claude/commands/docs/docs-update.md +25 -0
- package/kit/.claude/commands/docs/init.md +26 -0
- package/kit/.claude/commands/docs/summarize.md +25 -0
- package/kit/.claude/commands/fix/ci.md +29 -0
- package/kit/.claude/commands/fix/fast.md +28 -0
- package/kit/.claude/commands/fix/fix-ci.md +29 -0
- package/kit/.claude/commands/fix/fix-fast.md +28 -0
- package/kit/.claude/commands/fix/fix-hard.md +33 -0
- package/kit/.claude/commands/fix/fix-logs.md +28 -0
- package/kit/.claude/commands/fix/fix-types.md +28 -0
- package/kit/.claude/commands/fix/fix-ui.md +28 -0
- package/kit/.claude/commands/fix/hard.md +33 -0
- package/kit/.claude/commands/fix/logs.md +28 -0
- package/kit/.claude/commands/fix/types.md +28 -0
- package/kit/.claude/commands/fix/ui.md +28 -0
- package/kit/.claude/commands/git/cp.md +26 -0
- package/kit/.claude/commands/git/git-cm.md +26 -0
- package/kit/.claude/commands/git/git-cp.md +26 -0
- package/kit/.claude/commands/git/git-pr.md +26 -0
- package/kit/.claude/commands/integrate/integrate-polar.md +29 -0
- package/kit/.claude/commands/integrate/integrate-sepay.md +29 -0
- package/kit/.claude/commands/integrate/sepay.md +29 -0
- package/kit/.claude/commands/plan/ci.md +28 -0
- package/kit/.claude/commands/plan/cro.md +27 -0
- package/kit/.claude/commands/plan/hard.md +27 -0
- package/kit/.claude/commands/plan/plan-archive.md +24 -0
- package/kit/.claude/commands/plan/plan-ci.md +28 -0
- package/kit/.claude/commands/plan/plan-cro.md +27 -0
- package/kit/.claude/commands/plan/plan-fast.md +24 -0
- package/kit/.claude/commands/plan/plan-hard.md +27 -0
- package/kit/.claude/commands/plan/plan-parallel.md +25 -0
- package/kit/.claude/commands/plan/plan-two.md +29 -0
- package/kit/.claude/commands/plan/plan-validate.md +27 -0
- package/kit/.claude/commands/plan/plan.md +27 -0
- package/kit/.claude/commands/plan/validate.md +27 -0
- package/kit/.claude/commands/skill/fix-logs.md +28 -0
- package/kit/.claude/commands/skill/skill-create.md +29 -0
- package/kit/.claude/commands/skill/skill-fix-logs.md +28 -0
- package/kit/.claude/settings.json +16 -0
- package/kit/.claude/skills/ai-anthropic.md +100 -0
- package/kit/.claude/skills/ai-context-engineering.md +113 -0
- package/kit/.claude/skills/ai-gemini.md +152 -0
- package/kit/.claude/skills/ai-langchain.md +93 -0
- package/kit/.claude/skills/ai-llamaindex.md +179 -0
- package/kit/.claude/skills/ai-mcp-builder.md +101 -0
- package/kit/.claude/skills/ai-openai.md +250 -0
- package/kit/.claude/skills/ai-prompt-engineering.md +173 -0
- package/kit/.claude/skills/ai-rag.md +91 -0
- package/kit/.claude/skills/ai-vectordb.md +215 -0
- package/kit/.claude/skills/analytics-segment.md +161 -0
- package/kit/.claude/skills/api-caching.md +103 -0
- package/kit/.claude/skills/api-documentation.md +50 -0
- package/kit/.claude/skills/api-graphql.md +234 -0
- package/kit/.claude/skills/api-openapi.md +116 -0
- package/kit/.claude/skills/api-pagination-filtering.md +239 -0
- package/kit/.claude/skills/api-rate-limiting.md +179 -0
- package/kit/.claude/skills/api-rest-advanced.md +50 -0
- package/kit/.claude/skills/api-rest.md +217 -0
- package/kit/.claude/skills/api-trpc.md +173 -0
- package/kit/.claude/skills/api-versioning.md +70 -0
- package/kit/.claude/skills/api-webhooks.md +226 -0
- package/kit/.claude/skills/arch-clean-code.md +226 -0
- package/kit/.claude/skills/arch-clean.md +91 -0
- package/kit/.claude/skills/arch-cqrs.md +229 -0
- package/kit/.claude/skills/arch-ddd.md +85 -0
- package/kit/.claude/skills/arch-event-driven.md +189 -0
- package/kit/.claude/skills/arch-microservices.md +80 -0
- package/kit/.claude/skills/arch-monorepo.md +87 -0
- package/kit/.claude/skills/arch-multi-tenant.md +81 -0
- package/kit/.claude/skills/arch-serverless.md +86 -0
- package/kit/.claude/skills/auth-clerk.md +97 -0
- package/kit/.claude/skills/auth-jwt.md +143 -0
- package/kit/.claude/skills/auth-lucia.md +93 -0
- package/kit/.claude/skills/auth-nextauth.md +446 -0
- package/kit/.claude/skills/auth-oauth.md +208 -0
- package/kit/.claude/skills/auth-oauth2.md +110 -0
- package/kit/.claude/skills/auth-passkeys.md +109 -0
- package/kit/.claude/skills/auth-session.md +88 -0
- package/kit/.claude/skills/backend-dotnet.md +414 -0
- package/kit/.claude/skills/backend-express.md +129 -0
- package/kit/.claude/skills/backend-fastify.md +104 -0
- package/kit/.claude/skills/backend-go.md +205 -0
- package/kit/.claude/skills/backend-graphql.md +149 -0
- package/kit/.claude/skills/backend-grpc.md +382 -0
- package/kit/.claude/skills/backend-hono.md +95 -0
- package/kit/.claude/skills/backend-java-spring.md +198 -0
- package/kit/.claude/skills/backend-nodejs-express.md +165 -0
- package/kit/.claude/skills/backend-nodejs.md +143 -0
- package/kit/.claude/skills/backend-php-laravel.md +156 -0
- package/kit/.claude/skills/backend-python-django.md +200 -0
- package/kit/.claude/skills/backend-python-fastapi.md +169 -0
- package/kit/.claude/skills/backend-ruby-rails.md +190 -0
- package/kit/.claude/skills/backend-rust.md +182 -0
- package/kit/.claude/skills/backend-websockets.md +392 -0
- package/kit/.claude/skills/cache-redis.md +195 -0
- package/kit/.claude/skills/caching-strategies.md +100 -0
- package/kit/.claude/skills/cloud-aws.md +165 -0
- package/kit/.claude/skills/cloud-azure.md +187 -0
- package/kit/.claude/skills/cloud-cloudflare.md +74 -0
- package/kit/.claude/skills/cloud-fly.md +94 -0
- package/kit/.claude/skills/cloud-gcp.md +160 -0
- package/kit/.claude/skills/cloud-railway.md +92 -0
- package/kit/.claude/skills/cloud-render.md +70 -0
- package/kit/.claude/skills/cloud-serverless.md +68 -0
- package/kit/.claude/skills/cloud-vercel.md +76 -0
- package/kit/.claude/skills/component-patterns.md +50 -0
- package/kit/.claude/skills/content-management.md +197 -0
- package/kit/.claude/skills/cors-security.md +50 -0
- package/kit/.claude/skills/data-csv-excel.md +210 -0
- package/kit/.claude/skills/database-optimization.md +196 -0
- package/kit/.claude/skills/databases-transactions.md +68 -0
- package/kit/.claude/skills/db-cassandra.md +89 -0
- package/kit/.claude/skills/db-drizzle.md +363 -0
- package/kit/.claude/skills/db-dynamodb.md +83 -0
- package/kit/.claude/skills/db-elasticsearch.md +105 -0
- package/kit/.claude/skills/db-firebase-firestore.md +191 -0
- package/kit/.claude/skills/db-mongodb.md +198 -0
- package/kit/.claude/skills/db-mysql.md +50 -0
- package/kit/.claude/skills/db-neon.md +72 -0
- package/kit/.claude/skills/db-planetscale.md +76 -0
- package/kit/.claude/skills/db-postgresql.md +50 -0
- package/kit/.claude/skills/db-prisma.md +414 -0
- package/kit/.claude/skills/db-redis.md +50 -0
- package/kit/.claude/skills/db-sqlite.md +149 -0
- package/kit/.claude/skills/db-supabase.md +445 -0
- package/kit/.claude/skills/devops-ci-cd.md +271 -0
- package/kit/.claude/skills/devops-database-backup.md +77 -0
- package/kit/.claude/skills/devops-docker.md +93 -0
- package/kit/.claude/skills/devops-github-actions.md +82 -0
- package/kit/.claude/skills/devops-health-checks.md +50 -0
- package/kit/.claude/skills/devops-kubernetes.md +109 -0
- package/kit/.claude/skills/devops-logging.md +163 -0
- package/kit/.claude/skills/devops-monitoring.md +203 -0
- package/kit/.claude/skills/devops-pulumi.md +94 -0
- package/kit/.claude/skills/devops-secrets.md +166 -0
- package/kit/.claude/skills/devops-terraform.md +226 -0
- package/kit/.claude/skills/error-boundaries.md +84 -0
- package/kit/.claude/skills/file-storage.md +50 -0
- package/kit/.claude/skills/frontend-angular.md +104 -0
- package/kit/.claude/skills/frontend-astro.md +94 -0
- package/kit/.claude/skills/frontend-bundle-analysis.md +147 -0
- package/kit/.claude/skills/frontend-forms.md +134 -0
- package/kit/.claude/skills/frontend-htmx.md +86 -0
- package/kit/.claude/skills/frontend-nextjs.md +188 -0
- package/kit/.claude/skills/frontend-pwa.md +105 -0
- package/kit/.claude/skills/frontend-react-hooks.md +238 -0
- package/kit/.claude/skills/frontend-react.md +129 -0
- package/kit/.claude/skills/frontend-remix-advanced.md +106 -0
- package/kit/.claude/skills/frontend-remix.md +101 -0
- package/kit/.claude/skills/frontend-solid.md +99 -0
- package/kit/.claude/skills/frontend-state-management.md +134 -0
- package/kit/.claude/skills/frontend-state.md +106 -0
- package/kit/.claude/skills/frontend-svelte.md +121 -0
- package/kit/.claude/skills/frontend-testing.md +100 -0
- package/kit/.claude/skills/frontend-vite.md +94 -0
- package/kit/.claude/skills/frontend-vue.md +133 -0
- package/kit/.claude/skills/frontend-webpack.md +93 -0
- package/kit/.claude/skills/functional-programming.md +50 -0
- package/kit/.claude/skills/hooks-custom.md +50 -0
- package/kit/.claude/skills/http-server.md +50 -0
- package/kit/.claude/skills/i18n-general.md +89 -0
- package/kit/.claude/skills/i18n-localization.md +191 -0
- package/kit/.claude/skills/i18n-nextjs.md +127 -0
- package/kit/.claude/skills/infrastructure-docker-compose.md +77 -0
- package/kit/.claude/skills/infrastructure-serverless.md +177 -0
- package/kit/.claude/skills/jwt-tokens.md +50 -0
- package/kit/.claude/skills/logging-winston.md +106 -0
- package/kit/.claude/skills/messaging-kafka.md +102 -0
- package/kit/.claude/skills/messaging-rabbitmq.md +50 -0
- package/kit/.claude/skills/mobile-capacitor.md +109 -0
- package/kit/.claude/skills/mobile-expo.md +101 -0
- package/kit/.claude/skills/mobile-flutter.md +259 -0
- package/kit/.claude/skills/mobile-react-native.md +238 -0
- package/kit/.claude/skills/monitoring-apm.md +50 -0
- package/kit/.claude/skills/monitoring-error-tracking.md +217 -0
- package/kit/.claude/skills/nodejs-streams.md +168 -0
- package/kit/.claude/skills/oauth-integration.md +50 -0
- package/kit/.claude/skills/patterns-dependency-injection.md +218 -0
- package/kit/.claude/skills/patterns-factory-singleton.md +209 -0
- package/kit/.claude/skills/patterns-observer-pubsub.md +210 -0
- package/kit/.claude/skills/payment-lemonsqueezy.md +101 -0
- package/kit/.claude/skills/payment-square.md +178 -0
- package/kit/.claude/skills/payment-stripe.md +206 -0
- package/kit/.claude/skills/perf-bundle.md +100 -0
- package/kit/.claude/skills/perf-web-vitals.md +102 -0
- package/kit/.claude/skills/performance-database-connection-pooling.md +67 -0
- package/kit/.claude/skills/performance-metrics.md +73 -0
- package/kit/.claude/skills/performance-optimization.md +208 -0
- package/kit/.claude/skills/performance-web-vitals.md +169 -0
- package/kit/.claude/skills/rate-limiting.md +77 -0
- package/kit/.claude/skills/reactive-programming.md +50 -0
- package/kit/.claude/skills/realtime-database.md +50 -0
- package/kit/.claude/skills/realtime-subscriptions.md +218 -0
- package/kit/.claude/skills/saas-ab-testing.md +90 -0
- package/kit/.claude/skills/saas-analytics.md +113 -0
- package/kit/.claude/skills/saas-billing.md +106 -0
- package/kit/.claude/skills/saas-email.md +88 -0
- package/kit/.claude/skills/saas-feature-flags.md +83 -0
- package/kit/.claude/skills/saas-onboarding.md +96 -0
- package/kit/.claude/skills/saas-user-onboarding.md +207 -0
- package/kit/.claude/skills/security-encryption.md +216 -0
- package/kit/.claude/skills/security-owasp.md +212 -0
- package/kit/.claude/skills/security-secrets-rotation.md +64 -0
- package/kit/.claude/skills/seo-content.md +94 -0
- package/kit/.claude/skills/seo-technical.md +101 -0
- package/kit/.claude/skills/serverless-framework.md +151 -0
- package/kit/.claude/skills/sharding-scaling.md +50 -0
- package/kit/.claude/skills/styling-css-modules.md +219 -0
- package/kit/.claude/skills/styling-styled-components.md +206 -0
- package/kit/.claude/skills/styling-tailwind.md +206 -0
- package/kit/.claude/skills/test-e2e.md +86 -0
- package/kit/.claude/skills/test-integration.md +216 -0
- package/kit/.claude/skills/test-performance.md +162 -0
- package/kit/.claude/skills/test-tdd.md +170 -0
- package/kit/.claude/skills/test-unit.md +301 -0
- package/kit/.claude/skills/testing-accessibility.md +117 -0
- package/kit/.claude/skills/testing-contract.md +75 -0
- package/kit/.claude/skills/testing-e2e-advanced.md +50 -0
- package/kit/.claude/skills/testing-load-stress.md +79 -0
- package/kit/.claude/skills/testing-mutation.md +92 -0
- package/kit/.claude/skills/testing-snapshot.md +50 -0
- package/kit/.claude/skills/testing-vitest.md +172 -0
- package/kit/.claude/skills/tooling-biome.md +91 -0
- package/kit/.claude/skills/tooling-build-tools.md +166 -0
- package/kit/.claude/skills/tooling-bun.md +94 -0
- package/kit/.claude/skills/tooling-eslint.md +103 -0
- package/kit/.claude/skills/tooling-git.md +79 -0
- package/kit/.claude/skills/tooling-monorepo.md +162 -0
- package/kit/.claude/skills/tooling-testing-frameworks.md +207 -0
- package/kit/.claude/skills/tooling-typescript.md +156 -0
- package/kit/.claude/skills/ui-a11y.md +106 -0
- package/kit/.claude/skills/ui-framer.md +106 -0
- package/kit/.claude/skills/ui-gsap.md +102 -0
- package/kit/.claude/skills/ui-radix.md +82 -0
- package/kit/.claude/skills/ui-shadcn.md +463 -0
- package/kit/.claude/skills/ui-tailwind.md +98 -0
- package/kit/.claude/skills/ui-threejs.md +110 -0
- package/kit/.claude/skills/ui-tokens.md +97 -0
- package/kit/.claude/skills/utilities-date-time.md +170 -0
- package/kit/.claude/skills/validation-schemas.md +110 -0
- package/kit/.claude/skills/version-control-git.md +144 -0
- package/kit/.claude/skills/web-accessibility-wcag.md +102 -0
- package/kit/.claude/skills/web-astro.md +197 -0
- package/kit/.claude/skills/web-html-css.md +224 -0
- package/kit/.claude/skills/web-htmx.md +99 -0
- package/kit/.claude/skills/web-nextjs-advanced.md +202 -0
- package/kit/.claude/skills/web-remix.md +194 -0
- package/kit/.claude/skills/web-seo.md +99 -0
- package/kit/.claude/skills/web-svelte.md +234 -0
- package/kit/.claude/skills/websocket-server.md +50 -0
- package/kit/.claude/skills/writing-marketing.md +89 -0
- package/kit/.claude/skills/writing-technical.md +119 -0
- package/kit/CLAUDE.md +206 -0
- package/kit/README.md +150 -0
- package/kit/SKILLS_INDEX.md +188 -0
- package/kit/docs/README.md +3 -0
- package/kit/journals/README.md +3 -0
- package/kit/plans/README.md +3 -0
- package/package.json +3 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# Performance Optimization
|
|
2
|
+
|
|
3
|
+
Techniques for improving application speed and efficiency.
|
|
4
|
+
|
|
5
|
+
## Code Splitting
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
// Next.js dynamic imports
|
|
9
|
+
import dynamic from 'next/dynamic';
|
|
10
|
+
|
|
11
|
+
const HeavyComponent = dynamic(() => import('./HeavyComponent'), {
|
|
12
|
+
loading: () => <p>Loading...</p>,
|
|
13
|
+
ssr: false
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export default function Page() {
|
|
17
|
+
return <HeavyComponent />;
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Image Optimization
|
|
22
|
+
|
|
23
|
+
```jsx
|
|
24
|
+
import Image from 'next/image';
|
|
25
|
+
|
|
26
|
+
// Automatic format conversion, lazy loading, responsive
|
|
27
|
+
<Image
|
|
28
|
+
src="/large-image.jpg"
|
|
29
|
+
alt="Description"
|
|
30
|
+
width={800}
|
|
31
|
+
height={600}
|
|
32
|
+
priority // Load immediately (not lazy)
|
|
33
|
+
quality={80} // Compress
|
|
34
|
+
/>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Database Query Optimization
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
// Bad: N+1 queries
|
|
41
|
+
const users = await db.users.find();
|
|
42
|
+
for (const user of users) {
|
|
43
|
+
user.posts = await db.posts.find({ userId: user.id }); // Runs for each user!
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Good: Batch query
|
|
47
|
+
const users = await db.users.find({
|
|
48
|
+
include: { posts: true }
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
// Good: Specific columns only
|
|
52
|
+
const users = await db.users.find({
|
|
53
|
+
select: { id: true, email: true, name: true }
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
// Good: Pagination
|
|
57
|
+
const page = 1;
|
|
58
|
+
const pageSize = 20;
|
|
59
|
+
const users = await db.users.find({
|
|
60
|
+
skip: (page - 1) * pageSize,
|
|
61
|
+
take: pageSize
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Caching Strategy
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
// Cache database queries
|
|
69
|
+
async function getCachedUser(userId: string) {
|
|
70
|
+
const cacheKey = `user:${userId}`;
|
|
71
|
+
let user = await redis.get(cacheKey);
|
|
72
|
+
|
|
73
|
+
if (user) {
|
|
74
|
+
return JSON.parse(user);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
user = await db.users.findById(userId);
|
|
78
|
+
|
|
79
|
+
// Cache for 1 hour
|
|
80
|
+
await redis.set(cacheKey, JSON.stringify(user), 'EX', 3600);
|
|
81
|
+
|
|
82
|
+
return user;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Invalidate on update
|
|
86
|
+
async function updateUser(userId: string, data: any) {
|
|
87
|
+
const user = await db.users.update(userId, data);
|
|
88
|
+
|
|
89
|
+
// Clear cache
|
|
90
|
+
await redis.del(`user:${userId}`);
|
|
91
|
+
|
|
92
|
+
return user;
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Frontend Performance
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
// Use useCallback to prevent unnecessary re-renders
|
|
100
|
+
import { useCallback, useMemo } from 'react';
|
|
101
|
+
|
|
102
|
+
export function DataTable({ data }) {
|
|
103
|
+
const handleSort = useCallback((column) => {
|
|
104
|
+
// Only changes if data changes
|
|
105
|
+
}, [data]);
|
|
106
|
+
|
|
107
|
+
const sortedData = useMemo(() => {
|
|
108
|
+
return data.sort();
|
|
109
|
+
}, [data]);
|
|
110
|
+
|
|
111
|
+
return <Table data={sortedData} onSort={handleSort} />;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Virtual scrolling for large lists
|
|
115
|
+
import { FixedSizeList } from 'react-window';
|
|
116
|
+
|
|
117
|
+
function VirtualList({ items }) {
|
|
118
|
+
return (
|
|
119
|
+
<FixedSizeList
|
|
120
|
+
height={600}
|
|
121
|
+
itemCount={items.length}
|
|
122
|
+
itemSize={50}
|
|
123
|
+
>
|
|
124
|
+
{({ index, style }) => (
|
|
125
|
+
<div style={style}>{items[index].name}</div>
|
|
126
|
+
)}
|
|
127
|
+
</FixedSizeList>
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Compression
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Enable gzip compression
|
|
136
|
+
# nginx.conf
|
|
137
|
+
gzip on;
|
|
138
|
+
gzip_types text/plain application/json application/javascript;
|
|
139
|
+
gzip_min_length 1000;
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
// Express middleware
|
|
144
|
+
import compression from 'compression';
|
|
145
|
+
|
|
146
|
+
app.use(compression());
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Lazy Loading
|
|
150
|
+
|
|
151
|
+
```jsx
|
|
152
|
+
// Images
|
|
153
|
+
<img src="placeholder.jpg" loading="lazy" alt="..." />
|
|
154
|
+
|
|
155
|
+
// Components
|
|
156
|
+
import { Suspense, lazy } from 'react';
|
|
157
|
+
|
|
158
|
+
const Modal = lazy(() => import('./Modal'));
|
|
159
|
+
|
|
160
|
+
export function App() {
|
|
161
|
+
return (
|
|
162
|
+
<Suspense fallback={<div>Loading...</div>}>
|
|
163
|
+
<Modal />
|
|
164
|
+
</Suspense>
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Monitoring Performance
|
|
170
|
+
|
|
171
|
+
```typescript
|
|
172
|
+
// Measure function execution
|
|
173
|
+
function measurePerformance<T>(
|
|
174
|
+
fn: () => T,
|
|
175
|
+
label: string
|
|
176
|
+
): T {
|
|
177
|
+
const start = performance.now();
|
|
178
|
+
const result = fn();
|
|
179
|
+
const duration = performance.now() - start;
|
|
180
|
+
|
|
181
|
+
console.log(`${label}: ${duration.toFixed(2)}ms`);
|
|
182
|
+
|
|
183
|
+
return result;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Web Vitals
|
|
187
|
+
import { getCLS, getFID, getFCP, getLCP, getTTFB } from 'web-vitals';
|
|
188
|
+
|
|
189
|
+
getCLS(console.log);
|
|
190
|
+
getFID(console.log);
|
|
191
|
+
getFCP(console.log);
|
|
192
|
+
getLCP(console.log);
|
|
193
|
+
getTTFB(console.log);
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Best Practices
|
|
197
|
+
|
|
198
|
+
✅ **Code splitting** - Load what you need
|
|
199
|
+
✅ **Caching** - Cache database and API responses
|
|
200
|
+
✅ **Database indexing** - Index frequently queried columns
|
|
201
|
+
✅ **Lazy loading** - Defer non-critical resources
|
|
202
|
+
✅ **Monitoring** - Track performance metrics
|
|
203
|
+
|
|
204
|
+
## Resources
|
|
205
|
+
|
|
206
|
+
- [Next.js Performance](https://nextjs.org/learn/seo/web-performance)
|
|
207
|
+
- [Web Vitals](https://web.dev/vitals/)
|
|
208
|
+
- [Chrome DevTools](https://developer.chrome.com/docs/devtools/)
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Web Vitals & UX Metrics
|
|
2
|
+
|
|
3
|
+
Measuring and optimizing user experience metrics.
|
|
4
|
+
|
|
5
|
+
## Core Web Vitals
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
// Measure Core Web Vitals
|
|
9
|
+
import { getCLS, getFID, getFCP, getLCP, getTTFB } from 'web-vitals';
|
|
10
|
+
|
|
11
|
+
// Cumulative Layout Shift
|
|
12
|
+
getCLS(metric => {
|
|
13
|
+
console.log('CLS:', metric.value); // Goal: < 0.1
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
// First Input Delay
|
|
17
|
+
getFID(metric => {
|
|
18
|
+
console.log('FID:', metric.value); // Goal: < 100ms
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
// First Contentful Paint
|
|
22
|
+
getFCP(metric => {
|
|
23
|
+
console.log('FCP:', metric.value); // Goal: < 1.8s
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
// Largest Contentful Paint
|
|
27
|
+
getLCP(metric => {
|
|
28
|
+
console.log('LCP:', metric.value); // Goal: < 2.5s
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
// Time to First Byte
|
|
32
|
+
getTTFB(metric => {
|
|
33
|
+
console.log('TTFB:', metric.value); // Goal: < 600ms
|
|
34
|
+
});
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Monitoring in Production
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
// Send metrics to analytics
|
|
41
|
+
import { getCLS, getFID, getLCP } from 'web-vitals';
|
|
42
|
+
|
|
43
|
+
function sendMetric(metric: any) {
|
|
44
|
+
// Use `navigator.sendBeacon()` if available, falling back to `fetch()`
|
|
45
|
+
if (navigator.sendBeacon) {
|
|
46
|
+
navigator.sendBeacon('/api/metrics', JSON.stringify(metric));
|
|
47
|
+
} else {
|
|
48
|
+
fetch('/api/metrics', {
|
|
49
|
+
method: 'POST',
|
|
50
|
+
body: JSON.stringify(metric),
|
|
51
|
+
keepalive: true
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
getCLS(sendMetric);
|
|
57
|
+
getFID(sendMetric);
|
|
58
|
+
getLCP(sendMetric);
|
|
59
|
+
|
|
60
|
+
// Backend to store metrics
|
|
61
|
+
app.post('/api/metrics', async (req, res) => {
|
|
62
|
+
const metric = req.body;
|
|
63
|
+
|
|
64
|
+
await db.metrics.create({
|
|
65
|
+
name: metric.name,
|
|
66
|
+
value: metric.value,
|
|
67
|
+
rating: metric.rating,
|
|
68
|
+
timestamp: new Date(),
|
|
69
|
+
url: req.headers.referer
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
res.json({ ok: true });
|
|
73
|
+
});
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Performance Budgets
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
// package.json
|
|
80
|
+
{
|
|
81
|
+
"bundlesize": [
|
|
82
|
+
{
|
|
83
|
+
"path": "./dist/main.js",
|
|
84
|
+
"maxSize": "100 kB"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"path": "./dist/*.js",
|
|
88
|
+
"maxSize": "50 kB"
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Image Optimization
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
// Next.js Image with automatic optimization
|
|
98
|
+
import Image from 'next/image';
|
|
99
|
+
|
|
100
|
+
<Image
|
|
101
|
+
src="/large-photo.jpg"
|
|
102
|
+
alt="Photo"
|
|
103
|
+
width={1200}
|
|
104
|
+
height={800}
|
|
105
|
+
quality={75}
|
|
106
|
+
priority={false}
|
|
107
|
+
placeholder="blur"
|
|
108
|
+
/>
|
|
109
|
+
|
|
110
|
+
// Manual optimization
|
|
111
|
+
function optimizeImage(src: string, format: 'webp' | 'avif' = 'webp') {
|
|
112
|
+
return `${src}?fm=${format}&q=80&w=1200`;
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Interaction to Next Paint (INP)
|
|
117
|
+
|
|
118
|
+
```typescript
|
|
119
|
+
import { onINP } from 'web-vitals';
|
|
120
|
+
|
|
121
|
+
onINP(metric => {
|
|
122
|
+
console.log('INP:', metric.value); // Goal: < 200ms
|
|
123
|
+
|
|
124
|
+
// Track which interactions are slow
|
|
125
|
+
if (metric.value > 200) {
|
|
126
|
+
console.warn('Slow interaction:', {
|
|
127
|
+
element: metric.attribution?.interactionTarget,
|
|
128
|
+
duration: metric.value
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Performance Monitoring
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
// Use PerformanceObserver to track metrics
|
|
138
|
+
const perfObserver = new PerformanceObserver((entryList) => {
|
|
139
|
+
for (const entry of entryList.getEntries()) {
|
|
140
|
+
if (entry.entryType === 'largest-contentful-paint') {
|
|
141
|
+
console.log('LCP:', entry.renderTime || entry.loadTime);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (entry.entryType === 'layout-shift') {
|
|
145
|
+
if (!entry.hadRecentInput) {
|
|
146
|
+
console.log('CLS:', entry.value);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
perfObserver.observe({
|
|
153
|
+
entryTypes: ['largest-contentful-paint', 'layout-shift']
|
|
154
|
+
});
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Best Practices
|
|
158
|
+
|
|
159
|
+
✅ **Measure continuously** - Track metrics over time
|
|
160
|
+
✅ **Set budgets** - Define acceptable limits
|
|
161
|
+
✅ **Optimize images** - Huge impact on LCP
|
|
162
|
+
✅ **Reduce JavaScript** - Code-split and lazy load
|
|
163
|
+
✅ **Minimize layout shifts** - Reserve space for dynamic content
|
|
164
|
+
|
|
165
|
+
## Resources
|
|
166
|
+
|
|
167
|
+
- [Web Vitals Guide](https://web.dev/vitals/)
|
|
168
|
+
- [PageSpeed Insights](https://pagespeed.web.dev/)
|
|
169
|
+
- [Lighthouse](https://developers.google.com/web/tools/lighthouse)
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Rate Limiting
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Protect APIs from abuse with per-IP or per-user rate limits using Redis.
|
|
5
|
+
|
|
6
|
+
## Upstash Redis (Serverless / Next.js)
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install @upstash/ratelimit @upstash/redis
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
import { Ratelimit } from '@upstash/ratelimit';
|
|
14
|
+
import { Redis } from '@upstash/redis';
|
|
15
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
16
|
+
|
|
17
|
+
const ratelimit = new Ratelimit({
|
|
18
|
+
redis: Redis.fromEnv(),
|
|
19
|
+
limiter: Ratelimit.slidingWindow(10, '10 s'),
|
|
20
|
+
analytics: true,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export async function middleware(req: NextRequest) {
|
|
24
|
+
const ip = req.ip ?? req.headers.get('x-forwarded-for') ?? '127.0.0.1';
|
|
25
|
+
const { success, limit, reset, remaining } = await ratelimit.limit(ip);
|
|
26
|
+
|
|
27
|
+
if (!success) {
|
|
28
|
+
return NextResponse.json(
|
|
29
|
+
{ error: 'Too many requests', retryAfter: Math.floor((reset - Date.now()) / 1000) },
|
|
30
|
+
{ status: 429, headers: {
|
|
31
|
+
'X-RateLimit-Limit': limit.toString(),
|
|
32
|
+
'X-RateLimit-Remaining': remaining.toString(),
|
|
33
|
+
'Retry-After': Math.floor((reset - Date.now()) / 1000).toString(),
|
|
34
|
+
}}
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
return NextResponse.next();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export const config = { matcher: '/api/:path*' };
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## express-rate-limit
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm install express-rate-limit
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
import rateLimit from 'express-rate-limit';
|
|
51
|
+
|
|
52
|
+
export const apiLimiter = rateLimit({
|
|
53
|
+
windowMs: 15 * 60 * 1000,
|
|
54
|
+
limit: 100,
|
|
55
|
+
standardHeaders: 'draft-7',
|
|
56
|
+
legacyHeaders: false,
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
export const authLimiter = rateLimit({
|
|
60
|
+
windowMs: 15 * 60 * 1000,
|
|
61
|
+
limit: 5,
|
|
62
|
+
message: { error: 'Too many login attempts.' },
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
app.use('/api/', apiLimiter);
|
|
66
|
+
app.use('/api/auth/', authLimiter);
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Best Practices
|
|
70
|
+
- Use Redis for distributed rate limiting (not in-memory in serverless)
|
|
71
|
+
- Limit by API key for authenticated users, by IP for public endpoints
|
|
72
|
+
- Always return `Retry-After`, `X-RateLimit-Limit`, `X-RateLimit-Remaining` headers
|
|
73
|
+
- Use tiered limits: free (100/hr), pro (1000/hr)
|
|
74
|
+
|
|
75
|
+
## Resources
|
|
76
|
+
- [@upstash/ratelimit](https://github.com/upstash/ratelimit-js)
|
|
77
|
+
- [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit)
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Production-Ready Skill Implementation
|
|
2
|
+
|
|
3
|
+
## Setup & Installation
|
|
4
|
+
|
|
5
|
+
Detailed installation and configuration steps for the technology.
|
|
6
|
+
|
|
7
|
+
## Core Concepts
|
|
8
|
+
|
|
9
|
+
Fundamental patterns and approaches.
|
|
10
|
+
|
|
11
|
+
## Implementation Examples
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
// Real production code examples
|
|
15
|
+
// with error handling and best practices
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Advanced Patterns
|
|
19
|
+
|
|
20
|
+
Complex scenarios and optimization techniques.
|
|
21
|
+
|
|
22
|
+
## Performance Optimization
|
|
23
|
+
|
|
24
|
+
Tips for maximizing efficiency and speed.
|
|
25
|
+
|
|
26
|
+
## Security Considerations
|
|
27
|
+
|
|
28
|
+
Security best practices specific to this technology.
|
|
29
|
+
|
|
30
|
+
## Testing
|
|
31
|
+
|
|
32
|
+
How to properly test this feature.
|
|
33
|
+
|
|
34
|
+
## Monitoring & Debugging
|
|
35
|
+
|
|
36
|
+
Tools and techniques for production support.
|
|
37
|
+
|
|
38
|
+
## Best Practices
|
|
39
|
+
|
|
40
|
+
✅ Key recommendations
|
|
41
|
+
✅ Common pitfalls to avoid
|
|
42
|
+
✅ Performance considerations
|
|
43
|
+
✅ Security measures
|
|
44
|
+
✅ Production readiness
|
|
45
|
+
|
|
46
|
+
## Resources
|
|
47
|
+
|
|
48
|
+
- Official documentation
|
|
49
|
+
- Community guides
|
|
50
|
+
- Performance benchmarks
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Production-Ready Skill Implementation
|
|
2
|
+
|
|
3
|
+
## Setup & Installation
|
|
4
|
+
|
|
5
|
+
Detailed installation and configuration steps for the technology.
|
|
6
|
+
|
|
7
|
+
## Core Concepts
|
|
8
|
+
|
|
9
|
+
Fundamental patterns and approaches.
|
|
10
|
+
|
|
11
|
+
## Implementation Examples
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
// Real production code examples
|
|
15
|
+
// with error handling and best practices
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Advanced Patterns
|
|
19
|
+
|
|
20
|
+
Complex scenarios and optimization techniques.
|
|
21
|
+
|
|
22
|
+
## Performance Optimization
|
|
23
|
+
|
|
24
|
+
Tips for maximizing efficiency and speed.
|
|
25
|
+
|
|
26
|
+
## Security Considerations
|
|
27
|
+
|
|
28
|
+
Security best practices specific to this technology.
|
|
29
|
+
|
|
30
|
+
## Testing
|
|
31
|
+
|
|
32
|
+
How to properly test this feature.
|
|
33
|
+
|
|
34
|
+
## Monitoring & Debugging
|
|
35
|
+
|
|
36
|
+
Tools and techniques for production support.
|
|
37
|
+
|
|
38
|
+
## Best Practices
|
|
39
|
+
|
|
40
|
+
✅ Key recommendations
|
|
41
|
+
✅ Common pitfalls to avoid
|
|
42
|
+
✅ Performance considerations
|
|
43
|
+
✅ Security measures
|
|
44
|
+
✅ Production readiness
|
|
45
|
+
|
|
46
|
+
## Resources
|
|
47
|
+
|
|
48
|
+
- Official documentation
|
|
49
|
+
- Community guides
|
|
50
|
+
- Performance benchmarks
|