vybekiit 0.7.28 → 0.7.29
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/bin.js +14408 -15108
- package/dist/global-guidance/language.md +6 -6
- package/dist/global-skills/add-ai/SKILL.md +6 -0
- package/dist/global-skills/add-analytics/SKILL.md +6 -0
- package/dist/global-skills/add-blog/SKILL.md +6 -0
- package/dist/global-skills/add-crud/SKILL.md +8 -0
- package/dist/global-skills/add-files/SKILL.md +6 -0
- package/dist/global-skills/add-images/SKILL.md +6 -0
- package/dist/global-skills/add-language/SKILL.md +6 -0
- package/dist/global-skills/add-notifications/SKILL.md +6 -0
- package/dist/global-skills/add-realtime/SKILL.md +6 -0
- package/dist/global-skills/add-route/SKILL.md +6 -0
- package/dist/global-skills/add-search/SKILL.md +6 -0
- package/dist/global-skills/add-signin/SKILL.md +6 -0
- package/dist/global-skills/add-teams/SKILL.md +10 -3
- package/dist/global-skills/add-upload/SKILL.md +6 -0
- package/dist/global-skills/back-up-my-code/SKILL.md +16 -5
- package/dist/global-skills/buy-domain/SKILL.md +6 -0
- package/dist/global-skills/check-safety/SKILL.md +6 -0
- package/dist/global-skills/configure-capabilities/SKILL.md +6 -0
- package/dist/global-skills/connect-account/SKILL.md +6 -0
- package/dist/global-skills/connect-account-backend/SKILL.md +6 -0
- package/dist/global-skills/design-my-data/SKILL.md +12 -5
- package/dist/global-skills/doctor/SKILL.md +16 -9
- package/dist/global-skills/go-live/SKILL.md +6 -0
- package/dist/global-skills/harden/SKILL.md +8 -0
- package/dist/global-skills/manifest.json +3 -0
- package/dist/global-skills/onboarding/SKILL.md +33 -17
- package/dist/global-skills/plan-my-idea/SKILL.md +6 -0
- package/dist/global-skills/publish-app/SKILL.md +6 -0
- package/dist/global-skills/publish-extension/SKILL.md +6 -0
- package/dist/global-skills/reset-password/SKILL.md +6 -0
- package/dist/global-skills/save-data/SKILL.md +48 -16
- package/dist/global-skills/setup-email/SKILL.md +6 -0
- package/dist/global-skills/setup-payments/SKILL.md +10 -4
- package/dist/global-skills/setup-sms/SKILL.md +6 -0
- package/dist/global-skills/sign-in-with-email-link/SKILL.md +6 -0
- package/dist/global-skills/sign-in-with-google/SKILL.md +6 -0
- package/dist/global-skills/sign-in-with-phone/SKILL.md +6 -0
- package/dist/global-skills/track-errors/SKILL.md +6 -0
- package/dist/global-skills/update-kit/SKILL.md +6 -0
- package/dist/global-skills/validate-my-idea/SKILL.md +6 -0
- package/dist/global-skills/vybekiit-feedback/SKILL.md +6 -0
- package/dist/global-skills/vybekiitReferences/backend/AGENTS.md +42 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/goal-index.md +17 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-agent.json +12 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-firebase.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-mongodb.json +12 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-neon.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-paypal.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-local.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-remote.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-setup.md +131 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-supabase.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-alpha.json +8 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/backend/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/backend/language.md +440 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/deploy-railway-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/mongodb-vybekiit.md +34 -0
- package/dist/global-skills/vybekiitReferences/backend/platform-skills/railway-postgres-vybekiit.md +24 -0
- package/dist/global-skills/vybekiitReferences/extension/AGENTS.md +80 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/goal-index.md +27 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-setup.md +102 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-alpha.json +13 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/extension/agent/ui-sources.md +30 -0
- package/dist/global-skills/vybekiitReferences/extension/language.md +433 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/README.md +32 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/browser-automation-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/chrome-extension-vybekiit.md +28 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/ci-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/client-state-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/code-hygiene-vybekiit.md +38 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/data-model-vybekiit.md +29 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/format-lint-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/github-vybekiit.md +47 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/i18n-vybekiit.md +39 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/planning-vybekiit.md +59 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/playwright-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/react-patterns-vybekiit.md +45 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/responsive-vybekiit.md +27 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/sentry-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/ship-via-pr-vybekiit.md +49 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/testing-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/extension/platform-skills/ui-consistency-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/AGENTS.md +460 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/goal-index.md +32 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-firebase.json +8 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-neon.json +8 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-paypal.json +8 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-setup.md +103 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-stripe.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-supabase.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-alpha.json +13 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/ui-catalog-index.mobile.json +36294 -0
- package/dist/global-skills/vybekiitReferences/mobile/agent/ui-sources.mobile.md +36 -0
- package/dist/global-skills/vybekiitReferences/mobile/language.md +438 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/README.md +43 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ci-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/client-state-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/code-hygiene-vybekiit.md +38 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/data-model-vybekiit.md +29 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/env-secrets-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/format-lint-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/github-vybekiit.md +47 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/i18n-vybekiit.md +41 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/launch-store-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/observability-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/planning-vybekiit.md +59 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/playwright-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/react-patterns-vybekiit.md +45 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/sentry-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ship-via-pr-vybekiit.md +49 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/testing-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-consistency-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-port-from-web-vybekiit.md +44 -0
- package/dist/global-skills/vybekiitReferences/spa/AGENTS.md +83 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/goal-index.md +30 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/mcp-setup.md +54 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/spa/agent/ui-sources.md +60 -0
- package/dist/global-skills/vybekiitReferences/spa/language.md +221 -0
- package/dist/global-skills/vybekiitReferences/spa/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/web/AGENTS.md +153 -0
- package/dist/global-skills/vybekiitReferences/web/agent/goal-index.md +54 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-agent.json +14 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-firebase.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-mongodb.json +12 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-neon.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-paypal.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-posthog.json +17 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-local.json +8 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-remote.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-sentry.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-setup.md +165 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-stripe.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-supabase.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-alpha.json +13 -0
- package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-docs.json +7 -0
- package/dist/global-skills/vybekiitReferences/web/agent/session-bootstrap.md +44 -0
- package/dist/global-skills/vybekiitReferences/web/agent/tech-references.md +28 -0
- package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.json +36294 -0
- package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.mobile.json +36294 -0
- package/dist/global-skills/vybekiitReferences/web/agent/ui-sources.md +104 -0
- package/dist/global-skills/vybekiitReferences/web/language.md +443 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/README.md +66 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ai-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/analytics-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/assets-vybekiit.md +31 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/aws-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/better-auth-vybekiit.md +21 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/browser-automation-vybekiit.md +40 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ci-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/client-state-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/cloudflare-email-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/cms-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/code-hygiene-vybekiit.md +38 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/compliance-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/data-model-vybekiit.md +29 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/db-presets-vybekiit.md +46 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-cloudflare-vybekiit.md +22 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-github-pages-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-railway-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-vercel-vybekiit.md +23 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/env-secrets-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/extend-capabilities-vybekiit.md +127 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/firebase-vybekiit.md +27 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/format-lint-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/github-vybekiit.md +47 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/i18n-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/jobs-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/kv-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/lemon-squeezy-vybekiit.md +30 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/mcp-tools-vybekiit.md +87 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/mongodb-vybekiit.md +39 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/neon-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/nextjs-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/notifications-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/observability-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/paypal-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/planning-vybekiit.md +59 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/playwright-vybekiit.md +42 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/railway-postgres-vybekiit.md +24 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/react-patterns-vybekiit.md +45 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/realtime-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/registrar-vybekiit.md +36 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/resend-vybekiit.md +20 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/responsive-vybekiit.md +27 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/search-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/sentry-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/seo-vybekiit.md +31 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ses-vybekiit.md +19 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/shadcn-vybekiit.md +25 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ship-via-pr-vybekiit.md +49 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/stripe-vybekiit.md +26 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/supabase-vybekiit.md +31 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/tenancy-vybekiit.md +3 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/testing-vybekiit.md +33 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-consistency-vybekiit.md +34 -0
- package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-routing-vybekiit.md +41 -0
- package/dist/global-skills/watch-my-app/SKILL.md +6 -0
- package/dist/global-skills/wire-auth/SKILL.md +6 -0
- package/dist/global-skills/wire-database/SKILL.md +15 -1
- package/dist/global-skills/wire-email/SKILL.md +6 -0
- package/dist/global-skills/wire-payments/SKILL.md +6 -0
- package/package.json +10 -9
package/dist/global-skills/vybekiitReferences/extension/platform-skills/code-hygiene-vybekiit.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Platform wrapper: code hygiene (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invisible guardrails for every coding task — not a buyer goal skill.
|
|
4
|
+
|
|
5
|
+
## Before you write code
|
|
6
|
+
|
|
7
|
+
1. **Check before create** — search `src/lib/` and `@vybekiit/*` before adding a helper; extend existing code if ≥80% overlap.
|
|
8
|
+
2. **One home per concern** — auth → `auth-client.ts`, billing → `billing-client.ts`, HTTP → `fetch-json.ts`, logging → `logger.ts`. Never add `utils-foo.ts`.
|
|
9
|
+
3. **Use the kit logger** — `import { log } from '@/lib/logger'` (web) or `@/lib/logger` (mobile). Never `console.log` in app/API code (tests may use console).
|
|
10
|
+
4. **KISS** — no one-off wrappers around kit packages; validate API bodies with zod at the route boundary only.
|
|
11
|
+
5. **SSOT** — secrets in `.env` only; business constants in one file per domain (e.g. `plans.ts`).
|
|
12
|
+
|
|
13
|
+
Read `src/lib/README.md` for the utility registry.
|
|
14
|
+
|
|
15
|
+
## Duplicate detection
|
|
16
|
+
|
|
17
|
+
Before adding a function:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
rg "function <name>" src/lib/ app/
|
|
21
|
+
rg "export (async )?function" src/lib/
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Flag and merge when the same name or a 10+ line block appears twice. Consolidate validation into shared zod schemas, not copy-pasted checks in routes.
|
|
25
|
+
|
|
26
|
+
## Forbidden
|
|
27
|
+
|
|
28
|
+
- Second auth/billing/fetch wrapper
|
|
29
|
+
- Inline date/currency formatters in components (add to an existing lib file)
|
|
30
|
+
- Raw SQL or string-built queries (use `@vybekiit/db`)
|
|
31
|
+
|
|
32
|
+
## React-specific
|
|
33
|
+
|
|
34
|
+
Follow pinned `vercel-react-best-practices` for event-listener dedup, RSC prop dedup, and effect placement.
|
|
35
|
+
|
|
36
|
+
## Verify
|
|
37
|
+
|
|
38
|
+
After refactors: tests green · `node scripts/checkNoConsole.mjs` (web) · no duplicate function names in `src/lib/`.
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/data-model-vybekiit.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Platform wrapper: data modeling (agent-only)
|
|
2
|
+
|
|
3
|
+
**Invoked by:** `design-my-data` buyer skill · inline from `save-data` for trivial cases.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
| Situation | Action |
|
|
8
|
+
|-----------|--------|
|
|
9
|
+
| Multiple entities or relationships | Run `design-my-data` first |
|
|
10
|
+
| Single simple list/table | Inline `planDataModel()` in `save-data` |
|
|
11
|
+
| Builder already agreed on shape | Jump to `save-data` |
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Infer entities from product language (customers, orders, posts, etc.)
|
|
16
|
+
2. `planDataModel(entities, DATA_PROVIDER)` — PK/FK stay in agent output only
|
|
17
|
+
3. Read `buyerSummary` to builder; confirm
|
|
18
|
+
4. `save-data` provisions via MCP path for active provider (merge via `agent/mcp-setup.md`):
|
|
19
|
+
- Supabase → `mcp-supabase.json` + Supabase CLI
|
|
20
|
+
- Neon → `mcp-neon.json`
|
|
21
|
+
- Firebase → `mcp-firebase.json`
|
|
22
|
+
|
|
23
|
+
## Never say to builder
|
|
24
|
+
|
|
25
|
+
primary key, foreign key, migration, schema, normalization, SQL, NoSQL
|
|
26
|
+
|
|
27
|
+
## MCP tier
|
|
28
|
+
|
|
29
|
+
Document login-once paths in `onboarding.md`. MongoDB and AWS are advanced (maintainer docs only).
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Platform wrapper: secret settings / `.env` (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Keep secret values invisible — the builder never hears key names as passwords in chat.
|
|
4
|
+
|
|
5
|
+
## Hard rules
|
|
6
|
+
|
|
7
|
+
1. **Never read `.env` aloud** or paste its values into chat, commits, or PR descriptions.
|
|
8
|
+
2. **Reference keys from `.env.example` only** — say *"the payment key in your secret settings file"* using the plain label from `.env.example` comments, not the raw value.
|
|
9
|
+
3. **If the builder pastes a secret in chat**, warn once: *"Don't paste secrets here — paste it into your secret settings file on your machine instead."* Then guide them to open `.env` locally.
|
|
10
|
+
4. **Doctor must pass** `.cursorignore` listing `.env` — run `vybekiit doctor` if unsure.
|
|
11
|
+
|
|
12
|
+
## What agents can see
|
|
13
|
+
|
|
14
|
+
Cursor, Claude Code, and Codex may still read `.env` if ignore rules fail — treat every value as redacted even when visible. Never reproduce secret strings; use `••••••` or *"already set"* when confirming.
|
|
15
|
+
|
|
16
|
+
## Verify
|
|
17
|
+
|
|
18
|
+
- `.cursorignore` includes `.env`
|
|
19
|
+
- `.gitignore` includes `.env`
|
|
20
|
+
- `git status` never shows `.env` staged
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Platform wrapper: extend-capabilities (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked silently when no `goal-index.md` row and no platform wrapper covers the builder's request. The builder never hears "skill gap" or "extension."
|
|
4
|
+
|
|
5
|
+
## When to run
|
|
6
|
+
|
|
7
|
+
1. Read `.vybekiit/agent/goal-index.md` (and `.vybekiit/extensions/goal-index.md` if present).
|
|
8
|
+
2. If a row matches → follow that skill; **stop here**.
|
|
9
|
+
3. If the request is tech-specific → check `@vybekiit/*` `resolve*Provider()` adapters and `.vybekiit/platform-skills/*-vybekiit.md` plus `.vybekiit/extensions/platform-skills/`.
|
|
10
|
+
4. If an existing goal skill can absorb the tech (e.g. new database → `save-data`) → follow that goal skill; **stop here**.
|
|
11
|
+
5. Otherwise → run this workflow.
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
### 1. Classify the gap
|
|
16
|
+
|
|
17
|
+
| Kind | Signal | Output |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| **New builder goal** | Feature or outcome with no goal-index match | Layer A buyer skill |
|
|
20
|
+
| **New tech / provider** | Named framework, DB, language, or tool | Layer B wrapper (+ upstream pin when available) |
|
|
21
|
+
|
|
22
|
+
Pick a **goal stem** (kebab-case, goal-named for Layer A) or **tech stem** (kebab-case for Layer B).
|
|
23
|
+
|
|
24
|
+
### 2. Research (tech gaps only)
|
|
25
|
+
|
|
26
|
+
1. Search skills.sh: `npx skills search <query>`
|
|
27
|
+
2. When an official skill exists: `npx skills add <repo> --skill <name> -y` into project `.agents/skills/`
|
|
28
|
+
3. Note official docs URL for the wrapper header
|
|
29
|
+
4. Check `@vybekiit/*` for an existing provider interface to wire behind
|
|
30
|
+
|
|
31
|
+
### 3. Draft
|
|
32
|
+
|
|
33
|
+
Use these shapes (or `vybekiit` templates from `@vybekiit/agent-kit`):
|
|
34
|
+
|
|
35
|
+
**Layer A (buyer goal)** — mirror `skills/save-data.md`:
|
|
36
|
+
|
|
37
|
+
- `**Goal:**` one plain sentence
|
|
38
|
+
- `**Contract:**` five rules + `language.md`
|
|
39
|
+
- `## Steps` with `**Verify:**` on each step
|
|
40
|
+
- `## Definition of done`
|
|
41
|
+
- `## After completing this skill`
|
|
42
|
+
|
|
43
|
+
**Layer B (platform wrapper)** — mirror `platform-skills/mongodb-vybekiit.md`:
|
|
44
|
+
|
|
45
|
+
- Official docs links
|
|
46
|
+
- `## Kit wiring` (prefer `resolve*Provider()`)
|
|
47
|
+
- `## Verify-before-advance`
|
|
48
|
+
- `## Never say to builder`
|
|
49
|
+
- `## TODO(vybekiit)` when no npm adapter exists yet
|
|
50
|
+
|
|
51
|
+
**Machine-global** — Agent Skills `SKILL.md` with YAML frontmatter (`name`, `description`).
|
|
52
|
+
|
|
53
|
+
### 4. Lint (agent-only)
|
|
54
|
+
|
|
55
|
+
Before saving, run:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
vybekiit lint-extension-skill <draft-path> --kind=buyer-goal
|
|
59
|
+
# or --kind=platform-wrapper
|
|
60
|
+
# or --kind=agent-skills-global
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Fix all issues. Exit code must be `0`. Builder never sees this step.
|
|
64
|
+
|
|
65
|
+
### 5. Ask scope (plain language only)
|
|
66
|
+
|
|
67
|
+
Ask exactly once:
|
|
68
|
+
|
|
69
|
+
> "Should I save this guide just for this project, or for all your projects on this computer?"
|
|
70
|
+
|
|
71
|
+
| Answer | Persist to |
|
|
72
|
+
|---|---|
|
|
73
|
+
| **This project** | Layer A: `.vybekiit/extensions/skills/<goal>.md` · Layer B: `.vybekiit/extensions/platform-skills/<tech>-vybekiit.md` |
|
|
74
|
+
| **All my projects** | Tool-aware global path (detect active tool first) |
|
|
75
|
+
|
|
76
|
+
### Tool-aware global paths
|
|
77
|
+
|
|
78
|
+
| Active tool | Global skill path | skills.sh agent |
|
|
79
|
+
|---|---|---|
|
|
80
|
+
| **Cursor** | `~/.cursor/skills-cursor/<name>/SKILL.md` | `--agent cursor` |
|
|
81
|
+
| **Claude Code** | `~/.claude/skills/<name>/SKILL.md` | `--agent claude-code` |
|
|
82
|
+
| **Codex** | `~/.agents/skills/<name>/SKILL.md` | `--agent codex` |
|
|
83
|
+
| **Fallback** | `~/.agents/skills/<name>/SKILL.md` | omit `--agent` |
|
|
84
|
+
|
|
85
|
+
Detect tool: Cursor if `.cursor/rules/vybekiit.mdc` exists; else Claude if `CLAUDE.md` session; else Codex via `AGENTS.md`.
|
|
86
|
+
|
|
87
|
+
Global install via skills.sh when upstream exists:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npx skills add <repo> --skill <name> --global --agent <agent> -y
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 6. Persist
|
|
94
|
+
|
|
95
|
+
**Project-local:**
|
|
96
|
+
|
|
97
|
+
- Create directories if missing: `.vybekiit/extensions/skills/`, `.vybekiit/extensions/platform-skills/`
|
|
98
|
+
- Write the drafted file
|
|
99
|
+
- **Layer A only:** append a row to `.vybekiit/agent/goal-index.md`:
|
|
100
|
+
|
|
101
|
+
`| "<builder phrase>" | \`extensions/skills/<goal>.md\` |`
|
|
102
|
+
|
|
103
|
+
Optionally mirror the row in `.vybekiit/extensions/goal-index.md` for backup.
|
|
104
|
+
|
|
105
|
+
**Machine-global:**
|
|
106
|
+
|
|
107
|
+
- Write `SKILL.md` to the tool path above
|
|
108
|
+
- Do not edit project `goal-index.md` for global-only skills
|
|
109
|
+
|
|
110
|
+
### 7. Resume
|
|
111
|
+
|
|
112
|
+
Immediately follow the new skill as if it always existed. Never tell the builder you "created a skill."
|
|
113
|
+
|
|
114
|
+
## Verify-before-advance
|
|
115
|
+
|
|
116
|
+
- Lint passed (`vybekiit lint-extension-skill` exit 0)
|
|
117
|
+
- File exists at chosen path
|
|
118
|
+
- For Layer A: goal-index row present
|
|
119
|
+
- For tech: upstream pin in `.agents/skills/` when available
|
|
120
|
+
|
|
121
|
+
## Never say to builder
|
|
122
|
+
|
|
123
|
+
skill gap, extension, Layer A, Layer B, platform wrapper, goal-index, skills.sh, Agent Skills, YAML frontmatter
|
|
124
|
+
|
|
125
|
+
## Owned vs maintained
|
|
126
|
+
|
|
127
|
+
`.vybekiit/extensions/**` is **buyer-owned** — `sync-agent-layer` never overwrites it. Extension rows in `goal-index.md` are preserved on kit updates.
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/format-lint-vybekiit.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Platform wrapper: format + lint (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Keep the codebase tidy — the builder never runs the linter or formatter.
|
|
4
|
+
|
|
5
|
+
## When
|
|
6
|
+
|
|
7
|
+
After every substantive edit; once after first `pnpm install` during onboarding (quality smoke).
|
|
8
|
+
|
|
9
|
+
## How
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
pnpm format # biome check --write .
|
|
13
|
+
pnpm lint # biome check .
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Or the full loop:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pnpm verify # format → lint → typecheck → test
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Optional agent wrapper: `node scripts/checkQuality.mjs`
|
|
23
|
+
|
|
24
|
+
## Rules
|
|
25
|
+
|
|
26
|
+
1. **Never ask the builder** to run lint or format — you do it silently.
|
|
27
|
+
2. Biome **warn** rules (function length, complexity) are soft — fix obvious ones; don't block ship on style warnings unless egregious.
|
|
28
|
+
3. If lint fails on a real error, fix it and re-run. Translate one plain fix if you must mention something to the builder (rare).
|
|
29
|
+
4. **Pre-push only** — buyer templates ship an identical husky **pre-push** hook (not pre-commit). The builder never pushes; the agent does. The hook runs `pnpm verify` before push succeeds.
|
|
30
|
+
|
|
31
|
+
## Verify
|
|
32
|
+
|
|
33
|
+
`pnpm lint` exits 0 (warnings OK). Full smoke: `pnpm verify`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Platform wrapper: GitHub backup (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Save the builder's project on GitHub — invoked by buyer skill `back-up-my-code`, not by git jargon.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- `gh` CLI installed (`vybekiit doctor` checks this)
|
|
8
|
+
- Builder has a **GitHub account** — `gh` does **not** create accounts. If they don't have one, walk them through signup at github.com one step at a time in plain language.
|
|
9
|
+
|
|
10
|
+
## Sign in
|
|
11
|
+
|
|
12
|
+
If doctor reports not signed in:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
gh auth login --web
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Browser opens → builder clicks approve.
|
|
19
|
+
|
|
20
|
+
## Backup flow
|
|
21
|
+
|
|
22
|
+
1. `git init` (if no repo yet) — `.gitignore` already ships
|
|
23
|
+
2. Stage all project files (never commit `.env` — it's gitignored)
|
|
24
|
+
3. First commit with a plain message, e.g. "Initial save"
|
|
25
|
+
4. Create **private** repo and push:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
gh repo create <repo-name> --private --source=. --remote=origin --push
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
5. Open `https://github.com/<user>/<repo>` and confirm files are there
|
|
32
|
+
6. Give the builder the link in plain words — *"Your project is saved online here."*
|
|
33
|
+
|
|
34
|
+
## Later saves (PR flow)
|
|
35
|
+
|
|
36
|
+
For ongoing work after the first backup, use `ship-via-pr-vybekiit.md` — branch, push, wait for the **online checker** on all three operating systems, then merge. The builder hears *"Your latest work is saved and checked."*
|
|
37
|
+
|
|
38
|
+
## Rules
|
|
39
|
+
|
|
40
|
+
- Default to **private** repos unless the builder explicitly wants public
|
|
41
|
+
- Never paste secrets into commits or chat
|
|
42
|
+
- Never claim backup worked without verifying on github.com
|
|
43
|
+
- Do not run this in doctor by default — only when the builder asks or after meaningful progress (optional nudge in onboarding)
|
|
44
|
+
|
|
45
|
+
## Verify
|
|
46
|
+
|
|
47
|
+
`gh repo view` shows the remote · latest commit visible on GitHub · builder has the URL
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Platform wrapper: i18n (extension template)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by generic coding and the `add-language` buyer skill.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Chrome i18n API: https://developer.chrome.com/docs/extensions/reference/i18n/
|
|
8
|
+
- WXT types: `.wxt/types/i18n.d.ts` (regenerated on build)
|
|
9
|
+
|
|
10
|
+
## Shared conventions
|
|
11
|
+
|
|
12
|
+
- **Never hardcode user-facing strings** — use `t('key')` from `@/lib/i18n`.
|
|
13
|
+
- **Flat-dotted keys** in Chrome `messages.json` format (`message` + optional `placeholders`).
|
|
14
|
+
- **Manifest strings:** `__MSG_ext.name__`, `__MSG_ext.description__` in `wxt.config.ts`.
|
|
15
|
+
- **RTL:** `dir={localeToDirection(getActiveLocale())}` on popup root; logical Tailwind spacing.
|
|
16
|
+
|
|
17
|
+
## Extension stack
|
|
18
|
+
|
|
19
|
+
| Piece | Location |
|
|
20
|
+
|---|---|
|
|
21
|
+
| Catalog | `public/_locales/{locale}/messages.json` |
|
|
22
|
+
| Helper | `lib/i18n.ts` — `t()`, `getActiveLocale()`, `localeToDirection()` |
|
|
23
|
+
| Manifest | `wxt.config.ts` — `default_locale: 'en'` |
|
|
24
|
+
|
|
25
|
+
## Adding a locale
|
|
26
|
+
|
|
27
|
+
1. Copy `public/_locales/en/messages.json` → `public/_locales/{locale}/messages.json`.
|
|
28
|
+
2. Translate `message` fields; keep keys identical.
|
|
29
|
+
3. Rebuild — `pnpm build` bundles `_locales/` into output.
|
|
30
|
+
4. RTL: set `dir` on popup `<main>`; test with Chrome locale override.
|
|
31
|
+
5. Run `pnpm test` — `lib/__tests__/i18n.test.ts` green.
|
|
32
|
+
|
|
33
|
+
## Key namespace
|
|
34
|
+
|
|
35
|
+
Extension-specific: `ext.*` (manifest), `popup.*` (UI). No web/mobile parity required for popup copy.
|
|
36
|
+
|
|
37
|
+
## Verify-before-advance
|
|
38
|
+
|
|
39
|
+
`pnpm verify` green; reload extension in Chrome; confirm popup + manifest name in new language.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Platform wrapper: kit MCP tools
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Catalog of every first-party MCP tool VybeKiit ships. Read this file locally or load via MCP `get_skill` / `list_platform_skills` (`mcp-tools-vybekiit` / `use-kit-mcp`).
|
|
4
|
+
|
|
5
|
+
Never name MCP, tool ids, or package paths to the builder. Prefer **search → get** (slim pages, then detail).
|
|
6
|
+
|
|
7
|
+
## Server
|
|
8
|
+
|
|
9
|
+
| Server key | Package | Bin | Purpose |
|
|
10
|
+
|------------|---------|-----|---------|
|
|
11
|
+
| `vybekiit` | `@vybekiit/agent-mcp` | `vybekiit-agent-mcp` | Skills, CLI catalog, doctor tools, doc-fallback, browser automations, mirrored UI catalog |
|
|
12
|
+
|
|
13
|
+
Snippet: `.vybekiit/agent/mcp-agent.json`. Setup: `.vybekiit/agent/mcp-setup.md`.
|
|
14
|
+
Auto-discovered skill: `.agents/skills/use-kit-mcp/SKILL.md`.
|
|
15
|
+
|
|
16
|
+
## Env
|
|
17
|
+
|
|
18
|
+
| Variable | Meaning |
|
|
19
|
+
|----------|---------|
|
|
20
|
+
| `VYBEKIIT_PROJECT_ROOT` | Project root for skill reads + automation cwd (default cwd) |
|
|
21
|
+
| `VYBEKIIT_UI_CATALOG_PATH` | Path to `ui-catalog-index.json` |
|
|
22
|
+
| `VYBEKIIT_AUTOMATE_BIN` | Optional absolute path to `vybekiit-automate` |
|
|
23
|
+
|
|
24
|
+
## Context controls
|
|
25
|
+
|
|
26
|
+
- Cursor pagination: `limit` / `cursor` / response `nextCursor` + `hasMore` + `total`
|
|
27
|
+
- Prefer slim rows; request full detail only when needed (`fields=slim|full` on UI tools)
|
|
28
|
+
- Automations: `run_automation({ dryRun: true })` before a real browser session
|
|
29
|
+
|
|
30
|
+
## Tools
|
|
31
|
+
|
|
32
|
+
| Tool | Description | Required | Optional | When to use |
|
|
33
|
+
|------|-------------|----------|----------|-------------|
|
|
34
|
+
| `search_skills` | Fuzzy-search buyer goals/skills (goal-index SSOT). Paginated slim rows. | query | template, limit, cursor | Before opening skill files; empty query lists all goals for the template. |
|
|
35
|
+
| `get_skill` | Load one skill by goal id or stem (excerpt by default). | id | template, excerptLines | After search_skills picks a row; also loads use-kit-mcp / platform wrappers. |
|
|
36
|
+
| `list_platform_skills` | List/search `.vybekiit/platform-skills/*` wrappers (paginated). | — | query, limit, cursor | Find provider wrappers (stripe, railway, mcp-tools-vybekiit, …). |
|
|
37
|
+
| `search_commands` | Fuzzy-search vybekiit CLI verbs. Returns usage — run via shell, not MCP. | query | limit, cursor | Discover CLI verbs (doctor, create app, automate, …). |
|
|
38
|
+
| `get_command` | Get one CLI command by exact name from the catalog. | name | — | After search_commands when you know the exact verb name. |
|
|
39
|
+
| `search_doctor_tools` | List doctor toolchain entries (`vybekiit doctor --ensure <name>`). Does not run doctor. | query | limit, cursor | Before ensuring CLIs (gh, wrangler, supabase, …). |
|
|
40
|
+
| `search_tech_ids` | Fuzzy-search known tech ids before doc_fallback. | query | limit, cursor | Pick a tech id for official docs after one failed MCP/debug attempt. |
|
|
41
|
+
| `doc_fallback` | Official docs + env key hints. Never name MCP to the builder — use builderMessage. | techId | — | MCP or first debug failed once; same as `vybekiit doc-fallback <tech-id>`. |
|
|
42
|
+
| `search_automations` | Fuzzy-search vybekiit-automate browser verbs (ls, cws, nc, …). Paginated. | query | limit, cursor | Before run_automation; empty query lists the catalog. |
|
|
43
|
+
| `get_automation` | Get one automation by domain (+ command) or id (`ls:setup`). | domain | command | Inspect usage string for a known domain/verb. |
|
|
44
|
+
| `run_automation` | Run vybekiit-automate from any project root (resolves bin). Always --json. Prefer dryRun first. Google redirect_uri_mismatch → domain=google command=oauth with --redirect incl. localhost. | domain, command | args, dryRun, yes, cdp, profile, timeoutMs | Execute browser automations anywhere; OAuth 400 redirect_uri_mismatch; dryRun=true to preview argv only. |
|
|
45
|
+
| `search_ui_components` | Fuzzy-search mirrored UI components. Page envelope; default fields=slim. | query | source, limit, cursor, fields | Find blocks by intent/name; slim first, then get_ui_component. |
|
|
46
|
+
| `get_ui_component` | Get one mirrored component by source namespace + slug. | source, name | — | Full detail after search_ui_components. |
|
|
47
|
+
| `suggest_ui_blend` | Ranked multi-source component suggestions for a natural-language UI intent. | intent | limit | Builder wants a composed look (hero + pricing + marquee, …). |
|
|
48
|
+
| `list_ui_sources` | List mirrored UI source namespaces and component counts. | — | — | See which registries are in the local catalog index. |
|
|
49
|
+
|
|
50
|
+
## Browser automations (from any folder)
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
search_automations({ query: "lemon squeezy" })
|
|
54
|
+
run_automation({ domain: "ls", command: "setup", dryRun: true })
|
|
55
|
+
run_automation({ domain: "ls", command: "standby" })
|
|
56
|
+
// Google Error 400 redirect_uri_mismatch / Auth.js localhost — args only, no Console babysitting:
|
|
57
|
+
search_automations({ query: "redirect_uri_mismatch" })
|
|
58
|
+
run_automation({ domain: "google", command: "oauth", args: [
|
|
59
|
+
"--project=my-app", "--app-name=MyApp", "--support-email=you@gmail.com",
|
|
60
|
+
"--app-url=https://example.com",
|
|
61
|
+
"--redirect=https://example.com/api/auth/callback/google",
|
|
62
|
+
"--redirect=http://localhost:3000/api/auth/callback/google",
|
|
63
|
+
]})
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Shell equivalent:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
vybekiit-automate catalog --json
|
|
70
|
+
vybekiit-automate ls standby --json --yes
|
|
71
|
+
vybekiit-automate google oauth --project=... --app-name=... --support-email=... --app-url=... --redirect=... --json
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Wire-up (agents)
|
|
75
|
+
|
|
76
|
+
1. `vybekiit setup` registers the `vybekiit` server once at Claude user scope and refreshes it on every rerun.
|
|
77
|
+
2. Start a new Claude session after setup so Claude can approve and discover the global tools.
|
|
78
|
+
3. Cursor receives project `.cursor/mcp.json` files because its setup path remains project-scoped.
|
|
79
|
+
4. `create app` still ships `@vybekiit/agent-mcp` and `@vybekiit/browser-automation` under `packages/` for owned tooling and other MCP clients.
|
|
80
|
+
5. Doctor may merge provider-specific third-party MCPs only when the project needs them.
|
|
81
|
+
|
|
82
|
+
## Provider / third-party MCP snippets
|
|
83
|
+
|
|
84
|
+
Not first-party tools — merge only when the builder uses that provider (see `mcp-setup.md`):
|
|
85
|
+
`mcp-supabase`, `mcp-stripe`, `mcp-paypal`, `mcp-neon`, `mcp-firebase`, `mcp-mongodb`, `mcp-railway-*`, `mcp-twilio-*`, `mcp-sentry`, `mcp-posthog`.
|
|
86
|
+
|
|
87
|
+
If any MCP fails once → `doc_fallback` / `vybekiit doc-fallback <tech-id>`; tell the builder only the plain stuck phrase.
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Platform wrapper: observability (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Logging and error tracking wiring — not a buyer goal skill.
|
|
4
|
+
|
|
5
|
+
## Structured logging
|
|
6
|
+
|
|
7
|
+
- Import `log` from `src/lib/logger.ts` (wraps `@vybekiit/core` `createLogger`).
|
|
8
|
+
- **Development:** `debug` and `info` print automatically.
|
|
9
|
+
- **Production:** only `warn` and `error` print — no builder configuration needed.
|
|
10
|
+
- Optional override: `LOG_LEVEL` in `.env` (agent-only; never ask the builder to set it).
|
|
11
|
+
- API routes: `const routeLog = log.child({ requestId })` when correlating a request.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { log } from '@/lib/logger';
|
|
15
|
+
|
|
16
|
+
log.info('Contact form accepted', { email: parsed.data.email });
|
|
17
|
+
log.error('Checkout failed', err);
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Never use bare `console.log` in `app/` or `src/` (tests excluded).
|
|
21
|
+
|
|
22
|
+
## Error tracking
|
|
23
|
+
|
|
24
|
+
- Buyer skill: `track-errors` — wires `@vybekiit/observability`.
|
|
25
|
+
- Server entry: `instrumentation.ts` calls `resolveObservabilityProvider`.
|
|
26
|
+
- App code: `import { observability } from '@/lib/observability'` then `observability.captureException(err)`.
|
|
27
|
+
- Platform wrapper: `sentry-vybekiit.md` for Sentry dashboard steps.
|
|
28
|
+
|
|
29
|
+
## Pre-ship checks
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
node scripts/checkNoConsole.mjs
|
|
33
|
+
rg "from '@/lib/logger'" app/api/
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
See `check-safety` step 6 (code readiness) and `go-live` pre-flight.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# planning-vybekiit.md — agent-only planning mechanics
|
|
2
|
+
|
|
3
|
+
Used by `plan-my-idea.md`. The builder never sees this file or its vocabulary.
|
|
4
|
+
|
|
5
|
+
## CONTEXT.md format
|
|
6
|
+
|
|
7
|
+
Single context at repo root (`CONTEXT.md`). Create lazily when the first term resolves.
|
|
8
|
+
|
|
9
|
+
```md
|
|
10
|
+
# {App name or domain}
|
|
11
|
+
|
|
12
|
+
{One or two sentences: what this app is and who it's for.}
|
|
13
|
+
|
|
14
|
+
## Language
|
|
15
|
+
|
|
16
|
+
**{Canonical term}**:
|
|
17
|
+
{A one or two sentence definition of what it IS, not what it does.}
|
|
18
|
+
_Avoid_: alias1, alias2
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Rules
|
|
22
|
+
|
|
23
|
+
- **Be opinionated.** Pick one canonical word; list alternatives under `_Avoid_`.
|
|
24
|
+
- **Keep definitions tight.** One or two sentences max.
|
|
25
|
+
- **App-specific only.** No general programming terms (API, timeout, cache, component).
|
|
26
|
+
- **Group under subheadings** when clusters emerge (e.g. `## People`, `## Money`).
|
|
27
|
+
- **Update inline** during the session — never batch at the end.
|
|
28
|
+
- **No implementation details** in `CONTEXT.md` — glossary only, not a spec.
|
|
29
|
+
|
|
30
|
+
### No ADRs for buyers
|
|
31
|
+
|
|
32
|
+
Do not create `docs/adr/` or decision-record files. Capture agreed language in `CONTEXT.md` only.
|
|
33
|
+
|
|
34
|
+
## During a planning session
|
|
35
|
+
|
|
36
|
+
### Challenge against the glossary
|
|
37
|
+
|
|
38
|
+
When the builder uses a term that conflicts with `CONTEXT.md`, reconcile immediately: *"Last time we
|
|
39
|
+
said X means … — is that still right?"*
|
|
40
|
+
|
|
41
|
+
### Sharpen fuzzy language
|
|
42
|
+
|
|
43
|
+
When they say "account", "user", "order", "save" without precision, propose a canonical term and ask
|
|
44
|
+
which they mean.
|
|
45
|
+
|
|
46
|
+
### Cross-reference with code
|
|
47
|
+
|
|
48
|
+
When they state how something works, check the code. If it contradicts them, surface it plainly and
|
|
49
|
+
ask which is right before continuing.
|
|
50
|
+
|
|
51
|
+
### Concrete scenarios
|
|
52
|
+
|
|
53
|
+
Once the shape emerges, invent one realistic edge-case scenario (*"Sarah tries to… what happens?"*) to
|
|
54
|
+
expose gaps before building.
|
|
55
|
+
|
|
56
|
+
## After planning
|
|
57
|
+
|
|
58
|
+
Reference `CONTEXT.md` during later feature work so wording stays consistent. Do not overwrite buyer
|
|
59
|
+
entries during `update-kit` sync — `CONTEXT.md` is buyer-owned.
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/playwright-vybekiit.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Platform wrapper: Playwright UI tests (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Walk through the app like a visitor — the builder hears *"I checked it on screen"*, not Playwright.
|
|
4
|
+
|
|
5
|
+
## When
|
|
6
|
+
|
|
7
|
+
Before calling a page done (web/extension with UI); in pre-push when `PLAYWRIGHT_ENABLED=true`; on CI (ubuntu job).
|
|
8
|
+
|
|
9
|
+
## Configure (`.env`)
|
|
10
|
+
|
|
11
|
+
```env
|
|
12
|
+
PLAYWRIGHT_ENABLED="true" # turn on locally
|
|
13
|
+
PLAYWRIGHT_HEADLESS="true" # false to watch the browser
|
|
14
|
+
PLAYWRIGHT_BASE_URL="http://localhost:3000"
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Install browsers (once per machine)
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
pnpm exec playwright install chromium
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Doctor/onboarding: agent runs this silently when enabling UI walkthrough tests.
|
|
24
|
+
|
|
25
|
+
## Run
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pnpm test:e2e
|
|
29
|
+
# or: PLAYWRIGHT_ENABLED=true pnpm test:e2e
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Pre-push runs `pnpm test:e2e` automatically when `PLAYWRIGHT_ENABLED=true`.
|
|
33
|
+
|
|
34
|
+
## Rules
|
|
35
|
+
|
|
36
|
+
1. Never say "Playwright", "E2E", or "headless" to the builder — use `language.md`.
|
|
37
|
+
2. Fix failing walkthrough tests before telling the builder the page works.
|
|
38
|
+
3. Keep smoke tests short — one happy path per critical screen.
|
|
39
|
+
|
|
40
|
+
## Verify
|
|
41
|
+
|
|
42
|
+
`pnpm test:e2e` green with dev server reachable at `PLAYWRIGHT_BASE_URL`.
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/react-patterns-vybekiit.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Platform wrapper: React patterns (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Kit primitives and soft limits — the builder never hears "props" limits or "split the component."
|
|
4
|
+
|
|
5
|
+
## Kit primitives (required)
|
|
6
|
+
|
|
7
|
+
| Concern | Use | Never |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| Server / API data | TanStack Query via `@vybekiit/client-state` (`useQuery`, `useMutation`) | Raw `fetch` + `useState` for server records |
|
|
10
|
+
| Async UI state | `useAsync` from `@/hooks/use-async` | Hand-rolled fetch for data that belongs in query cache |
|
|
11
|
+
| User / session | `useUser` from `@/hooks/use-user` | Duplicate session logic in pages |
|
|
12
|
+
| Client-only prefs | `useStorage` from `@/hooks/use-storage` | Zustand/MMKV for server data |
|
|
13
|
+
| Toasts | `useToast` from `@/hooks/use-toast` | `alert()` or ad-hoc snackbars |
|
|
14
|
+
| Forms | `FormField` + zod at submit boundary | Inline validation scattered in JSX |
|
|
15
|
+
|
|
16
|
+
Read `client-state-vybekiit.md` and `src/hooks/README.md` before adding hooks.
|
|
17
|
+
|
|
18
|
+
## Soft limits (agent + Biome warn)
|
|
19
|
+
|
|
20
|
+
| Rule | Target | Enforcement |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| Function body length | ~5 lines ideal; split if longer | Agent convention + Biome warn |
|
|
23
|
+
| Component props | ~5 max; use composition or a small options object | Agent convention |
|
|
24
|
+
| Folders | See `src/README.md` | Required |
|
|
25
|
+
|
|
26
|
+
## Forms
|
|
27
|
+
|
|
28
|
+
- Use `FormField` for labels, errors, and inputs.
|
|
29
|
+
- Validate with zod **once** at submit — not on every keystroke unless UX requires it.
|
|
30
|
+
- API routes validate again with zod at the boundary.
|
|
31
|
+
|
|
32
|
+
## Folders
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
app/ routes + API (Next.js App Router)
|
|
36
|
+
src/components/ui/ kit primitives — do not duplicate
|
|
37
|
+
src/components/ app-specific composed UI
|
|
38
|
+
src/hooks/ shared React hooks (see README)
|
|
39
|
+
src/lib/ headless clients + utils (see README)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Verify
|
|
43
|
+
|
|
44
|
+
- New screens use kit hooks · forms use `FormField` · no duplicate helpers in `src/lib/`
|
|
45
|
+
- `pnpm test` green after changes
|
package/dist/global-skills/vybekiitReferences/extension/platform-skills/responsive-vybekiit.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Platform wrapper: responsive layout (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Mobile-first web layout — the builder hears "looks good on phone and desktop," not breakpoints.
|
|
4
|
+
|
|
5
|
+
## Mobile-first
|
|
6
|
+
|
|
7
|
+
- Base styles = phone (narrow). Scale up with `sm:` / `md:` / `lg:`.
|
|
8
|
+
- Default page padding: `px-4 md:px-6`
|
|
9
|
+
- Max content width: `max-w-lg mx-auto` (forms/auth) or `max-w-6xl` (marketing/dashboard)
|
|
10
|
+
- Touch targets: kit `Button` sizes `default` or `lg` — never tiny custom tap areas
|
|
11
|
+
|
|
12
|
+
## RTL
|
|
13
|
+
|
|
14
|
+
Complements logical properties in `AGENTS.md` — use `ms-`/`me-`/`ps-`/`pe-`/`start-`/`end-`, not `left`/`right`.
|
|
15
|
+
|
|
16
|
+
## Before calling a page done
|
|
17
|
+
|
|
18
|
+
Preview at **375px** width in dev tools. Fix overflow, cramped buttons, and unreadable text before showing the builder.
|
|
19
|
+
|
|
20
|
+
## Also read
|
|
21
|
+
|
|
22
|
+
- `ui-consistency-vybekiit.md` — primitives and spacing tokens
|
|
23
|
+
- `shadcn-vybekiit.md` — layout blocks from the UI catalog
|
|
24
|
+
|
|
25
|
+
## Verify
|
|
26
|
+
|
|
27
|
+
Page usable at 375px and desktop without horizontal scroll on main content.
|