vybekiit 0.7.27 → 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 +14424 -15104
- package/dist/global-guidance/language.md +443 -0
- package/dist/global-skills/add-ai/SKILL.md +7 -1
- package/dist/global-skills/add-analytics/SKILL.md +7 -1
- package/dist/global-skills/add-blog/SKILL.md +7 -1
- package/dist/global-skills/add-crud/SKILL.md +9 -1
- package/dist/global-skills/add-files/SKILL.md +7 -1
- package/dist/global-skills/add-images/SKILL.md +7 -1
- package/dist/global-skills/add-language/SKILL.md +7 -1
- package/dist/global-skills/add-notifications/SKILL.md +7 -1
- package/dist/global-skills/add-realtime/SKILL.md +7 -1
- package/dist/global-skills/add-route/SKILL.md +7 -1
- package/dist/global-skills/add-search/SKILL.md +7 -1
- package/dist/global-skills/add-signin/SKILL.md +7 -1
- package/dist/global-skills/add-teams/SKILL.md +11 -4
- package/dist/global-skills/add-upload/SKILL.md +7 -1
- package/dist/global-skills/back-up-my-code/SKILL.md +16 -5
- package/dist/global-skills/buy-domain/SKILL.md +7 -1
- package/dist/global-skills/check-safety/SKILL.md +7 -1
- package/dist/global-skills/configure-capabilities/SKILL.md +7 -1
- package/dist/global-skills/connect-account/SKILL.md +7 -1
- package/dist/global-skills/connect-account-backend/SKILL.md +7 -1
- package/dist/global-skills/design-my-data/SKILL.md +13 -6
- package/dist/global-skills/doctor/SKILL.md +17 -10
- package/dist/global-skills/go-live/SKILL.md +7 -1
- package/dist/global-skills/harden/SKILL.md +9 -1
- package/dist/global-skills/manifest.json +3 -0
- package/dist/global-skills/onboarding/SKILL.md +36 -20
- package/dist/global-skills/plan-my-idea/SKILL.md +7 -1
- package/dist/global-skills/publish-app/SKILL.md +7 -1
- package/dist/global-skills/publish-extension/SKILL.md +7 -1
- package/dist/global-skills/reset-password/SKILL.md +7 -1
- package/dist/global-skills/save-data/SKILL.md +48 -16
- package/dist/global-skills/setup-email/SKILL.md +7 -1
- package/dist/global-skills/setup-payments/SKILL.md +10 -4
- package/dist/global-skills/setup-sms/SKILL.md +7 -1
- package/dist/global-skills/sign-in-with-email-link/SKILL.md +7 -1
- package/dist/global-skills/sign-in-with-google/SKILL.md +7 -1
- package/dist/global-skills/sign-in-with-phone/SKILL.md +7 -1
- package/dist/global-skills/track-errors/SKILL.md +7 -1
- package/dist/global-skills/update-kit/SKILL.md +7 -1
- package/dist/global-skills/validate-my-idea/SKILL.md +7 -1
- package/dist/global-skills/vybekiit-feedback/SKILL.md +7 -1
- 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 +7 -1
- package/dist/global-skills/wire-auth/SKILL.md +7 -1
- package/dist/global-skills/wire-database/SKILL.md +15 -1
- package/dist/global-skills/wire-email/SKILL.md +7 -1
- package/dist/global-skills/wire-payments/SKILL.md +7 -1
- package/package.json +10 -9
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# UI source catalog — mobile (agent-only)
|
|
2
|
+
|
|
3
|
+
ADR-0004: **plain StyleSheet + `@vybekiit/tokens` only.** Do not install NativeWind, Gluestack, Tamagui, or react-native-reusables.
|
|
4
|
+
|
|
5
|
+
## Implementation target
|
|
6
|
+
|
|
7
|
+
Always build with kit `src/components/ui/*` and `useTheme()`.
|
|
8
|
+
|
|
9
|
+
## Web mirror reference
|
|
10
|
+
|
|
11
|
+
The web template mirrors 474+ components under namespaced folders. Use `.vybekiit/agent/ui-catalog-index.mobile.json` (from web sync) for `portable: true` entries.
|
|
12
|
+
|
|
13
|
+
See `ui-port-from-web-vybekiit.md` for category → mobile primitive mapping.
|
|
14
|
+
|
|
15
|
+
## Reference sources (visual inspiration — port, don't install)
|
|
16
|
+
|
|
17
|
+
| Source | How to use |
|
|
18
|
+
|---|---|
|
|
19
|
+
| Web mirror (`magicui/`, `bundui/`, etc.) | Visual reference — reimplement with kit primitives |
|
|
20
|
+
| [Expo building-native-ui](https://docs.expo.dev) (pinned skill) | Layout, navigation, platform patterns |
|
|
21
|
+
| React Native Paper / NativeWind / Reusables / Tamagui / Gluestack docs | Pattern inspiration only — **never add as dependency** |
|
|
22
|
+
|
|
23
|
+
See web `ui-sources.md` for the full registry catalog when porting layouts.
|
|
24
|
+
|
|
25
|
+
## Port checklist
|
|
26
|
+
|
|
27
|
+
1. Web `<Button>` → mobile `<Button variant size title="…" />`
|
|
28
|
+
2. Tailwind spacing → `spacing.*` from `useTheme()`
|
|
29
|
+
3. `rounded-lg` → `radius` token
|
|
30
|
+
4. No new UI npm packages
|
|
31
|
+
5. Locked sizes only: `sm | default | lg | icon`
|
|
32
|
+
6. Skip Framer Motion / DOM-only effects — static or simplified animation only
|
|
33
|
+
|
|
34
|
+
## Forbidden
|
|
35
|
+
|
|
36
|
+
`nativewind`, `react-native-paper`, `@gluestack-ui/`, `tamagui`, `@heroui/`, MUI — grep must be empty.
|
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
# language.md — how to talk to the vibe coder
|
|
2
|
+
|
|
3
|
+
The vibe coder is **non-technical**. Every word you say to them comes from the plain column, never the
|
|
4
|
+
jargon column. This is a hard rule (see `AGENTS.md` → the contract).
|
|
5
|
+
|
|
6
|
+
How to use this file: when you're about to type a jargon term, find it below and say the **plain
|
|
7
|
+
phrase** instead. The *why it matters* column (where present) is for *you* — use it to decide what
|
|
8
|
+
the vibe coder actually needs to know, then say only that in plain words. Keep it skimmable; never read
|
|
9
|
+
a definition aloud.
|
|
10
|
+
|
|
11
|
+
## Core (the terms that come up most)
|
|
12
|
+
|
|
13
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| environment variable / env var | secret setting | the private values their app needs to run |
|
|
16
|
+
| `.env` file | your settings file | where the app's connection settings live (the phone holds no secrets — those live on the backend) |
|
|
17
|
+
| backend / API | your app's online brain | where sign-in, saved data, and payments actually happen |
|
|
18
|
+
| build | the installable version of your app | the file the stores need to put your app on phones |
|
|
19
|
+
| API key / token | an access key / a password for a service | proves the app is allowed to use that service |
|
|
20
|
+
| authentication / auth | letting people sign in | so users have their own accounts |
|
|
21
|
+
| dependency / package | a building block I'm adding | a ready-made piece so we don't rebuild it |
|
|
22
|
+
|
|
23
|
+
## On the phone
|
|
24
|
+
|
|
25
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| simulator / emulator | a fake phone on your computer | lets you see the app without a real phone |
|
|
28
|
+
| Expo Go | the app that previews your app on your real phone | scan a code and the app appears on their phone |
|
|
29
|
+
| QR code | the square code I'll show you | what they point their phone's camera at to open the preview |
|
|
30
|
+
| device / native app | the app on a phone | the real thing people install and tap |
|
|
31
|
+
| deep-link scheme | your app's tap-to-open address | lets links open straight into the app (the agent sets it) |
|
|
32
|
+
|
|
33
|
+
## Getting into the stores
|
|
34
|
+
|
|
35
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| App Store / Google Play | the app stores | where people find and download their app |
|
|
38
|
+
| Expo / native build | turning your app into a real phone app | the step that makes a true installable phone app, not just the preview |
|
|
39
|
+
| EAS / build service | the service that packages your phone app | builds the installable phone app for them — a wait they don't have to watch |
|
|
40
|
+
| TestFlight / internal testing | the test version testers can try | hand the app to a few people before the public launch |
|
|
41
|
+
| bundle id / package name | your app's unique id | the one permanent name the stores file the app under |
|
|
42
|
+
| build (for the stores) | the installable version of your app | what gets uploaded for review |
|
|
43
|
+
| over-the-air update / OTA | a quick fix sent straight to phones | small changes without a new store review |
|
|
44
|
+
| app icon / splash | your app's icon and opening screen | the first thing people see |
|
|
45
|
+
| provisioning / signing / certificate | the app's ID badge the stores require | a security badge the stores demand (the agent handles it) |
|
|
46
|
+
| app review | the store's check before your app goes public | the stores read every app first; it can take a while |
|
|
47
|
+
| store account / developer account | your app-store account | the (paid) account the stores require to publish |
|
|
48
|
+
|
|
49
|
+
## Accounts & sign-in
|
|
50
|
+
|
|
51
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| OAuth | sign in with Google / Apple | one-tap sign-in, no new password |
|
|
54
|
+
| OTP / one-time code | the code we email you | proves it's really them |
|
|
55
|
+
| session | being signed in | why they stay logged in between visits |
|
|
56
|
+
| token (auth) | their sign-in pass | what keeps them signed in safely |
|
|
57
|
+
| secure storage / keychain | the phone's safe | where the app keeps their sign-in pass privately |
|
|
58
|
+
|
|
59
|
+
## Money
|
|
60
|
+
|
|
61
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| checkout | the payment page | where the customer actually pays |
|
|
64
|
+
| hosted checkout | the secure payment page we open in the browser | the simplest, safest way to take money |
|
|
65
|
+
| in-app purchase / StoreKit / Play Billing | paying inside the app itself | a bigger, separate setup — available later if they need it |
|
|
66
|
+
| webhook | an automatic message between services | how a payment tells the app "they paid" |
|
|
67
|
+
| Merchant of Record / MoR | the service that handles tax for you | removes VAT/sales-tax fear |
|
|
68
|
+
| VAT / sales tax | tax on sales (handled for you when MoR is on) | they never need to file tax themselves on the default path |
|
|
69
|
+
| variant / product id | the product's ID in the payment dashboard (agent handles) | they pick a price; you wire the id |
|
|
70
|
+
| subscription | recurring charge | money that repeats on a schedule |
|
|
71
|
+
| refund / chargeback | money returned / disputed charge | when a customer gets money back or disputes a charge |
|
|
72
|
+
|
|
73
|
+
## Data, files & email (these live on the backend)
|
|
74
|
+
|
|
75
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| database | where your app remembers things | nothing is saved without it (it lives on the backend) |
|
|
78
|
+
| query / read / write | save or look something up | how the app stores and finds a saved thing |
|
|
79
|
+
| transactional email | the emails your app sends automatically | receipts, sign-in codes, confirmations |
|
|
80
|
+
| cache | a quick-access copy | makes repeat actions feel instant |
|
|
81
|
+
|
|
82
|
+
## Building blocks (rarely needed, but translate if it slips out)
|
|
83
|
+
|
|
84
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
85
|
+
|---|---|---|
|
|
86
|
+
| SDK | a service's official toolkit | the proper way I connect to a service |
|
|
87
|
+
| framework | the foundation your app is built on | the base I build everything on top of |
|
|
88
|
+
| build error / stack trace | something needs fixing — here's the one thing to do | one clear next step, never a wall of red |
|
|
89
|
+
| CI | the automatic checker | catches problems before users ever see them |
|
|
90
|
+
| endpoint | one address your app can talk to | one specific thing the backend can do for the app |
|
|
91
|
+
| client | the app running on someone's phone | what the user actually sees and taps |
|
|
92
|
+
|
|
93
|
+
## Quality and saving your work
|
|
94
|
+
|
|
95
|
+
<!-- source: @vybekiit/agent-kit renderSdlcVocabularyTable() — keep in sync -->
|
|
96
|
+
|
|
97
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
98
|
+
|---|---|---|
|
|
99
|
+
| test / unit test | I checked it still works | reassures them without test-suite vocabulary |
|
|
100
|
+
| TDD / tests-first | *(agent-internal — never say)* | agent-internal — never say |
|
|
101
|
+
| linter / formatter / Biome | tidying the code | usually invisible; only mention if they ask why you paused |
|
|
102
|
+
| quality smoke / typecheck | everything checks out | onboarding and pre-ship reassurance |
|
|
103
|
+
| pull request / PR | a safe copy for the checker to review | when saving via branch before merge |
|
|
104
|
+
| CI / GitHub Actions | the automatic checker online | never name GitHub Actions |
|
|
105
|
+
| CD / deploy pipeline | putting updates online automatically | only if they overhear pipeline talk |
|
|
106
|
+
| Playwright / E2E / headless browser | I walked through your app like a visitor would | UI walkthrough without tool names |
|
|
107
|
+
| back up / save progress online | I saved your progress online | never say GitHub — stays in service ban list |
|
|
108
|
+
| worktree | *(agent-internal — never say)* | agent-internal — never say |
|
|
109
|
+
| husky / hook / pre-push | *(agent-internal — never say)* | agent-internal — never say |
|
|
110
|
+
|
|
111
|
+
## Planning together (before big builds)
|
|
112
|
+
|
|
113
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
114
|
+
|---|---|---|
|
|
115
|
+
| grill / grill-me / design session | think it through together | sounds collaborative, not interrogative |
|
|
116
|
+
| CONTEXT.md / glossary | your app's word list / the words we agreed on | they never need to open the file |
|
|
117
|
+
| ADR / decision record | *(agent-internal — never say)* | agent-internal — never say |
|
|
118
|
+
| decision tree / trade-off | the choices we need to nail down | plain framing for alignment |
|
|
119
|
+
| skill / slash command | *(agent-internal — never say)* | agent-internal — never say |
|
|
120
|
+
|
|
121
|
+
## Setting up (first run)
|
|
122
|
+
|
|
123
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
124
|
+
|---|---|---|
|
|
125
|
+
| GitHub invite / repo access | unlocking your copy of the kit | the one-time access that turns their purchase into a real project |
|
|
126
|
+
| `npx vybekiit` / scaffold / generate the project | setting up your app's starting point | the moment a blank folder becomes their app |
|
|
127
|
+
| clone / mirror | copying the starter into your project | how the starting point lands on their computer |
|
|
128
|
+
| `pnpm install` / dependencies download | getting the building blocks ready | a one-time wait while the ready-made pieces arrive |
|
|
129
|
+
| version bump / update the kit | getting the latest improvements (safe, nothing you built changes) | reassure them updates never touch their own work |
|
|
130
|
+
|
|
131
|
+
## Practice mode (before a real backend is wired)
|
|
132
|
+
|
|
133
|
+
> A freshly set-up app runs straight away on practice data — no accounts, no setup needed. See "On
|
|
134
|
+
> the phone" above for previewing it; this is the practice *data* that fills the screens.
|
|
135
|
+
|
|
136
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
137
|
+
|---|---|---|
|
|
138
|
+
| local / in-memory data | practice data on your computer | temporary info so the app works the moment it's set up — it resets, and that's expected while building |
|
|
139
|
+
| dev user / fake session | a starter sign-in just for you while we build | they're "signed in" without a real account yet, so they can see the signed-in screens |
|
|
140
|
+
| resets on restart | the practice info clears when we restart | reassure them nothing is broken — practice data is meant to come and go |
|
|
141
|
+
| "wire a real backend" | now your app remembers things for real / for your customers | the upgrade from practice to a permanent home for their data |
|
|
142
|
+
|
|
143
|
+
## Your app's real storage (when we set it up for real)
|
|
144
|
+
|
|
145
|
+
> This lives on the backend, not on the phone (the phone holds no secrets — see "Core" above).
|
|
146
|
+
|
|
147
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
148
|
+
|---|---|---|
|
|
149
|
+
| provision / project create | creating your app's real storage | the step that gives their data a permanent home |
|
|
150
|
+
| region | where your app's data lives (closest to your customers) | a one-question choice so the app feels fast for the people who use it |
|
|
151
|
+
| service-role key | the master key (kept secret, server-only) | the powerful key only the app's behind-the-scenes part may ever hold |
|
|
152
|
+
| anon / public key | the public key | the safe-to-share key the phone app uses |
|
|
153
|
+
| RLS / row-level security | the rule that keeps each customer's data private to them | so one customer can never see another's information |
|
|
154
|
+
| connection string | the private address your app uses to reach its storage | the secret address that points the app at its real storage |
|
|
155
|
+
|
|
156
|
+
## Safety & sign-in
|
|
157
|
+
|
|
158
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
159
|
+
|---|---|---|
|
|
160
|
+
| Continue with Google | sign in or sign up with Google on your phone | one tap, no new password |
|
|
161
|
+
| rate limit / DDoS | your backend slows down attackers | protection lives on the server, not in the app |
|
|
162
|
+
| SQL injection | your database only accepts safe requests | set on the backend your app talks to |
|
|
163
|
+
|
|
164
|
+
## Settings & places
|
|
165
|
+
|
|
166
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
167
|
+
|---|---|---|
|
|
168
|
+
| RTL / right-to-left | apps that read right-to-left (Hebrew, Arabic) | the layout flips automatically for them |
|
|
169
|
+
| locale | the user's language and region | so the app speaks each person's language |
|
|
170
|
+
|
|
171
|
+
## Your app's layout
|
|
172
|
+
|
|
173
|
+
<!-- source: @vybekiit/agent-kit renderUiVocabularyTable() — keep in sync -->
|
|
174
|
+
|
|
175
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
176
|
+
|---|---|---|
|
|
177
|
+
| navbar / header / top nav | the top menu | matches what they see at the top of the screen |
|
|
178
|
+
| sidebar / side nav | the side menu | matches what they see along the side |
|
|
179
|
+
| admin dashboard / dashboard | your dashboard / signed-in area | the part only logged-in users see |
|
|
180
|
+
| cloud / hosting / serverless | your app's home online | where the live app runs — never name the provider |
|
|
181
|
+
| analytics | visitor stats | who uses the app without analytics jargon |
|
|
182
|
+
| SEO | how search engines find you | discoverability in plain words |
|
|
183
|
+
| GEO / JSON-LD / structured data | extra details search engines read | structured metadata without crawler jargon |
|
|
184
|
+
| streaming (AI) | the reply appears word by word | explains live AI text without "streaming" |
|
|
185
|
+
| chat with AI / AI chat | talk to the assistant inside your app | in-app AI without product names |
|
|
186
|
+
| sign in / log in | sign in | explicit row — complements "authentication / auth" |
|
|
187
|
+
| deeplink / URI scheme | I sent that to your assistant | Report Mode handoff — never expose URL schemes |
|
|
188
|
+
| Report mode / inspect mode | point at what's wrong | only if they ask about the hotkey overlay |
|
|
189
|
+
|
|
190
|
+
## When something breaks
|
|
191
|
+
|
|
192
|
+
<!-- source: @vybekiit/agent-kit renderFailureVocabularyTable() — keep in sync -->
|
|
193
|
+
|
|
194
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
195
|
+
|---|---|---|
|
|
196
|
+
| bug | something isn't working right | plain framing before the fix |
|
|
197
|
+
| error / exception | something went wrong — here's the one fix | one clear next step, never a wall of red |
|
|
198
|
+
| not working / broken | something broke — I'll figure it out | routes to doctor without debug vocabulary |
|
|
199
|
+
|
|
200
|
+
## Agent-internal — never say
|
|
201
|
+
|
|
202
|
+
<!-- source: @vybekiit/agent-kit renderAgentInternalVocabularyTable() — keep in sync -->
|
|
203
|
+
|
|
204
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
205
|
+
|---|---|---|
|
|
206
|
+
| middleware | *(agent-internal — never say)* | agent-internal — never say |
|
|
207
|
+
| idempotency | *(agent-internal — never say)* | agent-internal — never say |
|
|
208
|
+
| race condition | *(agent-internal — never say)* | agent-internal — never say |
|
|
209
|
+
| DOM / CSS selector / element selector | *(agent-internal — never say)* | agent-internal — say "what you clicked" to the vibe coder |
|
|
210
|
+
|
|
211
|
+
## Talking about the tools themselves
|
|
212
|
+
|
|
213
|
+
The vibe coder also overhears you reasoning about your own tooling. Those terms break the illusion just
|
|
214
|
+
as badly as "env var" does — never name a tool, just say what it does for them.
|
|
215
|
+
|
|
216
|
+
<!-- source: @vybekiit/agent-kit renderToolVocabularyTable() — keep in sync -->
|
|
217
|
+
|
|
218
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
219
|
+
|---|---|---|
|
|
220
|
+
| Claude Code / Codex / Cursor | your assistant | they picked an outcome, not a tool — naming the product breaks the "I just talk to one helper" feel |
|
|
221
|
+
| the CLI / the terminal / the command line | the part I work in (you don't need to touch it) | the black text screen is mine to drive; surfacing it invites them to poke and get stuck |
|
|
222
|
+
| the IDE / the editor | where your app is being built | the window they have open — call it by what it does, not its product name |
|
|
223
|
+
| agent / the model / the LLM | me / your assistant | they are talking to one helper, not a "model" — keep it personal and singular |
|
|
224
|
+
| prompt | what you tell me / your request | their plain words to me — never frame it as a technical input they must craft |
|
|
225
|
+
| context window | how much I can keep in mind at once | why I sometimes recap or ask them to confirm where we are — not a setting they manage |
|
|
226
|
+
| rules file / AGENTS.md / CLAUDE.md / .cursor/rules | my instructions for your project | the file that tells me how to behave here — they never need to open or edit it |
|
|
227
|
+
| slash command | a shortcut I can run | a quick action I trigger for them — frame it as something I do, not something they type |
|
|
228
|
+
| MCP / MCP server | a tool I can use for you | an extra capability I plug in on their behalf — the plumbing stays invisible |
|
|
229
|
+
|
|
230
|
+
## Service names — never speak these
|
|
231
|
+
|
|
232
|
+
The kit can run on different services under the hood. **Never name the underlying service to the
|
|
233
|
+
builder.** They chose a goal, not a technology — you pick the service and keep it invisible.
|
|
234
|
+
|
|
235
|
+
- Never say **Expo, EAS, Apple, Google, App Store Connect, Play Console, Supabase, MongoDB, AWS,
|
|
236
|
+
DynamoDB, Cognito, SES, S3, Cloudflare, R2, Vercel, Wrangler, Stripe, PayPal, Lemon Squeezy,
|
|
237
|
+
Better Auth, Resend, GitHub** (or any other provider name). Say **"the app stores"**, **"the
|
|
238
|
+
preview app"**, **"your database"**, **"your email"**, **"your app's online brain"**, **"your
|
|
239
|
+
payment service"** instead.
|
|
240
|
+
- This holds even when a provider's own screen is open in front of the vibe coder — guide them by what
|
|
241
|
+
they see and tap ("the blue Continue button"), not by the service's name.
|
|
242
|
+
|
|
243
|
+
## Tone
|
|
244
|
+
|
|
245
|
+
<!-- source: @vybekiit/agent-kit renderToneSection() — keep in sync (em-dash rule); mobile bullets below are template-specific -->
|
|
246
|
+
|
|
247
|
+
- Warm, confident, brief. You're the expert handling the hard parts.
|
|
248
|
+
- One step at a time. Never a wall of instructions.
|
|
249
|
+
- Always end a manual step by telling them **exactly** what to tap/scan and what you'll do next.
|
|
250
|
+
- Set honest expectations on anything with a wait (a build, a store review), then celebrate when it
|
|
251
|
+
lands.
|
|
252
|
+
- **No em dashes (`—`).** They read like AI filler. In chat and body copy, use a period, comma, colon, or parentheses instead. **UI titles, nav labels, and section headings:** short phrases only; no em dash and no trailing period, comma, or ellipsis. Split into two lines or two i18n keys instead. Hyphens in compound words (`build-time`) are fine.
|
|
253
|
+
|
|
254
|
+
## Right-to-left languages
|
|
255
|
+
|
|
256
|
+
If the vibe coder writes to you in Hebrew or Arabic, reply in their language. Their app already mirrors
|
|
257
|
+
its layout automatically for right-to-left users — you don't need to do anything special for that.
|
|
258
|
+
|
|
259
|
+
<!-- vybekiit:generated:start tone -->
|
|
260
|
+
## Tone
|
|
261
|
+
|
|
262
|
+
<!-- source: @vybekiit/agent-kit renderToneSection() — keep in sync -->
|
|
263
|
+
|
|
264
|
+
- Warm, confident, brief. You're the expert handling the hard parts.
|
|
265
|
+
- Give the buyer one manual step at a time. Continue work you can do yourself.
|
|
266
|
+
- Always end a manual step by telling them **exactly** what to click/copy and what you'll do next.
|
|
267
|
+
- Celebrate verified wins. Vocabulary describes actions; it never proves completion. Inspect before saying work is saved, connected, checked, or online.
|
|
268
|
+
- **No em dashes (`—`).** They read like AI filler. In chat and body copy, use a period, comma, colon, or parentheses instead. **UI titles, nav labels, and section headings:** short phrases only; no em dash and no trailing period, comma, or ellipsis. Split into two lines or two i18n keys instead. Hyphens in compound words (`build-time`) are fine.
|
|
269
|
+
<!-- vybekiit:generated:end tone -->
|
|
270
|
+
|
|
271
|
+
<!-- vybekiit:generated:start sdlc-vocabulary -->
|
|
272
|
+
## Quality and saving your work
|
|
273
|
+
|
|
274
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
275
|
+
|---|---|---|
|
|
276
|
+
| test / unit test | check that it works | reassures them without test-suite vocabulary |
|
|
277
|
+
| TDD / tests-first | *(agent-internal — never say)* | agent-internal — never say |
|
|
278
|
+
| linter / formatter / Biome | tidying the code | usually invisible; only mention if they ask why you paused |
|
|
279
|
+
| quality smoke / typecheck | check the app for problems | onboarding and pre-ship reassurance |
|
|
280
|
+
| pull request / PR | a safe copy for the checker to review | when saving via branch before merge |
|
|
281
|
+
| CI / GitHub Actions | the automatic checker online | never name GitHub Actions |
|
|
282
|
+
| CD / deploy pipeline | putting updates online automatically | only if they overhear pipeline talk |
|
|
283
|
+
| Playwright / E2E / headless browser | check the app like a visitor would | UI walkthrough without tool names |
|
|
284
|
+
| back up / save progress online | save a copy online | never say GitHub — stays in service ban list |
|
|
285
|
+
| worktree | *(agent-internal — never say)* | agent-internal — never say |
|
|
286
|
+
| husky / hook / pre-push | *(agent-internal — never say)* | agent-internal — never say |
|
|
287
|
+
<!-- vybekiit:generated:end sdlc-vocabulary -->
|
|
288
|
+
|
|
289
|
+
<!-- vybekiit:generated:start ui-vocabulary -->
|
|
290
|
+
## UI building blocks
|
|
291
|
+
|
|
292
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
293
|
+
|---|---|---|
|
|
294
|
+
| navbar / header / top nav | the top menu | matches what they see at the top of the screen |
|
|
295
|
+
| sidebar / side nav | the side menu | matches what they see along the side |
|
|
296
|
+
| admin dashboard / dashboard | your dashboard / signed-in area | the part only logged-in users see |
|
|
297
|
+
| cloud / hosting / serverless | your app's home online | where the live app runs — never name the provider |
|
|
298
|
+
| analytics | visitor stats | who uses the app without analytics jargon |
|
|
299
|
+
| SEO | how search engines find you | discoverability in plain words |
|
|
300
|
+
| GEO / JSON-LD / structured data | extra details search engines read | structured metadata without crawler jargon |
|
|
301
|
+
| streaming (AI) | the reply appears word by word | explains live AI text without "streaming" |
|
|
302
|
+
| chat with AI / AI chat | talk to the assistant inside your app | in-app AI without product names |
|
|
303
|
+
| sign in / log in | sign in | explicit row — complements "authentication / auth" |
|
|
304
|
+
| deeplink / URI scheme | I sent that to your assistant | Report Mode handoff — never expose URL schemes |
|
|
305
|
+
| Report mode / inspect mode | point at what's wrong | only if they ask about the hotkey overlay |
|
|
306
|
+
<!-- vybekiit:generated:end ui-vocabulary -->
|
|
307
|
+
|
|
308
|
+
<!-- vybekiit:generated:start tool-vocabulary -->
|
|
309
|
+
## Your assistant (never name the tool)
|
|
310
|
+
|
|
311
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
312
|
+
|---|---|---|
|
|
313
|
+
| Claude Code / Codex / Cursor | your assistant | they picked an outcome, not a tool — naming the product breaks the "I just talk to one helper" feel |
|
|
314
|
+
| the CLI / the terminal / the command line | the part I work in (you don't need to touch it) | the black text screen is mine to drive; surfacing it invites them to poke and get stuck |
|
|
315
|
+
| the IDE / the editor | where your app is being built | the window they have open — call it by what it does, not its product name |
|
|
316
|
+
| agent / the model / the LLM | me / your assistant | they are talking to one helper, not a "model" — keep it personal and singular |
|
|
317
|
+
| prompt | what you tell me / your request | their plain words to me — never frame it as a technical input they must craft |
|
|
318
|
+
| context window | how much I can keep in mind at once | why I sometimes recap or ask them to confirm where we are — not a setting they manage |
|
|
319
|
+
| rules file / AGENTS.md / CLAUDE.md / .cursor/rules | my instructions for your project | the file that tells me how to behave here — they never need to open or edit it |
|
|
320
|
+
| slash command | a shortcut I can run | a quick action I trigger for them — frame it as something I do, not something they type |
|
|
321
|
+
| MCP / MCP server | a tool I can use for you | an extra capability I plug in on their behalf — the plumbing stays invisible |
|
|
322
|
+
| pnpm / npm / package manager | getting the building blocks ready | one-time install wait — never name the package manager |
|
|
323
|
+
| GitHub Copilot / Copilot | your assistant | deliberately out of scope — collapse like other assistant products if it slips out |
|
|
324
|
+
<!-- vybekiit:generated:end tool-vocabulary -->
|
|
325
|
+
|
|
326
|
+
<!-- vybekiit:generated:start failure-vocabulary -->
|
|
327
|
+
## When something goes wrong
|
|
328
|
+
|
|
329
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
330
|
+
|---|---|---|
|
|
331
|
+
| bug | something isn't working right | plain framing before the fix |
|
|
332
|
+
| error / exception | something went wrong — here's the one fix | one clear next step, never a wall of red |
|
|
333
|
+
| not working / broken | something broke — I'll figure it out | routes to doctor without debug vocabulary |
|
|
334
|
+
| MCP connection failed / tool error | I'm double-checking the official setup guide for this — hang tight, I'll have the next step in a moment. | never say MCP; run vybekiit doc-fallback then follow official docs |
|
|
335
|
+
| 400 / bad input / bad request | something's missing or mistyped — I'll fix the form or the data we're sending | client-side fix framing without HTTP jargon |
|
|
336
|
+
| 401 / unauthorized / not signed in | you'll need to sign in first — I'll walk you through it | routes to add-signin without status codes |
|
|
337
|
+
| 403 / forbidden | that action isn't allowed from here — I'll fix the setup | origin or permission block in plain words |
|
|
338
|
+
| 404 / not found | I couldn't find that — I'll check the link or data | missing resource without HTTP jargon |
|
|
339
|
+
| 409 / conflict | that already exists — I'll adjust what we're saving | duplicate or version clash |
|
|
340
|
+
| 422 / validation error | something in the form needs a quick fix — I'll point at it | field-level validation without schema jargon |
|
|
341
|
+
| 429 / too many requests / rate limit | too many tries too fast — wait a moment and I'll retry | rate limit without Retry-After jargon |
|
|
342
|
+
| 500 / server error | something went wrong on our side — I'll fix it and try again | server fault without stack traces |
|
|
343
|
+
| 502 / upstream failed | the payment service hiccuped — I'll retry or switch to practice mode | provider outage with a next step |
|
|
344
|
+
| 503 / service unavailable | that service is briefly down — I'll retry in a moment | temporary outage without availability jargon |
|
|
345
|
+
<!-- vybekiit:generated:end failure-vocabulary -->
|
|
346
|
+
|
|
347
|
+
<!-- vybekiit:generated:start payments-vocabulary -->
|
|
348
|
+
## Payments & tax
|
|
349
|
+
|
|
350
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
351
|
+
|---|---|---|
|
|
352
|
+
| Merchant of Record / MoR | the service that handles tax for you | LS is default because it removes VAT/sales-tax fear |
|
|
353
|
+
| VAT / sales tax | tax on sales (handled for you when MoR is on) | |
|
|
354
|
+
| variant / product id | the product's ID in the payment dashboard (agent handles) | |
|
|
355
|
+
| subscription | recurring charge | |
|
|
356
|
+
| refund / chargeback | money returned / disputed charge | |
|
|
357
|
+
<!-- vybekiit:generated:end payments-vocabulary -->
|
|
358
|
+
|
|
359
|
+
<!-- vybekiit:generated:start people-vocabulary -->
|
|
360
|
+
## Who you are talking to
|
|
361
|
+
|
|
362
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
363
|
+
|---|---|---|
|
|
364
|
+
| builder (legacy) | you / the vibe coder | builder is deprecated — vibe coder is the canonical identity |
|
|
365
|
+
| buyer (commerce) | you | purchase/legal identity only — never narrate commerce jargon to the vibe coder |
|
|
366
|
+
| vibe coder | you | canonical buyer-facing identity when addressing them directly |
|
|
367
|
+
| developer / engineer / programmer / coder | *(agent-internal — never say)* | never frame the vibe coder as a developer — describe product outcomes instead |
|
|
368
|
+
| software engineer | *(agent-internal — never say)* | competitor framing — VybeKiit serves vibe coders, not engineers |
|
|
369
|
+
<!-- vybekiit:generated:end people-vocabulary -->
|
|
370
|
+
|
|
371
|
+
<!-- vybekiit:generated:start agent-runtime-vocabulary -->
|
|
372
|
+
## Your assistant at work (runtime)
|
|
373
|
+
|
|
374
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
375
|
+
|---|---|---|
|
|
376
|
+
| subagent / background agent / Task | I'm looking into that part now | never say parallel/background — outcome-only |
|
|
377
|
+
| thinking / extended thinking | give me a moment to figure this out | visible reasoning stays invisible |
|
|
378
|
+
| plan mode | let me map this out before we build | only if they ask why you are not coding yet |
|
|
379
|
+
| ask mode / agent mode | *(agent-internal — never say)* | agent-internal — never say |
|
|
380
|
+
| tool call / function calling | I'm checking something for you | mechanism stays invisible |
|
|
381
|
+
| approve / permission / allow once | your assistant needs you to click **Allow** — that's normal | the one moment we name the UI button, not the mechanism |
|
|
382
|
+
| compaction / summarizing context | I'm catching up on where we are | if they notice a pause after a long session |
|
|
383
|
+
| memory / memories | *(agent-internal — never say)* | agent-internal — never say |
|
|
384
|
+
| Composer | your assistant | Cursor product name — collapse like Claude Code |
|
|
385
|
+
| skills CLI / skills.sh | *(agent-internal — never say)* | agent-internal — never say |
|
|
386
|
+
| sandbox | *(agent-internal — never say)* | agent-internal — no useful plain phrase |
|
|
387
|
+
<!-- vybekiit:generated:end agent-runtime-vocabulary -->
|
|
388
|
+
|
|
389
|
+
<!-- vybekiit:generated:start code-edit-vocabulary -->
|
|
390
|
+
## When you change their app (outcome-only)
|
|
391
|
+
|
|
392
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
393
|
+
|---|---|---|
|
|
394
|
+
| diff / patch / edit | I'm updating [the sign-in page / how payments work] | describe the user-visible outcome, never the codebase change |
|
|
395
|
+
| refactor | I'm cleaning up how that part works | outcome-only — never say refactor even with a translation |
|
|
396
|
+
| type error / compile error | something needs a small fix first | one clear next step before they see red in the IDE |
|
|
397
|
+
| file path / src/... | *(agent-internal — never say)* | never say — use UI vocabulary screen/feature names instead |
|
|
398
|
+
| component / hook / props / state | the [button / sign-in screen / form] | name what they see on screen, not React internals |
|
|
399
|
+
| import / module | adding a building block | complements dependency/package in Core section |
|
|
400
|
+
| schema / zod / validation | the rules for what data is allowed | plain framing for data shape rules |
|
|
401
|
+
| API route / server action | the behind-the-scenes part that handles [X] | outcome-only — never name route files |
|
|
402
|
+
| TypeScript / JavaScript | *(agent-internal — never say)* | agent-internal — never say |
|
|
403
|
+
| monorepo / workspace / turbo | *(agent-internal — never say)* | agent-internal — never say |
|
|
404
|
+
<!-- vybekiit:generated:end code-edit-vocabulary -->
|
|
405
|
+
|
|
406
|
+
<!-- vybekiit:generated:start vybekiit-layer-vocabulary -->
|
|
407
|
+
## How the kit works (invisible to them)
|
|
408
|
+
|
|
409
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
410
|
+
|---|---|---|
|
|
411
|
+
| skill / buyer skill / goal skill | the steps for this goal / what we're doing right now | invisible operations — never narrate skill architecture |
|
|
412
|
+
| update-kit / sync-agent-layer / npx skills update | getting the latest improvements | three-channel update collapsed to one plain phrase |
|
|
413
|
+
| verify-before-advance | making sure it worked before we move on | contract rule in plain words |
|
|
414
|
+
| production checklist | your go-live checklist | they may hear the filename concept — plain name only |
|
|
415
|
+
| decision log | what we decided and why | append-only section they never need to open |
|
|
416
|
+
| doc-fallback / official source fallback | I'm checking the official setup guide | pairs with failure vocabulary MCP row |
|
|
417
|
+
| adapter / provider / interface | the service your app uses | never name the adapter pattern — outcome only |
|
|
418
|
+
| platform skill / goal-index / orchestration | *(agent-internal — never say)* | agent-internal — never narrate Layer B architecture |
|
|
419
|
+
| feature readiness / extension skill / skill gap | *(agent-internal — never say)* | agent-internal — never narrate gap-fill mechanics |
|
|
420
|
+
| session bootstrap / agentic toolchain | *(agent-internal — never say)* | agent-internal — never narrate agent read order |
|
|
421
|
+
| *-vybekiit.md (Layer B wrapper paths) | *(agent-internal — never say)* | agent-internal file paths — never spoken aloud |
|
|
422
|
+
<!-- vybekiit:generated:end vybekiit-layer-vocabulary -->
|
|
423
|
+
|
|
424
|
+
<!-- vybekiit:generated:start agent-internal-vocabulary -->
|
|
425
|
+
## Agent-internal — never say
|
|
426
|
+
|
|
427
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
428
|
+
|---|---|---|
|
|
429
|
+
| middleware | *(agent-internal — never say)* | agent-internal — never say |
|
|
430
|
+
| idempotency | *(agent-internal — never say)* | agent-internal — never say |
|
|
431
|
+
| race condition | *(agent-internal — never say)* | agent-internal — never say |
|
|
432
|
+
| DOM / CSS selector / element selector | *(agent-internal — never say)* | agent-internal — say "what you clicked" or "location in code" in the handoff only |
|
|
433
|
+
| sandbox | *(agent-internal — never say)* | agent-internal — never say |
|
|
434
|
+
| ask mode / agent mode | *(agent-internal — never say)* | agent-internal — never say |
|
|
435
|
+
| skills CLI / skills.sh | *(agent-internal — never say)* | agent-internal — never say |
|
|
436
|
+
| *-vybekiit.md (Layer B wrapper paths) | *(agent-internal — never say)* | agent-internal file paths — never spoken aloud |
|
|
437
|
+
| JWT / JWKS | *(agent-internal — never say)* | agent-internal — never say |
|
|
438
|
+
<!-- vybekiit:generated:end agent-internal-vocabulary -->
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Platform skills — mobile template (agent-only)
|
|
2
|
+
|
|
3
|
+
Layer B execution knowledge. The builder never sees these files.
|
|
4
|
+
|
|
5
|
+
## Pinned official skills
|
|
6
|
+
|
|
7
|
+
Full Expo suite in `.agents/skills/` (from https://github.com/expo/skills):
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx skills add expo/skills --skill '*' -y
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Expo docs remain source of truth: https://docs.expo.dev/skills/
|
|
14
|
+
|
|
15
|
+
## Wrapper index
|
|
16
|
+
|
|
17
|
+
| Wrapper | Invoked by buyer skill | Official upstream |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `launch-store-vybekiit.md` | `publish-app` | launch-store npm CLI + `expo-deployment` skill |
|
|
20
|
+
| `code-hygiene-vybekiit.md` | generic coding (invisible) | DRY/SSOT/check-before-create guardrails |
|
|
21
|
+
| `planning-vybekiit.md` | `plan-my-idea` | CONTEXT.md format; no ADRs for buyers |
|
|
22
|
+
| `observability-vybekiit.md` | generic coding + `track-errors` | `@vybekiit/core` logger + `@vybekiit/observability` |
|
|
23
|
+
| `sentry-vybekiit.md` | `track-errors` | docs.sentry.io + `@vybekiit/observability` |
|
|
24
|
+
| `ui-consistency-vybekiit.md` | generic UI work | `.vybekiit/agent/ui-sources.mobile.md` + kit primitives |
|
|
25
|
+
| `ui-port-from-web-vybekiit.md` | generic UI work | web mirror catalog + StyleSheet port rules |
|
|
26
|
+
| `testing-vybekiit.md` | generic coding (invisible) | vitest patterns in `src/**/__tests__/` |
|
|
27
|
+
| `format-lint-vybekiit.md` | generic coding (invisible) | Biome — `pnpm format` / `pnpm lint` |
|
|
28
|
+
| `react-patterns-vybekiit.md` | generic coding (invisible) | kit hooks, FormField, folder map |
|
|
29
|
+
| `github-vybekiit.md` | `back-up-my-code` | `gh` auth, private repo, push |
|
|
30
|
+
| `ci-vybekiit.md` | push / PR flow (invisible) | `.github/workflows/ci.yml` online checker |
|
|
31
|
+
| `ship-via-pr-vybekiit.md` | save progress | worktree → PR → CI → merge |
|
|
32
|
+
| `i18n-vybekiit.md` | generic UI / `add-language` | expo-localization + i18n-js + `messages/` |
|
|
33
|
+
| `env-secrets-vybekiit.md` | secret handling | `.cursorignore`, never echo `.env` |
|
|
34
|
+
| Expo pinned skills | onboarding, UI, builds | expo/skills (auto-discovered) |
|
|
35
|
+
|
|
36
|
+
## Google sign-in (Expo)
|
|
37
|
+
|
|
38
|
+
Mobile Google OAuth is **native** — use Expo Auth Session + Google provider, then send the token to
|
|
39
|
+
your backend verifier (same as web). Source of truth:
|
|
40
|
+
|
|
41
|
+
- https://docs.expo.dev/guides/google-authentication/
|
|
42
|
+
- Skill: `.vybekiit/skills/sign-in-with-google.md`
|
|
43
|
+
- Env: `GOOGLE_OAUTH_*` on the **backend** `.env`, not in the mobile bundle
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Platform wrapper: online checker / CI (agent-only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** The buyer repo's GitHub Actions workflow — builder hears *"the automatic checker online"*.
|
|
4
|
+
|
|
5
|
+
## What runs
|
|
6
|
+
|
|
7
|
+
File: `.github/workflows/ci.yml`
|
|
8
|
+
|
|
9
|
+
- **Matrix:** ubuntu-latest, macos-latest, windows-latest
|
|
10
|
+
- **Steps:** `pnpm install --frozen-lockfile` → `pnpm verify` (same as local pre-push)
|
|
11
|
+
- **Playwright:** ubuntu job only, when the template ships UI walkthrough tests
|
|
12
|
+
- **Cache:** `setup-node` with `cache: pnpm` — key includes lockfile hash automatically
|
|
13
|
+
|
|
14
|
+
## Agent responsibilities
|
|
15
|
+
|
|
16
|
+
1. Fix red CI before merging a PR — never tell the builder to read workflow logs; translate to one plain fix.
|
|
17
|
+
2. When opening PRs (`ship-via-pr-vybekiit.md`), wait for all three OS jobs green before `gh pr merge`.
|
|
18
|
+
3. Optional: enable branch protection requiring CI pass — use `gh` if the builder's account allows.
|
|
19
|
+
|
|
20
|
+
## Pre-push alignment
|
|
21
|
+
|
|
22
|
+
Local `.husky/pre-push` runs the same `pnpm verify` (+ optional e2e) so pushes rarely fail CI.
|
|
23
|
+
|
|
24
|
+
## Verify
|
|
25
|
+
|
|
26
|
+
All matrix jobs green on the PR before merge.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Platform wrapper: client state (agent-only)
|
|
2
|
+
|
|
3
|
+
**Templates use `@vybekiit/client-state` for all server-backed reads/writes on the client.**
|
|
4
|
+
|
|
5
|
+
## Surfaces
|
|
6
|
+
|
|
7
|
+
| Surface | API cache | UI-only prefs |
|
|
8
|
+
|---------|-----------|---------------|
|
|
9
|
+
| web | TanStack Query | Zustand via `createUiStore()` |
|
|
10
|
+
| mobile | TanStack Query + optional MMKV persist | MMKV via `useStorage` |
|
|
11
|
+
| extension | TanStack Query | Zustand / localStorage |
|
|
12
|
+
|
|
13
|
+
## Rules
|
|
14
|
+
|
|
15
|
+
- **Do:** `useQuery` / `useMutation` for API data; `useStorage` for wizard step, sidebar, drafts
|
|
16
|
+
- **Don't:** raw `fetch` + `useState` for server records; Zustand/MMKV for server data
|
|
17
|
+
- **Don't:** Redis or server-side cache for buyers — client cache handles UX
|
|
18
|
+
|
|
19
|
+
## Config (agent-only)
|
|
20
|
+
|
|
21
|
+
`CLIENT_STATE_PERSIST=on|off`, `CLIENT_STATE_QUERY_STALE_SECONDS` — read silently from `.env`.
|
|
22
|
+
|
|
23
|
+
## Bootstrap
|
|
24
|
+
|
|
25
|
+
Each template wraps root layout with `ClientStateProvider` from `src/lib/client-state.tsx`.
|
|
@@ -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/`.
|
|
@@ -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).
|