claudeinone-cli 1.0.1 → 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/dist/index.js +16 -1
- 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,25 @@
|
|
|
1
|
+
# Plan Parallel
|
|
2
|
+
|
|
3
|
+
## Invocation
|
|
4
|
+
`/plan:parallel [feature]`
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
Generate plan via parallel investigation tracks.
|
|
8
|
+
|
|
9
|
+
## Agent Routing
|
|
10
|
+
- researcher
|
|
11
|
+
- planner
|
|
12
|
+
|
|
13
|
+
## Execution Protocol
|
|
14
|
+
1. Split research into independent threads.
|
|
15
|
+
2. Merge findings into unified plan.
|
|
16
|
+
3. Highlight conflicting assumptions.
|
|
17
|
+
|
|
18
|
+
## Validation
|
|
19
|
+
- Verify assumptions before changing files.
|
|
20
|
+
- Run the smallest relevant checks first, then broader checks when risk is high.
|
|
21
|
+
- Report residual risks explicitly.
|
|
22
|
+
|
|
23
|
+
## Output Format
|
|
24
|
+
1. Combined plan
|
|
25
|
+
2. Conflict resolutions
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Plan Two Approaches
|
|
2
|
+
|
|
3
|
+
## Invocation
|
|
4
|
+
`/plan:two [task]`
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
Produce two contrasting implementation approaches and recommendation.
|
|
8
|
+
|
|
9
|
+
## Agent Routing
|
|
10
|
+
- researcher
|
|
11
|
+
- planner
|
|
12
|
+
- risk-analyst
|
|
13
|
+
|
|
14
|
+
## Execution Protocol
|
|
15
|
+
1. Define decision criteria.
|
|
16
|
+
2. Build approach A and B.
|
|
17
|
+
3. Compare scalability/security/simplicity/perf.
|
|
18
|
+
4. Recommend one with rationale.
|
|
19
|
+
|
|
20
|
+
## Validation
|
|
21
|
+
- Verify assumptions before changing files.
|
|
22
|
+
- Run the smallest relevant checks first, then broader checks when risk is high.
|
|
23
|
+
- Report residual risks explicitly.
|
|
24
|
+
|
|
25
|
+
## Output Format
|
|
26
|
+
1. Approach A plan
|
|
27
|
+
2. Approach B plan
|
|
28
|
+
3. Comparison matrix
|
|
29
|
+
4. Final recommendation
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Plan Validate
|
|
2
|
+
|
|
3
|
+
## Invocation
|
|
4
|
+
`/plan:validate`
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
Assess an existing plan for feasibility and missing pieces.
|
|
8
|
+
|
|
9
|
+
## Agent Routing
|
|
10
|
+
- planner
|
|
11
|
+
- risk-analyst
|
|
12
|
+
- tester
|
|
13
|
+
|
|
14
|
+
## Execution Protocol
|
|
15
|
+
1. Read target plan artifact.
|
|
16
|
+
2. Check completeness, dependencies, and verification steps.
|
|
17
|
+
3. Return pass/fail with concrete fixes.
|
|
18
|
+
|
|
19
|
+
## Validation
|
|
20
|
+
- Verify assumptions before changing files.
|
|
21
|
+
- Run the smallest relevant checks first, then broader checks when risk is high.
|
|
22
|
+
- Report residual risks explicitly.
|
|
23
|
+
|
|
24
|
+
## Output Format
|
|
25
|
+
1. Validation result
|
|
26
|
+
2. Missing sections
|
|
27
|
+
3. Recommended edits
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Plan
|
|
2
|
+
|
|
3
|
+
## Invocation
|
|
4
|
+
`/plan [feature]`
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
Create implementation-ready plan before coding.
|
|
8
|
+
|
|
9
|
+
## Agent Routing
|
|
10
|
+
- researcher
|
|
11
|
+
- planner
|
|
12
|
+
|
|
13
|
+
## Execution Protocol
|
|
14
|
+
1. Run parallel research passes.
|
|
15
|
+
2. Synthesize architecture and phased tasks.
|
|
16
|
+
3. Save plan artifact in plans/.
|
|
17
|
+
4. Wait for review before implementation.
|
|
18
|
+
|
|
19
|
+
## Validation
|
|
20
|
+
- Verify assumptions before changing files.
|
|
21
|
+
- Run the smallest relevant checks first, then broader checks when risk is high.
|
|
22
|
+
- Report residual risks explicitly.
|
|
23
|
+
|
|
24
|
+
## Output Format
|
|
25
|
+
1. Plan file path
|
|
26
|
+
2. Phase breakdown
|
|
27
|
+
3. Risks and assumptions
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Plan Validate
|
|
2
|
+
|
|
3
|
+
## Invocation
|
|
4
|
+
`/plan:validate`
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
Assess an existing plan for feasibility and missing pieces.
|
|
8
|
+
|
|
9
|
+
## Agent Routing
|
|
10
|
+
- planner
|
|
11
|
+
- risk-analyst
|
|
12
|
+
- tester
|
|
13
|
+
|
|
14
|
+
## Execution Protocol
|
|
15
|
+
1. Read target plan artifact.
|
|
16
|
+
2. Check completeness, dependencies, and verification steps.
|
|
17
|
+
3. Return pass/fail with concrete fixes.
|
|
18
|
+
|
|
19
|
+
## Validation
|
|
20
|
+
- Verify assumptions before changing files.
|
|
21
|
+
- Run the smallest relevant checks first, then broader checks when risk is high.
|
|
22
|
+
- Report residual risks explicitly.
|
|
23
|
+
|
|
24
|
+
## Output Format
|
|
25
|
+
1. Validation result
|
|
26
|
+
2. Missing sections
|
|
27
|
+
3. Recommended edits
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Skill Fix Logs
|
|
2
|
+
|
|
3
|
+
## Invocation
|
|
4
|
+
`/skill:fix-logs [skill-path]`
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
Repair skill failures discovered in logs.txt.
|
|
8
|
+
|
|
9
|
+
## Agent Routing
|
|
10
|
+
- debugger
|
|
11
|
+
- skill-creator
|
|
12
|
+
- tester
|
|
13
|
+
|
|
14
|
+
## Execution Protocol
|
|
15
|
+
1. Classify log errors.
|
|
16
|
+
2. Map failures to broken skill sections.
|
|
17
|
+
3. Rewrite unclear/problematic instructions and examples.
|
|
18
|
+
4. Re-validate with checklist.
|
|
19
|
+
|
|
20
|
+
## Validation
|
|
21
|
+
- Verify assumptions before changing files.
|
|
22
|
+
- Run the smallest relevant checks first, then broader checks when risk is high.
|
|
23
|
+
- Report residual risks explicitly.
|
|
24
|
+
|
|
25
|
+
## Output Format
|
|
26
|
+
1. Updated skill changes
|
|
27
|
+
2. Fix report
|
|
28
|
+
3. Validation report
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Skill Create
|
|
2
|
+
|
|
3
|
+
## Invocation
|
|
4
|
+
`/skill:create [prompt|url]`
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
Create a new reusable skill markdown with examples and validation.
|
|
8
|
+
|
|
9
|
+
## Agent Routing
|
|
10
|
+
- researcher
|
|
11
|
+
- skill-creator
|
|
12
|
+
- code-reviewer
|
|
13
|
+
- tester
|
|
14
|
+
|
|
15
|
+
## Execution Protocol
|
|
16
|
+
1. Research source material.
|
|
17
|
+
2. Generate skill content and examples.
|
|
18
|
+
3. Review structure/completeness.
|
|
19
|
+
4. Validate usefulness and readiness.
|
|
20
|
+
|
|
21
|
+
## Validation
|
|
22
|
+
- Verify assumptions before changing files.
|
|
23
|
+
- Run the smallest relevant checks first, then broader checks when risk is high.
|
|
24
|
+
- Report residual risks explicitly.
|
|
25
|
+
|
|
26
|
+
## Output Format
|
|
27
|
+
1. Skill file path
|
|
28
|
+
2. Quality checklist
|
|
29
|
+
3. Suggested improvements
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Skill Fix Logs
|
|
2
|
+
|
|
3
|
+
## Invocation
|
|
4
|
+
`/skill:fix-logs [skill-path]`
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
Repair skill failures discovered in logs.txt.
|
|
8
|
+
|
|
9
|
+
## Agent Routing
|
|
10
|
+
- debugger
|
|
11
|
+
- skill-creator
|
|
12
|
+
- tester
|
|
13
|
+
|
|
14
|
+
## Execution Protocol
|
|
15
|
+
1. Classify log errors.
|
|
16
|
+
2. Map failures to broken skill sections.
|
|
17
|
+
3. Rewrite unclear/problematic instructions and examples.
|
|
18
|
+
4. Re-validate with checklist.
|
|
19
|
+
|
|
20
|
+
## Validation
|
|
21
|
+
- Verify assumptions before changing files.
|
|
22
|
+
- Run the smallest relevant checks first, then broader checks when risk is high.
|
|
23
|
+
- Report residual risks explicitly.
|
|
24
|
+
|
|
25
|
+
## Output Format
|
|
26
|
+
1. Updated skill changes
|
|
27
|
+
2. Fix report
|
|
28
|
+
3. Validation report
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"pre-commit": "npm run lint && npm run test:unit",
|
|
5
|
+
"pre-push": "npm run build && npm run test"
|
|
6
|
+
},
|
|
7
|
+
"permissions": {
|
|
8
|
+
"read": true,
|
|
9
|
+
"write": true,
|
|
10
|
+
"execute": true,
|
|
11
|
+
"publish": false
|
|
12
|
+
},
|
|
13
|
+
"mcp-servers": {
|
|
14
|
+
"enabled": []
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Anthropic Claude API
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Build AI features with the Anthropic SDK — chat, streaming, tool use, and vision.
|
|
5
|
+
|
|
6
|
+
## Setup
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install @anthropic-ai/sdk
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
14
|
+
const client = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Basic Chat
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
const message = await client.messages.create({
|
|
21
|
+
model: 'claude-sonnet-4-6',
|
|
22
|
+
max_tokens: 1024,
|
|
23
|
+
messages: [{ role: 'user', content: 'Explain async/await in 3 sentences.' }],
|
|
24
|
+
});
|
|
25
|
+
console.log(message.content[0].text);
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Streaming
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
const stream = await client.messages.stream({
|
|
32
|
+
model: 'claude-sonnet-4-6',
|
|
33
|
+
max_tokens: 1024,
|
|
34
|
+
messages: [{ role: 'user', content: 'Write a poem about TypeScript' }],
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
for await (const chunk of stream) {
|
|
38
|
+
if (chunk.type === 'content_block_delta' && chunk.delta.type === 'text_delta') {
|
|
39
|
+
process.stdout.write(chunk.delta.text);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Next.js Streaming API Route
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
// app/api/chat/route.ts
|
|
48
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
49
|
+
const client = new Anthropic();
|
|
50
|
+
|
|
51
|
+
export async function POST(req: Request) {
|
|
52
|
+
const { messages } = await req.json();
|
|
53
|
+
const stream = await client.messages.stream({ model: 'claude-sonnet-4-6', max_tokens: 1024, messages });
|
|
54
|
+
|
|
55
|
+
return new Response(new ReadableStream({
|
|
56
|
+
async start(controller) {
|
|
57
|
+
for await (const chunk of stream) {
|
|
58
|
+
if (chunk.type === 'content_block_delta' && chunk.delta.type === 'text_delta') {
|
|
59
|
+
controller.enqueue(new TextEncoder().encode(chunk.delta.text));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
controller.close();
|
|
63
|
+
}
|
|
64
|
+
}), { headers: { 'Content-Type': 'text/plain; charset=utf-8' } });
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Tool Use
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
const response = await client.messages.create({
|
|
72
|
+
model: 'claude-opus-4-6',
|
|
73
|
+
max_tokens: 1024,
|
|
74
|
+
tools: [{
|
|
75
|
+
name: 'get_weather',
|
|
76
|
+
description: 'Get weather for a city',
|
|
77
|
+
input_schema: {
|
|
78
|
+
type: 'object',
|
|
79
|
+
properties: { location: { type: 'string' } },
|
|
80
|
+
required: ['location']
|
|
81
|
+
}
|
|
82
|
+
}],
|
|
83
|
+
messages: [{ role: 'user', content: 'Weather in Tokyo?' }]
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
if (response.stop_reason === 'tool_use') {
|
|
87
|
+
const tool = response.content.find(c => c.type === 'tool_use');
|
|
88
|
+
// handle tool call...
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Model Selection
|
|
93
|
+
| Model | Use Case |
|
|
94
|
+
|-------|----------|
|
|
95
|
+
| `claude-opus-4-6` | Complex reasoning, code generation |
|
|
96
|
+
| `claude-sonnet-4-6` | Balanced — most tasks |
|
|
97
|
+
| `claude-haiku-4-5` | Fast, cost-sensitive |
|
|
98
|
+
|
|
99
|
+
## Resources
|
|
100
|
+
- [Anthropic SDK docs](https://docs.anthropic.com/en/api/getting-started)
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Context Engineering
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Context engineering is the practice of structuring information given to LLMs to maximize response quality and minimize token usage.
|
|
5
|
+
|
|
6
|
+
## System Prompt Structure
|
|
7
|
+
|
|
8
|
+
```typescript
|
|
9
|
+
const SYSTEM_PROMPT = `You are a senior TypeScript developer assistant.
|
|
10
|
+
|
|
11
|
+
## Your Capabilities
|
|
12
|
+
- Write production-ready TypeScript and React code
|
|
13
|
+
- Debug errors with clear explanations
|
|
14
|
+
- Suggest architectural patterns
|
|
15
|
+
|
|
16
|
+
## Response Format
|
|
17
|
+
- Use code blocks with language tags
|
|
18
|
+
- Explain the "why" not just the "what"
|
|
19
|
+
- Be concise — no padding or filler
|
|
20
|
+
|
|
21
|
+
## Constraints
|
|
22
|
+
- Never suggest deprecated APIs
|
|
23
|
+
- Always use TypeScript strict mode
|
|
24
|
+
- Prefer composition over inheritance`;
|
|
25
|
+
|
|
26
|
+
const response = await client.messages.create({
|
|
27
|
+
model: 'claude-sonnet-4-6',
|
|
28
|
+
max_tokens: 2048,
|
|
29
|
+
system: SYSTEM_PROMPT,
|
|
30
|
+
messages: [{ role: 'user', content: userMessage }],
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Few-Shot Examples
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
const messages = [
|
|
38
|
+
{
|
|
39
|
+
role: 'user' as const,
|
|
40
|
+
content: 'Convert this to TypeScript: function add(a, b) { return a + b; }'
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
role: 'assistant' as const,
|
|
44
|
+
content: 'function add(a: number, b: number): number { return a + b; }'
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
role: 'user' as const,
|
|
48
|
+
content: userInput // actual request
|
|
49
|
+
}
|
|
50
|
+
];
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Retrieval-Augmented Context (RAG)
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
async function buildContextualPrompt(userQuestion: string): Promise<string> {
|
|
57
|
+
// 1. Embed the question
|
|
58
|
+
const queryEmbedding = await openai.embeddings.create({
|
|
59
|
+
model: 'text-embedding-3-small',
|
|
60
|
+
input: userQuestion,
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
// 2. Find relevant docs
|
|
64
|
+
const relevant = await vectorDB.query({
|
|
65
|
+
vector: queryEmbedding.data[0].embedding,
|
|
66
|
+
topK: 5,
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
// 3. Build context
|
|
70
|
+
const context = relevant.matches
|
|
71
|
+
.map(m => `[${m.metadata.title}]
|
|
72
|
+
${m.metadata.content}`)
|
|
73
|
+
.join('
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
');
|
|
78
|
+
|
|
79
|
+
return `Answer based on this context:
|
|
80
|
+
|
|
81
|
+
${context}
|
|
82
|
+
|
|
83
|
+
Question: ${userQuestion}`;
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Conversation Memory with Summarization
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
async function summarizeOldMessages(messages: Message[]): Promise<string> {
|
|
91
|
+
const toSummarize = messages.slice(0, -10); // keep last 10 fresh
|
|
92
|
+
const response = await client.messages.create({
|
|
93
|
+
model: 'claude-haiku-4-5',
|
|
94
|
+
max_tokens: 512,
|
|
95
|
+
messages: [{
|
|
96
|
+
role: 'user',
|
|
97
|
+
content: `Summarize this conversation in 3-5 bullet points:
|
|
98
|
+
${JSON.stringify(toSummarize)}`
|
|
99
|
+
}]
|
|
100
|
+
});
|
|
101
|
+
return response.content[0].text;
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Best Practices
|
|
106
|
+
- Put the most important instructions at the start and end of the system prompt
|
|
107
|
+
- Use XML tags to clearly delimit sections (`<context>`, `<instructions>`, `<examples>`)
|
|
108
|
+
- Few-shot examples are powerful — show don't tell
|
|
109
|
+
- Keep context relevant — irrelevant content degrades quality
|
|
110
|
+
- Use `claude-haiku-4-5` for cheap tasks like summarization/routing
|
|
111
|
+
|
|
112
|
+
## Resources
|
|
113
|
+
- [Anthropic prompt engineering guide](https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview)
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Google Gemini API
|
|
2
|
+
|
|
3
|
+
Multimodal AI model for text, images, and code generation.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @google/generative-ai
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Text Generation
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { GoogleGenerativeAI } from '@google/generative-ai';
|
|
15
|
+
|
|
16
|
+
const client = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
|
|
17
|
+
const model = client.getGenerativeModel({ model: 'gemini-pro' });
|
|
18
|
+
|
|
19
|
+
async function generateContent(prompt: string) {
|
|
20
|
+
const result = await model.generateContent(prompt);
|
|
21
|
+
const response = await result.response;
|
|
22
|
+
return response.text();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Usage
|
|
26
|
+
const text = await generateContent('Write a short poem about JavaScript');
|
|
27
|
+
console.log(text);
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Vision (Image Analysis)
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import fs from 'fs';
|
|
34
|
+
|
|
35
|
+
const model = client.getGenerativeModel({ model: 'gemini-pro-vision' });
|
|
36
|
+
|
|
37
|
+
async function analyzeImage(imagePath: string) {
|
|
38
|
+
const imageData = fs.readFileSync(imagePath);
|
|
39
|
+
const base64Image = imageData.toString('base64');
|
|
40
|
+
|
|
41
|
+
const result = await model.generateContent([
|
|
42
|
+
{
|
|
43
|
+
inlineData: {
|
|
44
|
+
mimeType: 'image/jpeg',
|
|
45
|
+
data: base64Image,
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
'Describe what you see in this image',
|
|
49
|
+
]);
|
|
50
|
+
|
|
51
|
+
const response = await result.response;
|
|
52
|
+
return response.text();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Usage
|
|
56
|
+
const description = await analyzeImage('photo.jpg');
|
|
57
|
+
console.log(description);
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Chat
|
|
61
|
+
|
|
62
|
+
```typescript
|
|
63
|
+
const model = client.getGenerativeModel({ model: 'gemini-pro' });
|
|
64
|
+
const chat = model.startChat({
|
|
65
|
+
history: [
|
|
66
|
+
{
|
|
67
|
+
role: 'user',
|
|
68
|
+
parts: 'Hello',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
role: 'model',
|
|
72
|
+
parts: 'Great to meet you. What would you like to know?',
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
async function chat_conversation() {
|
|
78
|
+
const msg = 'Explain quantum computing in simple terms';
|
|
79
|
+
|
|
80
|
+
const result = await chat.sendMessage(msg);
|
|
81
|
+
const response = await result.response;
|
|
82
|
+
console.log(response.text());
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Streaming
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
const model = client.getGenerativeModel({ model: 'gemini-pro' });
|
|
90
|
+
|
|
91
|
+
async function streamContent(prompt: string) {
|
|
92
|
+
const result = await model.generateContentStream(prompt);
|
|
93
|
+
|
|
94
|
+
for await (const chunk of result.stream) {
|
|
95
|
+
const chunkText = chunk.text();
|
|
96
|
+
process.stdout.write(chunkText);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Usage
|
|
101
|
+
streamContent('Write a story about time travel');
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Safety Settings
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
import { HarmBlockThreshold, HarmCategory } from '@google/generative-ai';
|
|
108
|
+
|
|
109
|
+
const model = client.getGenerativeModel({
|
|
110
|
+
model: 'gemini-pro',
|
|
111
|
+
safetySettings: [
|
|
112
|
+
{
|
|
113
|
+
category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
|
|
114
|
+
threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
category: HarmCategory.HARM_CATEGORY_VIOLENCE,
|
|
118
|
+
threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
});
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Structured Output
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
async function extractData(text: string) {
|
|
128
|
+
const prompt = `Extract JSON with name, email, phone from: "${text}"
|
|
129
|
+
Return only valid JSON like: {"name": "...", "email": "...", "phone": "..."}`;
|
|
130
|
+
|
|
131
|
+
const result = await model.generateContent(prompt);
|
|
132
|
+
const response = await result.response;
|
|
133
|
+
const jsonText = response.text();
|
|
134
|
+
|
|
135
|
+
// Parse JSON from response
|
|
136
|
+
const json = JSON.parse(jsonText);
|
|
137
|
+
return json;
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Best Practices
|
|
142
|
+
|
|
143
|
+
✅ **Rate limiting** - Implement backoff and retries
|
|
144
|
+
✅ **Caching** - Cache common queries
|
|
145
|
+
✅ **Streaming** - Use streaming for long responses
|
|
146
|
+
✅ **Safety filtering** - Set appropriate harm thresholds
|
|
147
|
+
✅ **Tokenization** - Track token usage
|
|
148
|
+
|
|
149
|
+
## Resources
|
|
150
|
+
|
|
151
|
+
- [Gemini API Docs](https://ai.google.dev/)
|
|
152
|
+
- [Model Garden](https://makersuite.google.com/)
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# LangChain
|
|
2
|
+
|
|
3
|
+
Framework for developing applications powered by language models.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install langchain openai
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Basic Chain
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { OpenAI } from 'langchain/llms/openai';
|
|
15
|
+
import { PromptTemplate } from 'langchain/prompts';
|
|
16
|
+
import { LLMChain } from 'langchain/chains';
|
|
17
|
+
|
|
18
|
+
const model = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
|
|
19
|
+
|
|
20
|
+
const prompt = new PromptTemplate({
|
|
21
|
+
template: 'Write a {type} joke about {subject}',
|
|
22
|
+
inputVariables: ['type', 'subject']
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const chain = new LLMChain({ llm: model, prompt });
|
|
26
|
+
|
|
27
|
+
const result = await chain.call({
|
|
28
|
+
type: 'funny',
|
|
29
|
+
subject: 'programming'
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
console.log(result.text);
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Document Loading
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
import { PDFLoader } from 'langchain/document_loaders/fs/pdf';
|
|
39
|
+
import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter';
|
|
40
|
+
|
|
41
|
+
// Load documents
|
|
42
|
+
const loader = new PDFLoader('document.pdf');
|
|
43
|
+
const docs = await loader.load();
|
|
44
|
+
|
|
45
|
+
// Split into chunks
|
|
46
|
+
const splitter = new RecursiveCharacterTextSplitter({
|
|
47
|
+
chunkSize: 1000,
|
|
48
|
+
chunkOverlap: 200
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
const chunks = await splitter.splitDocuments(docs);
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Embedding & Vector Store
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import { OpenAIEmbeddings } from 'langchain/embeddings/openai';
|
|
58
|
+
import { MemoryVectorStore } from 'langchain/vectorstores/memory';
|
|
59
|
+
|
|
60
|
+
const embeddings = new OpenAIEmbeddings();
|
|
61
|
+
|
|
62
|
+
const vectorStore = await MemoryVectorStore.fromDocuments(
|
|
63
|
+
docs,
|
|
64
|
+
embeddings
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
// Query
|
|
68
|
+
const results = await vectorStore.similaritySearch('topic', 3);
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Agents
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
import { initializeAgentExecutor } from 'langchain/agents';
|
|
75
|
+
import { Tool } from 'langchain/tools';
|
|
76
|
+
|
|
77
|
+
const tools = [
|
|
78
|
+
new Tool({
|
|
79
|
+
name: 'Calculator',
|
|
80
|
+
func: async (input) => eval(input),
|
|
81
|
+
description: 'Useful for math operations'
|
|
82
|
+
})
|
|
83
|
+
];
|
|
84
|
+
|
|
85
|
+
const agent = await initializeAgentExecutor(tools, model, 'zero-shot-react-description');
|
|
86
|
+
|
|
87
|
+
const result = await agent.call({ input: 'What is 2 + 2?' });
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Resources
|
|
91
|
+
|
|
92
|
+
- [LangChain Docs](https://js.langchain.com/)
|
|
93
|
+
- [Integrations](https://js.langchain.com/docs/integrations)
|