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,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,30 @@
|
|
|
1
|
+
# Platform wrapper: Lemon Squeezy (default payments)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by buyer skill `setup-payments`.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Docs: https://docs.lemonsqueezy.com
|
|
8
|
+
- **Freshness note:** `@lemonsqueezy/lemonsqueezy.js` npm publish is stale (Nov 2024) — no vendor skills.sh repo. Rely on `@vybekiit/payments` adapter + `browser-automation-vybekiit.md`; check https://docs.lemonsqueezy.com/help/changelog before API changes.
|
|
9
|
+
|
|
10
|
+
## Kit wiring
|
|
11
|
+
|
|
12
|
+
1. Payments via `@vybekiit/payments` → `resolvePaymentProvider()` (LS when `PAYMENTS_PROVIDER` default)
|
|
13
|
+
2. Dashboard provisioning via `@vybekiit/browser-automation` **`ls` target** (codename fresh-squeezy):
|
|
14
|
+
- `vybekiit-automate ls standby` — builder signs in only (`$HOME/.ls-chrome-profile`)
|
|
15
|
+
- `vybekiit-automate ls setup --json --name … --price-cents … --mode test|live --webhook-url …`
|
|
16
|
+
3. Write CLI JSON to `.env`: `LEMONSQUEEZY_API_KEY`, `LEMONSQUEEZY_STORE_ID`, variant ID, webhook secret
|
|
17
|
+
4. Webhook route at `app/api/webhook/route.ts`; fulfillment in `src/lib/fulfillment.ts`
|
|
18
|
+
5. Replace `TODO(vybekiit): … — skill: setup-payments` markers
|
|
19
|
+
|
|
20
|
+
See also `platform-skills/browser-automation-vybekiit.md` for CLI modes (`--json` vs wizard).
|
|
21
|
+
|
|
22
|
+
## Verify-before-advance
|
|
23
|
+
|
|
24
|
+
- Test checkout opens; webhook receives event (test mode OK)
|
|
25
|
+
- Order recorded in database; builder sees success in app
|
|
26
|
+
|
|
27
|
+
## Selector registry
|
|
28
|
+
|
|
29
|
+
LS DOM selectors live in `@vybekiit/browser-automation` `targets/lemon-squeezy/selectors/`. If setup throws
|
|
30
|
+
`SelectorMissingError`, update registry from a recorded session (maintainer pass).
|
|
@@ -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.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Platform wrapper: MongoDB Atlas (agent/maintainer only)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Not invoked by buyer `save-data`. Use when `.env` already has `DATA_PROVIDER=mongodb`.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Docs: https://www.mongodb.com/docs/
|
|
8
|
+
- Node driver: https://www.mongodb.com/docs/drivers/node/current/
|
|
9
|
+
- Agent skills: https://www.mongodb.com/docs/agent-skills/
|
|
10
|
+
- Skills repo: https://github.com/mongodb/agent-skills
|
|
11
|
+
- MCP overview: https://www.mongodb.com/docs/mcp-server/overview/
|
|
12
|
+
- MCP get started: https://www.mongodb.com/docs/mcp-server/get-started/
|
|
13
|
+
|
|
14
|
+
## Kit wiring
|
|
15
|
+
|
|
16
|
+
1. Set `DATA_PROVIDER=mongodb`, `MONGODB_URI` (Atlas SRV connection string), and `MONGODB_DB` (database name)
|
|
17
|
+
2. Data access via `@vybekiit/db` → `resolveDataProvider()` — never direct driver calls in UI
|
|
18
|
+
3. Auth: `better-auth` may use Mongo adapter when configured — see `better-auth-vybekiit.md`
|
|
19
|
+
4. Atlas CLI installed by `vybekiit doctor` when `DATA_PROVIDER=mongodb`
|
|
20
|
+
|
|
21
|
+
## MCP
|
|
22
|
+
|
|
23
|
+
Merge `.vybekiit/agent/mcp-mongodb.json` into buyer `.cursor/mcp.json` (see `agent/mcp-setup.md`).
|
|
24
|
+
|
|
25
|
+
1. Copy `MONGODB_URI` from `.env` into `MDB_MCP_CONNECTION_STRING`
|
|
26
|
+
2. Keep `MDB_MCP_READ_ONLY=true` unless a maintainer explicitly needs write tools
|
|
27
|
+
3. Fallback: `npx mongodb-mcp-server@latest setup` — see official get-started guide
|
|
28
|
+
|
|
29
|
+
If MCP fails once, run `vybekiit doc-fallback mongodb`.
|
|
30
|
+
|
|
31
|
+
## Verify-before-advance
|
|
32
|
+
|
|
33
|
+
- `pingDatabase()` from `@vybekiit/db` succeeds
|
|
34
|
+
- MCP lists collections on the dev cluster (read-only)
|
|
35
|
+
- Never connect MCP to production buyer data without read-only mode
|
|
36
|
+
|
|
37
|
+
## Never say to builder
|
|
38
|
+
|
|
39
|
+
MongoDB, NoSQL, collection, document, BSON, Atlas (use plain language from `language.md`)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Platform wrapper: Neon (serverless Postgres)
|
|
2
|
+
|
|
3
|
+
> Agent-only: follow the Persistent features sequence in `.vybekiit/agent/session-bootstrap.md`. Reuse the relevant catalog presets before adding app-owned extensions, and record structural and behavioral evidence separately.
|
|
4
|
+
|
|
5
|
+
**Agent-only.** Invoked by buyer skills `save-data`, `doctor`, and prerequisites for `add-signin`.
|
|
6
|
+
|
|
7
|
+
## Official upstream
|
|
8
|
+
|
|
9
|
+
- Docs index: https://neon.com/docs/llms.txt
|
|
10
|
+
- Quick setup: `npx neonctl@latest init` (maintainer OAuth — not buyer-facing)
|
|
11
|
+
- Agent skills: https://github.com/neondatabase/agent-skills
|
|
12
|
+
|
|
13
|
+
## Kit wiring
|
|
14
|
+
|
|
15
|
+
1. Set `DATA_PROVIDER=neon` and `DATABASE_URL` (Neon pooled connection string)
|
|
16
|
+
2. Data access via `@vybekiit/db` → `resolveDataProvider()` — never direct SQL in UI
|
|
17
|
+
3. Auth: `better-auth` uses the same `DATABASE_URL` Postgres binding
|
|
18
|
+
4. Migrations via Neon branching in dev only (never production MCP)
|
|
19
|
+
|
|
20
|
+
## MCP
|
|
21
|
+
|
|
22
|
+
Merge `.vybekiit/agent/mcp-neon.json` into buyer `.cursor/mcp.json`. Maintainer adds `Authorization: Bearer $NEON_API_KEY` or uses OAuth via `neonctl init`.
|
|
23
|
+
|
|
24
|
+
Fallback for clients without Streamable HTTP:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx -y @neondatabase/mcp-server-neon start $NEON_API_KEY
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Verify-before-advance
|
|
31
|
+
|
|
32
|
+
- `pingNeonDatabase(DATABASE_URL)` or doctor `pingDatabase()` green
|
|
33
|
+
- Neon MCP is **dev/IDE only** — never connect agents to production databases
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Platform wrapper: Next.js (web template)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by generic coding and layout work — not a buyer goal skill.
|
|
4
|
+
|
|
5
|
+
## Official upstream (prefer over training data)
|
|
6
|
+
|
|
7
|
+
- Pinned: `.agents/skills/vercel-react-best-practices`, `vercel-composition-patterns`
|
|
8
|
+
- Docs: https://nextjs.org/docs (App Router, Server Components, Route Handlers)
|
|
9
|
+
|
|
10
|
+
## Kit conventions
|
|
11
|
+
|
|
12
|
+
- App Router under `app/`; API routes under `app/api/`
|
|
13
|
+
- Use logical spacing (`ms-`, `me-`, `ps-`, `pe-`) for RTL — see `language.md`
|
|
14
|
+
- UI primitives live in `src/components` (shadcn) — use `shadcn-vybekiit.md` and `ui-consistency-vybekiit.md`
|
|
15
|
+
- Business logic stays in `@vybekiit/*` packages, not reinvented in routes
|
|
16
|
+
- Logging: `@/lib/logger` · errors: `@/lib/observability` · hygiene: `code-hygiene-vybekiit.md`
|
|
17
|
+
|
|
18
|
+
## Verify-before-advance
|
|
19
|
+
|
|
20
|
+
After structural changes: `pnpm test` + `pnpm build` green before telling the builder it works.
|
|
@@ -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,25 @@
|
|
|
1
|
+
# Platform wrapper: PayPal (opt-in payments)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by buyer skill `setup-payments` when `PAYMENTS_PROVIDER=paypal`.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Docs: https://developer.paypal.com/docs
|
|
8
|
+
- PayPal MCP: https://docs.paypal.ai/developer/tools/ai/mcp-quickstart
|
|
9
|
+
|
|
10
|
+
## Kit wiring
|
|
11
|
+
|
|
12
|
+
1. Merge `agent/mcp-paypal.json` into buyer MCP config — see `agent/mcp-setup.md` (Cursor, Claude Desktop, Codex)
|
|
13
|
+
2. Builder completes PayPal OAuth once when MCP prompts (sandbox endpoint by default)
|
|
14
|
+
3. Agent provisions products/invoices via PayPal MCP write tools as needed
|
|
15
|
+
4. Payments via `@vybekiit/payments` → `resolvePaymentProvider()` when `PAYMENTS_PROVIDER=paypal`
|
|
16
|
+
5. Set `PAYPAL_CLIENT_ID`, `PAYPAL_CLIENT_SECRET`, and webhook id in `.env`
|
|
17
|
+
6. Webhook route at `app/api/webhook/route.ts`; fulfillment in `src/lib/fulfillment.ts`
|
|
18
|
+
7. Replace `TODO(vybekiit): … — skill: setup-payments` markers
|
|
19
|
+
8. Switch MCP URL to production (`https://mcp.paypal.com/http`) only after sandbox checkout verified
|
|
20
|
+
|
|
21
|
+
## Verify-before-advance
|
|
22
|
+
|
|
23
|
+
- MCP connected; sandbox tool call succeeds
|
|
24
|
+
- Test checkout completes in sandbox; webhook fires
|
|
25
|
+
- Order recorded; builder sees success in app
|
|
@@ -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.
|
|
@@ -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/web/platform-skills/railway-postgres-vybekiit.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Platform wrapper: Railway Postgres (coupled stack data)
|
|
2
|
+
|
|
3
|
+
> Agent-only: follow the Persistent features sequence in `.vybekiit/agent/session-bootstrap.md`. Reuse the relevant catalog presets before adding app-owned extensions, and record structural and behavioral evidence separately.
|
|
4
|
+
|
|
5
|
+
**Agent-only.** Invoked by buyer skills `save-data`, `doctor`, and prerequisites for `add-signin` when `DATA_PROVIDER=railway`.
|
|
6
|
+
|
|
7
|
+
## Official upstream
|
|
8
|
+
|
|
9
|
+
- Docs: https://docs.railway.com/databases/postgresql
|
|
10
|
+
- Agent skill: `use-railway` in `.agents/skills/`
|
|
11
|
+
- MCP: `mcp-railway-local.json` (variables, provisioning) or `mcp-railway-remote.json` (OAuth)
|
|
12
|
+
|
|
13
|
+
## Kit wiring
|
|
14
|
+
|
|
15
|
+
1. Set `DATA_PROVIDER=railway` with `HOSTING_PROVIDER=railway` (coupled stack — same Railway project)
|
|
16
|
+
2. Provision Postgres plugin in the linked Railway project via MCP or CLI
|
|
17
|
+
3. Pull `DATABASE_URL` from Railway variables into `.env`
|
|
18
|
+
4. Data access via `@vybekiit/db` → `resolveDataProvider()` — never direct SQL in UI
|
|
19
|
+
5. Auth: `better-auth` uses the same `DATABASE_URL` Postgres binding
|
|
20
|
+
|
|
21
|
+
## Verify-before-advance
|
|
22
|
+
|
|
23
|
+
- `pingRailwayDatabase(DATABASE_URL)` or doctor `pingDatabase()` green
|
|
24
|
+
- Railway MCP connected for variable reads in dev/IDE only
|
|
@@ -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
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Platform wrapper: registrar credential setup
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Browser automation for Namecheap and GoDaddy API key onboarding when the builder's domain is at that registrar and nameserver automation is desired.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
During `buy-domain`, if Namecheap or GoDaddy secret settings are missing and the builder registered their domain there, run credential setup before Cloudflare nameserver delegation.
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
Chrome with CDP on port 9222 and the target profile (see `browser-automation-vybekiit.md`).
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Namecheap — Profile → Tools → API Access
|
|
15
|
+
vybekiit-automate nc standby --json
|
|
16
|
+
vybekiit-automate nc setup --json
|
|
17
|
+
vybekiit-automate nc setup --json --sandbox # sandbox API
|
|
18
|
+
|
|
19
|
+
# GoDaddy — developer.godaddy.com/keys (OTE by default)
|
|
20
|
+
vybekiit-automate gd standby --json
|
|
21
|
+
vybekiit-automate gd setup --json
|
|
22
|
+
vybekiit-automate gd setup --json --production
|
|
23
|
+
vybekiit-automate gd setup --json --name=vybekiit
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
On success, write the returned `env` keys to `.env`, then run `vybekiit doctor` to confirm.
|
|
27
|
+
|
|
28
|
+
## Rules
|
|
29
|
+
|
|
30
|
+
- Builder **signs in only**; agent runs setup and verification.
|
|
31
|
+
- Never say "Namecheap API", "GoDaddy Developer", or "whitelist IP" to the builder — use plain language from `language.md`.
|
|
32
|
+
- Nameserver updates use `@vybekiit/deploy` REST after credentials exist — not browser automation.
|
|
33
|
+
|
|
34
|
+
## Package
|
|
35
|
+
|
|
36
|
+
`@vybekiit/browser-automation` — ADR-0021.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Platform wrapper: Resend (opt-in email)
|
|
2
|
+
|
|
3
|
+
**Agent-only.** Invoked by buyer skill `setup-email` when `EMAIL_PROVIDER=resend`.
|
|
4
|
+
|
|
5
|
+
## Official upstream
|
|
6
|
+
|
|
7
|
+
- Docs: https://resend.com/docs
|
|
8
|
+
- Pinned skills: `.agents/skills/resend/SKILL.md`, `.agents/skills/email-best-practices/SKILL.md`
|
|
9
|
+
|
|
10
|
+
## Kit wiring
|
|
11
|
+
|
|
12
|
+
1. Email via `@vybekiit/email` → `resolveEmailProvider()` when `EMAIL_PROVIDER=resend`
|
|
13
|
+
2. Set `RESEND_API_KEY` and verified sender in `.env`
|
|
14
|
+
3. Wire sending through the provider interface; hook into sign-in codes, welcome, receipts as needed
|
|
15
|
+
4. Replace any `TODO(vybekiit): … — skill: setup-email` markers
|
|
16
|
+
|
|
17
|
+
## Verify-before-advance
|
|
18
|
+
|
|
19
|
+
- Send test email to builder; confirm arrival (check spam)
|
|
20
|
+
- Connected flow sends in the skill's target moment
|
|
@@ -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.
|