vybekiit 0.7.27 → 0.7.28
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 +31 -11
- package/dist/global-guidance/language.md +443 -0
- package/dist/global-skills/add-ai/SKILL.md +1 -1
- package/dist/global-skills/add-analytics/SKILL.md +1 -1
- package/dist/global-skills/add-blog/SKILL.md +1 -1
- package/dist/global-skills/add-crud/SKILL.md +1 -1
- package/dist/global-skills/add-files/SKILL.md +1 -1
- package/dist/global-skills/add-images/SKILL.md +1 -1
- package/dist/global-skills/add-language/SKILL.md +1 -1
- package/dist/global-skills/add-notifications/SKILL.md +1 -1
- package/dist/global-skills/add-realtime/SKILL.md +1 -1
- package/dist/global-skills/add-route/SKILL.md +1 -1
- package/dist/global-skills/add-search/SKILL.md +1 -1
- package/dist/global-skills/add-signin/SKILL.md +1 -1
- package/dist/global-skills/add-teams/SKILL.md +1 -1
- package/dist/global-skills/add-upload/SKILL.md +1 -1
- package/dist/global-skills/back-up-my-code/SKILL.md +1 -1
- package/dist/global-skills/buy-domain/SKILL.md +1 -1
- package/dist/global-skills/check-safety/SKILL.md +1 -1
- package/dist/global-skills/configure-capabilities/SKILL.md +1 -1
- package/dist/global-skills/connect-account/SKILL.md +1 -1
- package/dist/global-skills/connect-account-backend/SKILL.md +1 -1
- package/dist/global-skills/design-my-data/SKILL.md +1 -1
- package/dist/global-skills/doctor/SKILL.md +1 -1
- package/dist/global-skills/go-live/SKILL.md +1 -1
- package/dist/global-skills/harden/SKILL.md +1 -1
- package/dist/global-skills/onboarding/SKILL.md +9 -9
- package/dist/global-skills/plan-my-idea/SKILL.md +1 -1
- package/dist/global-skills/publish-app/SKILL.md +1 -1
- package/dist/global-skills/publish-extension/SKILL.md +1 -1
- package/dist/global-skills/reset-password/SKILL.md +1 -1
- package/dist/global-skills/save-data/SKILL.md +1 -1
- package/dist/global-skills/setup-email/SKILL.md +1 -1
- package/dist/global-skills/setup-payments/SKILL.md +1 -1
- package/dist/global-skills/setup-sms/SKILL.md +1 -1
- package/dist/global-skills/sign-in-with-email-link/SKILL.md +1 -1
- package/dist/global-skills/sign-in-with-google/SKILL.md +1 -1
- package/dist/global-skills/sign-in-with-phone/SKILL.md +1 -1
- package/dist/global-skills/track-errors/SKILL.md +1 -1
- package/dist/global-skills/update-kit/SKILL.md +1 -1
- package/dist/global-skills/validate-my-idea/SKILL.md +1 -1
- package/dist/global-skills/vybekiit-feedback/SKILL.md +1 -1
- package/dist/global-skills/watch-my-app/SKILL.md +1 -1
- package/dist/global-skills/wire-auth/SKILL.md +1 -1
- package/dist/global-skills/wire-database/SKILL.md +1 -1
- package/dist/global-skills/wire-email/SKILL.md +1 -1
- package/dist/global-skills/wire-payments/SKILL.md +1 -1
- package/package.json +8 -8
package/dist/bin.js
CHANGED
|
@@ -6147,10 +6147,16 @@ var BACKEND_CLI_COMMANDS = {
|
|
|
6147
6147
|
// ../packages/agentKit/src/catalogs/buyerGuidance.ts
|
|
6148
6148
|
var BUYER_GUIDANCE = `# Build with VybeKiit
|
|
6149
6149
|
|
|
6150
|
-
|
|
6151
|
-
|
|
6150
|
+
You are building with a vibe coder: someone who describes the product in plain words and never
|
|
6151
|
+
reads diffs or runs git or hosting commands. Address them as "you". For app-building tasks, use
|
|
6152
|
+
the relevant VybeKiit skill before implementing. Inspect the current project and respect its
|
|
6153
|
+
instructions and the vibe coder's explicit choices.
|
|
6152
6154
|
|
|
6153
|
-
|
|
6155
|
+
Speak in plain words. Before you say a technical term to the vibe coder, look it up in the
|
|
6156
|
+
project's language.md, or in ~/.vybekiit/language.md when the project has none, and say the
|
|
6157
|
+
plain phrase instead. When a skill says language.md, it means that same file.
|
|
6158
|
+
|
|
6159
|
+
1. Understand the goal in the vibe coder's words. Ask only for missing product decisions.
|
|
6154
6160
|
2. Discover the matching goal skill through VybeKiit's search_skills and get_skill tools,
|
|
6155
6161
|
or read the installed skill and the project's goal-index.md when tools are unavailable.
|
|
6156
6162
|
3. Inspect existing kit capabilities before creating UI, schemas, migrations, server routes,
|
|
@@ -6159,20 +6165,20 @@ current project and respect its instructions and the builder's explicit choices.
|
|
|
6159
6165
|
4. In a kit project, follow its CODE-STYLE.md, settings contracts, maintained package boundaries,
|
|
6160
6166
|
and existing patterns. Customize buyer-owned screens and flows. Do not copy maintained logic
|
|
6161
6167
|
into the app or create duplicate wrappers. In another project, preserve its architecture.
|
|
6162
|
-
5. Explain the chosen ready pieces briefly in plain
|
|
6168
|
+
5. Explain the chosen ready pieces briefly in plain words, then do the work. Give only one
|
|
6163
6169
|
manual action at a time and verify it before advancing. Verify changed behavior with tests
|
|
6164
6170
|
and a real preview. Never present practice payments or local data as connected services.
|
|
6165
6171
|
6. When the kit cannot meet the goal, describe the concrete gap, implement the smallest
|
|
6166
6172
|
appropriate extension, and offer kit feedback. Do not invent ready features or providers.
|
|
6167
6173
|
7. Use /vybekiit-feedback for kit feedback. Check vybekiit feedback status first. Automatic
|
|
6168
|
-
reports require the
|
|
6174
|
+
reports require the vibe coder's saved opt-in; explicit requests authorize that report only.
|
|
6169
6175
|
Send only the feedback skill's sanitized fields, never code or conversation transcripts.
|
|
6170
6176
|
8. Keep checklist.md progress current in kit projects. Claim completion only for behavior
|
|
6171
|
-
verified in the environment the
|
|
6177
|
+
verified in the environment the vibe coder asked for.
|
|
6172
6178
|
|
|
6173
6179
|
For a new app, use the onboarding skill and the existing kit scaffold. For an existing app,
|
|
6174
6180
|
inspect before changing it. These are defaults for relevant building work, not instructions
|
|
6175
|
-
to replace the
|
|
6181
|
+
to replace the vibe coder's unrelated projects or override their choices.
|
|
6176
6182
|
`;
|
|
6177
6183
|
|
|
6178
6184
|
// ../packages/agentKit/src/catalogs/goalCatalog.ts
|
|
@@ -7610,7 +7616,7 @@ var sanitizeDescriptionLine = (text3) => text3.replace(WHITESPACE_PATTERN, " ").
|
|
|
7610
7616
|
var renderBuyerSkillDescription = (skillStem, goalText, template) => {
|
|
7611
7617
|
const goal = sanitizeDescriptionLine(goalText.replace(TRAILING_PERIOD_PATTERN, ""));
|
|
7612
7618
|
const phrases = lookupBuyerSkillTriggerPhrases(skillStem, template);
|
|
7613
|
-
const when = phrases.length > 0 ? ` Use when the
|
|
7619
|
+
const when = phrases.length > 0 ? ` Use when the vibe coder says something like: ${phrases.slice(0, 6).join("; ")}.` : "";
|
|
7614
7620
|
const description = `${goal}.${when}`;
|
|
7615
7621
|
return description.length <= MAX_DESCRIPTION ? description : `${description.slice(0, MAX_DESCRIPTION - 1)}\u2026`;
|
|
7616
7622
|
};
|
|
@@ -31392,7 +31398,8 @@ var globalInstallPaths = (configDir = claudeConfigDir()) => ({
|
|
|
31392
31398
|
settingsFile: join50(configDir, "settings.json"),
|
|
31393
31399
|
// At runtime this module is inlined into dist/bin.js, so MODULE_DIR is <install>/dist
|
|
31394
31400
|
// and the payload sits beside it at dist/global-skills.
|
|
31395
|
-
bundledSkillsDir: join50(MODULE_DIR, "global-skills")
|
|
31401
|
+
bundledSkillsDir: join50(MODULE_DIR, "global-skills"),
|
|
31402
|
+
bundledLanguageGuide: join50(MODULE_DIR, "global-guidance", "language.md")
|
|
31396
31403
|
});
|
|
31397
31404
|
|
|
31398
31405
|
// src/global/globalStatus.ts
|
|
@@ -33120,7 +33127,9 @@ var AgentInstallationSettings = Schema20.Struct({
|
|
|
33120
33127
|
homeDirectory: Schema20.NonEmptyString,
|
|
33121
33128
|
claudeDirectory: Schema20.NonEmptyString,
|
|
33122
33129
|
codexDirectory: Schema20.NonEmptyString,
|
|
33123
|
-
executablePath: Schema20.String
|
|
33130
|
+
executablePath: Schema20.String,
|
|
33131
|
+
/** The plain-language guide bundled with the CLI (the web template's language.md). */
|
|
33132
|
+
plainLanguageGuide: Schema20.NonEmptyString
|
|
33124
33133
|
});
|
|
33125
33134
|
var AgentInstallationError = class extends Data13.TaggedError("AgentInstallationError") {
|
|
33126
33135
|
};
|
|
@@ -33203,12 +33212,21 @@ var installAgentGuidance = (settings, agents, canonicalSkills, managedSkills, ve
|
|
|
33203
33212
|
})
|
|
33204
33213
|
)
|
|
33205
33214
|
);
|
|
33215
|
+
const plainLanguageGuide = yield* Effect39.tryPromise({
|
|
33216
|
+
try: () => readFile31(settings.plainLanguageGuide, "utf8"),
|
|
33217
|
+
catch: (cause) => new AgentInstallationError({
|
|
33218
|
+
message: "The plain-language guide is missing. No instructions were changed.",
|
|
33219
|
+
cause
|
|
33220
|
+
})
|
|
33221
|
+
});
|
|
33206
33222
|
const guidanceDirectory = join61(settings.homeDirectory, ".vybekiit");
|
|
33207
33223
|
const guidancePath = join61(guidanceDirectory, "agent-guidance.md");
|
|
33224
|
+
const languagePath = join61(guidanceDirectory, "language.md");
|
|
33208
33225
|
yield* Effect39.tryPromise({
|
|
33209
33226
|
try: async () => {
|
|
33210
33227
|
await mkdir18(guidanceDirectory, { recursive: true });
|
|
33211
33228
|
await writeFile22(guidancePath, BUYER_GUIDANCE, "utf8");
|
|
33229
|
+
await writeFile22(languagePath, plainLanguageGuide, "utf8");
|
|
33212
33230
|
},
|
|
33213
33231
|
catch: (cause) => new AgentInstallationError({ message: "Could not install the building guidance.", cause })
|
|
33214
33232
|
});
|
|
@@ -33230,6 +33248,7 @@ var installAgentGuidance = (settings, agents, canonicalSkills, managedSkills, ve
|
|
|
33230
33248
|
const guidancePointer = agent.agent === "claude" ? "@~/.vybekiit/agent-guidance.md" : `For app-building tasks, read ${JSON.stringify(guidancePath)} before choosing an approach.`;
|
|
33231
33249
|
const instruction = `${guidancePointer}
|
|
33232
33250
|
Use its matching VybeKiit skills and reuse the kit's UI, schemas, server and client code.
|
|
33251
|
+
Speak to the vibe coder in plain words: translate every technical term with the project's language.md, or ${JSON.stringify(languagePath)} when the project has none.
|
|
33233
33252
|
Skills: ${JSON.stringify(agent.skills)}. Installed instructions require a fresh agent session.`;
|
|
33234
33253
|
const nextInstruction = updateAgentInstruction(previousInstruction, instruction);
|
|
33235
33254
|
await mkdir18(dirname21(instructionPath), { recursive: true });
|
|
@@ -33761,7 +33780,8 @@ var runGlobalInstall = async (args, gate = checkEntitlement) => {
|
|
|
33761
33780
|
homeDirectory: homedir9(),
|
|
33762
33781
|
claudeDirectory: paths.configDir,
|
|
33763
33782
|
codexDirectory: process30.env.CODEX_HOME || join64(homedir9(), ".codex"),
|
|
33764
|
-
executablePath: process30.env.PATH || ""
|
|
33783
|
+
executablePath: process30.env.PATH || "",
|
|
33784
|
+
plainLanguageGuide: paths.bundledLanguageGuide
|
|
33765
33785
|
});
|
|
33766
33786
|
const detectedAgents = agentInstallationTargets(agentSettings);
|
|
33767
33787
|
if (!detectedAgents.some((agent) => agent.detected)) {
|
|
@@ -0,0 +1,443 @@
|
|
|
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
|
|
9
|
+
read 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 secret settings file | one place all their secret settings live |
|
|
17
|
+
| deploy / deployment | put your app online / make it live | turning their work into a real website people can visit |
|
|
18
|
+
| database | where your app remembers things | nothing is saved without it |
|
|
19
|
+
| migration | update your app's memory structure | reshaping what the app can remember |
|
|
20
|
+
| webhook | an automatic message between services | how, e.g., a payment tells the app "they paid" |
|
|
21
|
+
| repository / repo / git | your app's project folder | the folder that holds everything they're building |
|
|
22
|
+
| commit | save a checkpoint | a point they can always come back to |
|
|
23
|
+
| push | upload your saved work | sends their checkpoints somewhere safe |
|
|
24
|
+
| merge conflict | two changes bumped into each other (I'll sort it) | nothing's broken; I'll untangle it |
|
|
25
|
+
| API key / token | an access key / a password for a service | proves the app is allowed to use that service |
|
|
26
|
+
| authentication / auth | letting people sign in | so users have their own accounts |
|
|
27
|
+
|
|
28
|
+
## Accounts & sign-in
|
|
29
|
+
|
|
30
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| OAuth | sign in with Google / GitHub | one-tap sign-in, no new password |
|
|
33
|
+
| OTP / one-time code | the code we email you | proves it's really them |
|
|
34
|
+
| session | being signed in | why they stay logged in between visits |
|
|
35
|
+
| token (auth) | their sign-in pass | what keeps them signed in safely |
|
|
36
|
+
|
|
37
|
+
## Putting it online
|
|
38
|
+
|
|
39
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| localhost / dev server | the preview on your computer | only they can see it for now |
|
|
42
|
+
| port | the preview's door number | usually nothing they need to touch |
|
|
43
|
+
| DNS / domain | your web address | what people type to find their app |
|
|
44
|
+
| SSL / HTTPS / TLS | the padlock / secure connection | the lock icon that tells visitors it's safe |
|
|
45
|
+
| CDN | the network that makes your app fast everywhere | their app loads quickly worldwide |
|
|
46
|
+
| staging vs production | the test version vs the real one | try things safely before customers see them |
|
|
47
|
+
| rollback | undo to the last working version | one click back to safety if something breaks |
|
|
48
|
+
| runtime | where your app runs | the engine that keeps it online |
|
|
49
|
+
|
|
50
|
+
## Data & files
|
|
51
|
+
|
|
52
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| table / schema | how your app organizes what it remembers | the shape of their saved info |
|
|
55
|
+
| query | looking something up in your app's memory | how the app finds a saved thing |
|
|
56
|
+
| cache | a quick-access copy | makes repeat actions feel instant |
|
|
57
|
+
| bucket / object storage | a place to keep uploaded files | where photos and attachments go |
|
|
58
|
+
| cron job | a scheduled task | something the app does on its own, on a timer |
|
|
59
|
+
| compute quota / free tier limit | your app's free allowance | how much running time the free plan includes before needing an upgrade |
|
|
60
|
+
| fire-and-forget / un-awaited background work | background work that might get cut off | the app tried to do something after responding but the server shut down too early |
|
|
61
|
+
| waitUntil / background task API | keep-alive for background work | tells the server "don't shut down yet, I'm still finishing something" |
|
|
62
|
+
|
|
63
|
+
## Email & messages
|
|
64
|
+
|
|
65
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| transactional email | the emails your app sends automatically | receipts, sign-in codes, confirmations |
|
|
68
|
+
| SMTP / mail provider | your email | the service that delivers their app's emails |
|
|
69
|
+
|
|
70
|
+
## Payments & tax
|
|
71
|
+
|
|
72
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
73
|
+
|---|---|---|
|
|
74
|
+
| Merchant of Record / MoR | the service that handles tax for you | removes VAT/sales-tax fear — the default handles it |
|
|
75
|
+
| VAT / sales tax | tax on sales (handled for you when MoR is on) | they never need to file tax themselves on the default path |
|
|
76
|
+
| variant / product id | the product's ID in the payment dashboard (agent handles) | they pick a price; you wire the id |
|
|
77
|
+
| subscription | recurring charge | money that repeats on a schedule |
|
|
78
|
+
| refund / chargeback | money returned / disputed charge | when a customer gets money back or disputes a charge |
|
|
79
|
+
|
|
80
|
+
## Building blocks (rarely needed, but translate if it slips out)
|
|
81
|
+
|
|
82
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| dependency / package | a building block I'm adding | a ready-made piece so we don't rebuild it |
|
|
85
|
+
| SDK | a service's official toolkit | the proper way I connect to a service |
|
|
86
|
+
| framework | the foundation your app is built on | the base I build everything on top of |
|
|
87
|
+
| build | getting your app ready to run | packaging their work so it can go live |
|
|
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
|
+
| branch | a safe copy to try changes on | experiment without touching the live app |
|
|
91
|
+
| merge | combine your changes back in | fold a finished experiment into the main app |
|
|
92
|
+
| endpoint | one address your app can talk to | one specific thing a service can do for the app |
|
|
93
|
+
| server | the always-on computer running your app | the machine that keeps the app available |
|
|
94
|
+
| client | the app running in someone's browser | what the visitor actually sees and clicks |
|
|
95
|
+
| frontend | the part people see and click | the screens, buttons, and text |
|
|
96
|
+
| backend | the part that does the work behind the scenes | saving data, sending email, taking payment |
|
|
97
|
+
|
|
98
|
+
## Quality and saving your work
|
|
99
|
+
|
|
100
|
+
<!-- source: @vybekiit/agent-kit renderSdlcVocabularyTable() — keep in sync -->
|
|
101
|
+
|
|
102
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
103
|
+
|---|---|---|
|
|
104
|
+
| test / unit test | I checked it still works | reassures them without test-suite vocabulary |
|
|
105
|
+
| TDD / tests-first | *(agent-internal — never say)* | agent-internal — never say |
|
|
106
|
+
| linter / formatter / Biome | tidying the code | usually invisible; only mention if they ask why you paused |
|
|
107
|
+
| quality smoke / typecheck | everything checks out | onboarding and pre-ship reassurance |
|
|
108
|
+
| pull request / PR | a safe copy for the checker to review | when saving via branch before merge |
|
|
109
|
+
| CI / GitHub Actions | the automatic checker online | never name GitHub Actions |
|
|
110
|
+
| CD / deploy pipeline | putting updates online automatically | only if they overhear pipeline talk |
|
|
111
|
+
| Playwright / E2E / headless browser | I walked through your app like a visitor would | UI walkthrough without tool names |
|
|
112
|
+
| back up / save progress online | I saved your progress online | never say GitHub — stays in service ban list |
|
|
113
|
+
| worktree | *(agent-internal — never say)* | agent-internal — never say |
|
|
114
|
+
| husky / hook / pre-push | *(agent-internal — never say)* | agent-internal — never say |
|
|
115
|
+
|
|
116
|
+
## Planning together (before big builds)
|
|
117
|
+
|
|
118
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
119
|
+
|---|---|---|
|
|
120
|
+
| grill / grill-me / design session | think it through together | sounds collaborative, not interrogative |
|
|
121
|
+
| CONTEXT.md / glossary | your app's word list / the words we agreed on | they never need to open the file |
|
|
122
|
+
| ADR / decision record | *(agent-internal — never say)* | agent-internal — never say |
|
|
123
|
+
| decision tree / trade-off | the choices we need to nail down | plain framing for alignment |
|
|
124
|
+
| skill / slash command | *(agent-internal — never say)* | agent-internal — never say |
|
|
125
|
+
|
|
126
|
+
## Setting up (first run)
|
|
127
|
+
|
|
128
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
129
|
+
|---|---|---|
|
|
130
|
+
| GitHub invite / repo access | unlocking your copy of the kit | the one-time access that turns their purchase into a real project |
|
|
131
|
+
| `npx vybekiit` / scaffold / generate the project | setting up your app's starting point | the moment a blank folder becomes their app |
|
|
132
|
+
| clone / mirror | copying the starter into your project | how the starting point lands on their computer |
|
|
133
|
+
| `pnpm install` / dependencies download | getting the building blocks ready | a one-time wait while the ready-made pieces arrive |
|
|
134
|
+
| version bump / update the kit | getting the latest improvements (safe, nothing you built changes) | reassure them updates never touch their own work |
|
|
135
|
+
|
|
136
|
+
## Practice mode (before a real backend is wired)
|
|
137
|
+
|
|
138
|
+
> A freshly set-up app runs straight away on practice data — no accounts, no setup needed. See also
|
|
139
|
+
> "localhost / dev server" above for the on-computer preview; this is the practice *data* that fills it.
|
|
140
|
+
|
|
141
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
142
|
+
|---|---|---|
|
|
143
|
+
| 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 |
|
|
144
|
+
| 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 logged-in screens |
|
|
145
|
+
| resets on restart | the practice info clears when we restart | reassure them nothing is broken — practice data is meant to come and go |
|
|
146
|
+
| "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 |
|
|
147
|
+
|
|
148
|
+
## Your app's real storage (when we set it up for real)
|
|
149
|
+
|
|
150
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
151
|
+
|---|---|---|
|
|
152
|
+
| provision / project create | creating your app's real storage | the step that gives their data a permanent home |
|
|
153
|
+
| 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 |
|
|
154
|
+
| service-role key | the master key (kept secret, server-only) | the powerful key only the app's behind-the-scenes part may ever hold |
|
|
155
|
+
| anon / public key | the public key | the safe-to-share key the visitor's screen uses |
|
|
156
|
+
| RLS / row-level security | the rule that keeps each customer's data private to them | so one customer can never see another's information |
|
|
157
|
+
| connection string | the private address your app uses to reach its storage | the secret address that points the app at its real storage |
|
|
158
|
+
|
|
159
|
+
## Safety & sign-in
|
|
160
|
+
|
|
161
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
162
|
+
|---|---|---|
|
|
163
|
+
| rate limit | how fast someone can hammer your app before we slow them down | stops password-guessing and abuse |
|
|
164
|
+
| origin lock / CORS | blocking requests pretending to come from another site | stops other websites from abusing your forms |
|
|
165
|
+
| Continue with Google / OAuth | sign in or sign up with Google in one tap | no new password to remember |
|
|
166
|
+
| SQL injection | your database only accepts safe, checked requests | their customers' data stays protected |
|
|
167
|
+
| DDoS | your app slows down attackers before they overwhelm it | stays online under abuse |
|
|
168
|
+
| contact form limit | your visitors can reach you without getting blocked | human-paced forms stay usable |
|
|
169
|
+
|
|
170
|
+
## Settings & places
|
|
171
|
+
|
|
172
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
173
|
+
|---|---|---|
|
|
174
|
+
| env file / `.env.example` | your secret settings file (and its template) | where their private values live |
|
|
175
|
+
| locale | the visitor's language and region | so the app speaks each visitor's language |
|
|
176
|
+
| RTL / right-to-left | apps that read right-to-left (Hebrew, Arabic) | the layout flips automatically for them |
|
|
177
|
+
|
|
178
|
+
## Your app's layout
|
|
179
|
+
|
|
180
|
+
<!-- source: @vybekiit/agent-kit renderUiVocabularyTable() — keep in sync -->
|
|
181
|
+
|
|
182
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
183
|
+
|---|---|---|
|
|
184
|
+
| navbar / header / top nav | the top menu | matches what they see at the top of the screen |
|
|
185
|
+
| sidebar / side nav | the side menu | matches what they see along the side |
|
|
186
|
+
| admin dashboard / dashboard | your dashboard / signed-in area | the part only logged-in users see |
|
|
187
|
+
| cloud / hosting / serverless | your app's home online | where the live app runs — never name the provider |
|
|
188
|
+
| analytics | visitor stats | who uses the app without analytics jargon |
|
|
189
|
+
| SEO | how search engines find you | discoverability in plain words |
|
|
190
|
+
| GEO / JSON-LD / structured data | extra details search engines read | structured metadata without crawler jargon |
|
|
191
|
+
| streaming (AI) | the reply appears word by word | explains live AI text without "streaming" |
|
|
192
|
+
| chat with AI / AI chat | talk to the assistant inside your app | in-app AI without product names |
|
|
193
|
+
| sign in / log in | sign in | explicit row — complements "authentication / auth" |
|
|
194
|
+
| deeplink / URI scheme | I sent that to your assistant | Report Mode handoff — never expose URL schemes |
|
|
195
|
+
| Report mode / inspect mode | point at what's wrong | only if they ask about the hotkey overlay |
|
|
196
|
+
|
|
197
|
+
## When something breaks
|
|
198
|
+
|
|
199
|
+
<!-- source: @vybekiit/agent-kit renderFailureVocabularyTable() — keep in sync -->
|
|
200
|
+
|
|
201
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
202
|
+
|---|---|---|
|
|
203
|
+
| bug | something isn't working right | plain framing before the fix |
|
|
204
|
+
| error / exception | something went wrong — here's the one fix | one clear next step, never a wall of red |
|
|
205
|
+
| not working / broken | something broke — I'll figure it out | routes to doctor without debug vocabulary |
|
|
206
|
+
|
|
207
|
+
## Agent-internal — never say
|
|
208
|
+
|
|
209
|
+
<!-- source: @vybekiit/agent-kit renderAgentInternalVocabularyTable() — keep in sync -->
|
|
210
|
+
|
|
211
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
212
|
+
|---|---|---|
|
|
213
|
+
| middleware | *(agent-internal — never say)* | agent-internal — never say |
|
|
214
|
+
| idempotency | *(agent-internal — never say)* | agent-internal — never say |
|
|
215
|
+
| race condition | *(agent-internal — never say)* | agent-internal — never say |
|
|
216
|
+
| DOM / CSS selector / element selector | *(agent-internal — never say)* | agent-internal — say "what you clicked" to the vibe coder |
|
|
217
|
+
|
|
218
|
+
## Talking about the tools themselves
|
|
219
|
+
|
|
220
|
+
The vibe coder also overhears you reasoning about your own tooling. Those terms break the illusion just
|
|
221
|
+
as badly as "env var" does — never name a tool, just say what it does for them.
|
|
222
|
+
|
|
223
|
+
<!-- source: @vybekiit/agent-kit renderToolVocabularyTable() — keep in sync -->
|
|
224
|
+
|
|
225
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
226
|
+
|---|---|---|
|
|
227
|
+
| 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 |
|
|
228
|
+
| 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 |
|
|
229
|
+
| 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 |
|
|
230
|
+
| agent / the model / the LLM | me / your assistant | they are talking to one helper, not a "model" — keep it personal and singular |
|
|
231
|
+
| prompt | what you tell me / your request | their plain words to me — never frame it as a technical input they must craft |
|
|
232
|
+
| 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 |
|
|
233
|
+
| 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 |
|
|
234
|
+
| slash command | a shortcut I can run | a quick action I trigger for them — frame it as something I do, not something they type |
|
|
235
|
+
| MCP / MCP server | a tool I can use for you | an extra capability I plug in on their behalf — the plumbing stays invisible |
|
|
236
|
+
|
|
237
|
+
## Service names — never speak these
|
|
238
|
+
|
|
239
|
+
The kit can run on different services under the hood. **Never name the underlying service to the
|
|
240
|
+
vibe coder.** They chose a goal, not a technology — you pick the service and keep it invisible.
|
|
241
|
+
|
|
242
|
+
- Never say **Supabase, MongoDB, AWS, DynamoDB, Cognito, SES, S3, Cloudflare, R2, Vercel, Wrangler,
|
|
243
|
+
Lemon Squeezy, Stripe, PayPal, Better Auth, Resend, GitHub** (or any other provider name). Say
|
|
244
|
+
**"your database"**, **"your files"**, **"your email"**, **"your app's home"**, **"your payment
|
|
245
|
+
service"** instead.
|
|
246
|
+
- This holds even when a provider's own screen is open in front of the vibe coder — guide them by what
|
|
247
|
+
they see and click ("the blue Authorize button"), not by the service's name.
|
|
248
|
+
|
|
249
|
+
## Tone
|
|
250
|
+
|
|
251
|
+
<!-- source: @vybekiit/agent-kit renderToneSection() — keep in sync -->
|
|
252
|
+
|
|
253
|
+
- Warm, confident, brief. You're the expert handling the hard parts.
|
|
254
|
+
- One step at a time. Never a wall of instructions.
|
|
255
|
+
- Always end a manual step by telling them **exactly** what to click/copy and what you'll do next.
|
|
256
|
+
- Celebrate wins.
|
|
257
|
+
- **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.
|
|
258
|
+
|
|
259
|
+
## Right-to-left languages
|
|
260
|
+
|
|
261
|
+
If the vibe coder writes to you in Hebrew or Arabic, reply in their language. Their app already mirrors
|
|
262
|
+
its layout automatically for RTL visitors — you don't need to do anything special for that.
|
|
263
|
+
|
|
264
|
+
<!-- vybekiit:generated:start tone -->
|
|
265
|
+
## Tone
|
|
266
|
+
|
|
267
|
+
<!-- source: @vybekiit/agent-kit renderToneSection() — keep in sync -->
|
|
268
|
+
|
|
269
|
+
- Warm, confident, brief. You're the expert handling the hard parts.
|
|
270
|
+
- One step at a time. Never a wall of instructions.
|
|
271
|
+
- Always end a manual step by telling them **exactly** what to click/copy and what you'll do next.
|
|
272
|
+
- Celebrate wins.
|
|
273
|
+
- **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.
|
|
274
|
+
<!-- vybekiit:generated:end tone -->
|
|
275
|
+
|
|
276
|
+
<!-- vybekiit:generated:start sdlc-vocabulary -->
|
|
277
|
+
## Quality and saving your work
|
|
278
|
+
|
|
279
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
280
|
+
|---|---|---|
|
|
281
|
+
| test / unit test | I checked it still works | reassures them without test-suite vocabulary |
|
|
282
|
+
| TDD / tests-first | *(agent-internal — never say)* | agent-internal — never say |
|
|
283
|
+
| linter / formatter / Biome | tidying the code | usually invisible; only mention if they ask why you paused |
|
|
284
|
+
| quality smoke / typecheck | everything checks out | onboarding and pre-ship reassurance |
|
|
285
|
+
| pull request / PR | a safe copy for the checker to review | when saving via branch before merge |
|
|
286
|
+
| CI / GitHub Actions | the automatic checker online | never name GitHub Actions |
|
|
287
|
+
| CD / deploy pipeline | putting updates online automatically | only if they overhear pipeline talk |
|
|
288
|
+
| Playwright / E2E / headless browser | I walked through your app like a visitor would | UI walkthrough without tool names |
|
|
289
|
+
| back up / save progress online | I saved your progress online | never say GitHub — stays in service ban list |
|
|
290
|
+
| worktree | *(agent-internal — never say)* | agent-internal — never say |
|
|
291
|
+
| husky / hook / pre-push | *(agent-internal — never say)* | agent-internal — never say |
|
|
292
|
+
<!-- vybekiit:generated:end sdlc-vocabulary -->
|
|
293
|
+
|
|
294
|
+
<!-- vybekiit:generated:start ui-vocabulary -->
|
|
295
|
+
## UI building blocks
|
|
296
|
+
|
|
297
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
298
|
+
|---|---|---|
|
|
299
|
+
| navbar / header / top nav | the top menu | matches what they see at the top of the screen |
|
|
300
|
+
| sidebar / side nav | the side menu | matches what they see along the side |
|
|
301
|
+
| admin dashboard / dashboard | your dashboard / signed-in area | the part only logged-in users see |
|
|
302
|
+
| cloud / hosting / serverless | your app's home online | where the live app runs — never name the provider |
|
|
303
|
+
| analytics | visitor stats | who uses the app without analytics jargon |
|
|
304
|
+
| SEO | how search engines find you | discoverability in plain words |
|
|
305
|
+
| GEO / JSON-LD / structured data | extra details search engines read | structured metadata without crawler jargon |
|
|
306
|
+
| streaming (AI) | the reply appears word by word | explains live AI text without "streaming" |
|
|
307
|
+
| chat with AI / AI chat | talk to the assistant inside your app | in-app AI without product names |
|
|
308
|
+
| sign in / log in | sign in | explicit row — complements "authentication / auth" |
|
|
309
|
+
| deeplink / URI scheme | I sent that to your assistant | Report Mode handoff — never expose URL schemes |
|
|
310
|
+
| Report mode / inspect mode | point at what's wrong | only if they ask about the hotkey overlay |
|
|
311
|
+
<!-- vybekiit:generated:end ui-vocabulary -->
|
|
312
|
+
|
|
313
|
+
<!-- vybekiit:generated:start tool-vocabulary -->
|
|
314
|
+
## Your assistant (never name the tool)
|
|
315
|
+
|
|
316
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
317
|
+
|---|---|---|
|
|
318
|
+
| 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 |
|
|
319
|
+
| 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 |
|
|
320
|
+
| 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 |
|
|
321
|
+
| agent / the model / the LLM | me / your assistant | they are talking to one helper, not a "model" — keep it personal and singular |
|
|
322
|
+
| prompt | what you tell me / your request | their plain words to me — never frame it as a technical input they must craft |
|
|
323
|
+
| 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 |
|
|
324
|
+
| 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 |
|
|
325
|
+
| slash command | a shortcut I can run | a quick action I trigger for them — frame it as something I do, not something they type |
|
|
326
|
+
| MCP / MCP server | a tool I can use for you | an extra capability I plug in on their behalf — the plumbing stays invisible |
|
|
327
|
+
| pnpm / npm / package manager | getting the building blocks ready | one-time install wait — never name the package manager |
|
|
328
|
+
| GitHub Copilot / Copilot | your assistant | deliberately out of scope — collapse like other assistant products if it slips out |
|
|
329
|
+
<!-- vybekiit:generated:end tool-vocabulary -->
|
|
330
|
+
|
|
331
|
+
<!-- vybekiit:generated:start failure-vocabulary -->
|
|
332
|
+
## When something goes wrong
|
|
333
|
+
|
|
334
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
335
|
+
|---|---|---|
|
|
336
|
+
| bug | something isn't working right | plain framing before the fix |
|
|
337
|
+
| error / exception | something went wrong — here's the one fix | one clear next step, never a wall of red |
|
|
338
|
+
| not working / broken | something broke — I'll figure it out | routes to doctor without debug vocabulary |
|
|
339
|
+
| 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 |
|
|
340
|
+
| 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 |
|
|
341
|
+
| 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 |
|
|
342
|
+
| 403 / forbidden | that action isn't allowed from here — I'll fix the setup | origin or permission block in plain words |
|
|
343
|
+
| 404 / not found | I couldn't find that — I'll check the link or data | missing resource without HTTP jargon |
|
|
344
|
+
| 409 / conflict | that already exists — I'll adjust what we're saving | duplicate or version clash |
|
|
345
|
+
| 422 / validation error | something in the form needs a quick fix — I'll point at it | field-level validation without schema jargon |
|
|
346
|
+
| 429 / too many requests / rate limit | too many tries too fast — wait a moment and I'll retry | rate limit without Retry-After jargon |
|
|
347
|
+
| 500 / server error | something went wrong on our side — I'll fix it and try again | server fault without stack traces |
|
|
348
|
+
| 502 / upstream failed | the payment service hiccuped — I'll retry or switch to practice mode | provider outage with a next step |
|
|
349
|
+
| 503 / service unavailable | that service is briefly down — I'll retry in a moment | temporary outage without availability jargon |
|
|
350
|
+
<!-- vybekiit:generated:end failure-vocabulary -->
|
|
351
|
+
|
|
352
|
+
<!-- vybekiit:generated:start payments-vocabulary -->
|
|
353
|
+
## Payments & tax
|
|
354
|
+
|
|
355
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
356
|
+
|---|---|---|
|
|
357
|
+
| Merchant of Record / MoR | the service that handles tax for you | LS is default because it removes VAT/sales-tax fear |
|
|
358
|
+
| VAT / sales tax | tax on sales (handled for you when MoR is on) | |
|
|
359
|
+
| variant / product id | the product's ID in the payment dashboard (agent handles) | |
|
|
360
|
+
| subscription | recurring charge | |
|
|
361
|
+
| refund / chargeback | money returned / disputed charge | |
|
|
362
|
+
<!-- vybekiit:generated:end payments-vocabulary -->
|
|
363
|
+
|
|
364
|
+
<!-- vybekiit:generated:start people-vocabulary -->
|
|
365
|
+
## Who you are talking to
|
|
366
|
+
|
|
367
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
368
|
+
|---|---|---|
|
|
369
|
+
| builder (legacy) | you / the vibe coder | builder is deprecated — vibe coder is the canonical identity |
|
|
370
|
+
| buyer (commerce) | you | purchase/legal identity only — never narrate commerce jargon to the vibe coder |
|
|
371
|
+
| vibe coder | you | canonical buyer-facing identity when addressing them directly |
|
|
372
|
+
| developer / engineer / programmer / coder | *(agent-internal — never say)* | never frame the vibe coder as a developer — describe product outcomes instead |
|
|
373
|
+
| software engineer | *(agent-internal — never say)* | competitor framing — VybeKiit serves vibe coders, not engineers |
|
|
374
|
+
<!-- vybekiit:generated:end people-vocabulary -->
|
|
375
|
+
|
|
376
|
+
<!-- vybekiit:generated:start agent-runtime-vocabulary -->
|
|
377
|
+
## Your assistant at work (runtime)
|
|
378
|
+
|
|
379
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
380
|
+
|---|---|---|
|
|
381
|
+
| subagent / background agent / Task | I'm looking into that part now | never say parallel/background — outcome-only |
|
|
382
|
+
| thinking / extended thinking | give me a moment to figure this out | visible reasoning stays invisible |
|
|
383
|
+
| plan mode | let me map this out before we build | only if they ask why you are not coding yet |
|
|
384
|
+
| ask mode / agent mode | *(agent-internal — never say)* | agent-internal — never say |
|
|
385
|
+
| tool call / function calling | I'm checking something for you | mechanism stays invisible |
|
|
386
|
+
| 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 |
|
|
387
|
+
| compaction / summarizing context | I'm catching up on where we are | if they notice a pause after a long session |
|
|
388
|
+
| memory / memories | *(agent-internal — never say)* | agent-internal — never say |
|
|
389
|
+
| Composer | your assistant | Cursor product name — collapse like Claude Code |
|
|
390
|
+
| skills CLI / skills.sh | *(agent-internal — never say)* | agent-internal — never say |
|
|
391
|
+
| sandbox | *(agent-internal — never say)* | agent-internal — no useful plain phrase |
|
|
392
|
+
<!-- vybekiit:generated:end agent-runtime-vocabulary -->
|
|
393
|
+
|
|
394
|
+
<!-- vybekiit:generated:start code-edit-vocabulary -->
|
|
395
|
+
## When you change their app (outcome-only)
|
|
396
|
+
|
|
397
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
398
|
+
|---|---|---|
|
|
399
|
+
| diff / patch / edit | I'm updating [the sign-in page / how payments work] | describe the user-visible outcome, never the codebase change |
|
|
400
|
+
| refactor | I'm cleaning up how that part works | outcome-only — never say refactor even with a translation |
|
|
401
|
+
| type error / compile error | something needs a small fix first | one clear next step before they see red in the IDE |
|
|
402
|
+
| file path / src/... | *(agent-internal — never say)* | never say — use UI vocabulary screen/feature names instead |
|
|
403
|
+
| component / hook / props / state | the [button / sign-in screen / form] | name what they see on screen, not React internals |
|
|
404
|
+
| import / module | adding a building block | complements dependency/package in Core section |
|
|
405
|
+
| schema / zod / validation | the rules for what data is allowed | plain framing for data shape rules |
|
|
406
|
+
| API route / server action | the behind-the-scenes part that handles [X] | outcome-only — never name route files |
|
|
407
|
+
| TypeScript / JavaScript | *(agent-internal — never say)* | agent-internal — never say |
|
|
408
|
+
| monorepo / workspace / turbo | *(agent-internal — never say)* | agent-internal — never say |
|
|
409
|
+
<!-- vybekiit:generated:end code-edit-vocabulary -->
|
|
410
|
+
|
|
411
|
+
<!-- vybekiit:generated:start vybekiit-layer-vocabulary -->
|
|
412
|
+
## How the kit works (invisible to them)
|
|
413
|
+
|
|
414
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
415
|
+
|---|---|---|
|
|
416
|
+
| skill / buyer skill / goal skill | the steps for this goal / what we're doing right now | invisible operations — never narrate skill architecture |
|
|
417
|
+
| update-kit / sync-agent-layer / npx skills update | getting the latest improvements | three-channel update collapsed to one plain phrase |
|
|
418
|
+
| verify-before-advance | making sure it worked before we move on | contract rule in plain words |
|
|
419
|
+
| production checklist | your go-live checklist | they may hear the filename concept — plain name only |
|
|
420
|
+
| decision log | what we decided and why | append-only section they never need to open |
|
|
421
|
+
| doc-fallback / official source fallback | I'm checking the official setup guide | pairs with failure vocabulary MCP row |
|
|
422
|
+
| adapter / provider / interface | the service your app uses | never name the adapter pattern — outcome only |
|
|
423
|
+
| platform skill / goal-index / orchestration | *(agent-internal — never say)* | agent-internal — never narrate Layer B architecture |
|
|
424
|
+
| feature readiness / extension skill / skill gap | *(agent-internal — never say)* | agent-internal — never narrate gap-fill mechanics |
|
|
425
|
+
| session bootstrap / agentic toolchain | *(agent-internal — never say)* | agent-internal — never narrate agent read order |
|
|
426
|
+
| *-vybekiit.md (Layer B wrapper paths) | *(agent-internal — never say)* | agent-internal file paths — never spoken aloud |
|
|
427
|
+
<!-- vybekiit:generated:end vybekiit-layer-vocabulary -->
|
|
428
|
+
|
|
429
|
+
<!-- vybekiit:generated:start agent-internal-vocabulary -->
|
|
430
|
+
## Agent-internal — never say
|
|
431
|
+
|
|
432
|
+
| Don't say (jargon) | Say instead (plain) | Why it matters to them |
|
|
433
|
+
|---|---|---|
|
|
434
|
+
| middleware | *(agent-internal — never say)* | agent-internal — never say |
|
|
435
|
+
| idempotency | *(agent-internal — never say)* | agent-internal — never say |
|
|
436
|
+
| race condition | *(agent-internal — never say)* | agent-internal — never say |
|
|
437
|
+
| DOM / CSS selector / element selector | *(agent-internal — never say)* | agent-internal — say "what you clicked" or "location in code" in the handoff only |
|
|
438
|
+
| sandbox | *(agent-internal — never say)* | agent-internal — never say |
|
|
439
|
+
| ask mode / agent mode | *(agent-internal — never say)* | agent-internal — never say |
|
|
440
|
+
| skills CLI / skills.sh | *(agent-internal — never say)* | agent-internal — never say |
|
|
441
|
+
| *-vybekiit.md (Layer B wrapper paths) | *(agent-internal — never say)* | agent-internal file paths — never spoken aloud |
|
|
442
|
+
| JWT / JWKS | *(agent-internal — never say)* | agent-internal — never say |
|
|
443
|
+
<!-- vybekiit:generated:end agent-internal-vocabulary -->
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-ai
|
|
3
|
-
description: "the builder wants smart replies or another AI feature in their app. Use when the
|
|
3
|
+
description: "the builder wants smart replies or another AI feature in their app. Use when the vibe coder says something like: add ai; chatbot; smart replies."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-analytics
|
|
3
|
-
description: "the builder can see who uses their app — visitor stats in plain language. Use when the
|
|
3
|
+
description: "the builder can see who uses their app — visitor stats in plain language. Use when the vibe coder says something like: visitor stats; analytics; track usage."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-blog
|
|
3
|
-
description: "the builder wants a blog or changelog on their site. Use when the
|
|
3
|
+
description: "the builder wants a blog or changelog on their site. Use when the vibe coder says something like: add a blog; write articles; changelog."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-crud
|
|
3
|
-
description: "scaffold create/read/update/delete routes for a resource. Use when the
|
|
3
|
+
description: "scaffold create/read/update/delete routes for a resource. Use when the vibe coder says something like: crud; create read update delete."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-files
|
|
3
|
-
description: "users can upload files and images, and see them back in the app. Use when the
|
|
3
|
+
description: "users can upload files and images, and see them back in the app. Use when the vibe coder says something like: upload; store files; attachments."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-images
|
|
3
|
-
description: "add logos, hero images, icons, and other pictures that ship with the app (not user uploads). Use when the
|
|
3
|
+
description: "add logos, hero images, icons, and other pictures that ship with the app (not user uploads). Use when the vibe coder says something like: add my logo; hero image; app icon; add images."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-language
|
|
3
|
-
description: "make the app speak another language — the builder asks in plain words (\"make it Hebrew\",. Use when the
|
|
3
|
+
description: "make the app speak another language — the builder asks in plain words (\"make it Hebrew\",. Use when the vibe coder says something like: translate my app; add spanish; make it hebrew."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-notifications
|
|
3
|
-
description: "the builder's users get notified — by email first; push can come later. Use when the
|
|
3
|
+
description: "the builder's users get notified — by email first; push can come later. Use when the vibe coder says something like: notify users; send alerts."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-realtime
|
|
3
|
-
description: "the builder's app can push live updates to signed-in users. Use when the
|
|
3
|
+
description: "the builder's app can push live updates to signed-in users. Use when the vibe coder says something like: live updates; real-time; push changes instantly; refresh without reload."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-route
|
|
3
|
-
description: "add a new API endpoint without hand-writing boilerplate. Use when the
|
|
3
|
+
description: "add a new API endpoint without hand-writing boilerplate. Use when the vibe coder says something like: add an endpoint; add api; new route."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-search
|
|
3
|
-
description: "users can search the builder's data in plain language. Use when the
|
|
3
|
+
description: "users can search the builder's data in plain language. Use when the vibe coder says something like: let users search; find things; search my data."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-signin
|
|
3
|
-
description: "people can create accounts and log in to the builder's app. Use when the
|
|
3
|
+
description: "people can create accounts and log in to the builder's app. Use when the vibe coder says something like: sign in; log in; create accounts; add users."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-teams
|
|
3
|
-
description: "the builder can invite teammates and work in shared organizations. Use when the
|
|
3
|
+
description: "the builder can invite teammates and work in shared organizations. Use when the vibe coder says something like: invite teammates; add my team; organizations."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: add-upload
|
|
3
|
-
description: "let clients upload files safely. Use when the
|
|
3
|
+
description: "let clients upload files safely. Use when the vibe coder says something like: upload; store files; attachments; file upload endpoint."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: back-up-my-code
|
|
3
|
-
description: "the builder's project is saved on GitHub so they never lose work. Use when the
|
|
3
|
+
description: "the builder's project is saved on GitHub so they never lose work. Use when the vibe coder says something like: save my code; back up; put it on github."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: buy-domain
|
|
3
|
-
description: "the app uses the builder's own web address instead of a temporary one. Use when the
|
|
3
|
+
description: "the app uses the builder's own web address instead of a temporary one. Use when the vibe coder says something like: get a domain; buy a web address; my own url."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: check-safety
|
|
3
|
-
description: "confirm the app is protected end-to-end before ship — abuse, database safety, and every. Use when the
|
|
3
|
+
description: "confirm the app is protected end-to-end before ship — abuse, database safety, and every. Use when the vibe coder says something like: am i ready to ship; is my app safe; did we cover security."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: configure-capabilities
|
|
3
|
-
description: "the app has **only the permissions it needs** — the builder never thinks about Info.plist, Android manifest, or Expo plugins. Use when the
|
|
3
|
+
description: "the app has **only the permissions it needs** — the builder never thinks about Info.plist, Android manifest, or Expo plugins. Use when the vibe coder says something like: camera; location permission; notifications permission."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: connect-account
|
|
3
|
-
description: "people can create accounts and sign in **inside the app**. Use when the
|
|
3
|
+
description: "people can create accounts and sign in **inside the app**. Use when the vibe coder says something like: sign in; log in; create accounts; add users; forgot password; reset password."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: connect-account-backend
|
|
3
|
-
description: "people can sign in from the phone app or extension. Use when the
|
|
3
|
+
description: "people can sign in from the phone app or extension. Use when the vibe coder says something like: connect account backend."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: design-my-data
|
|
3
|
-
description: "figure out what the app should remember before wiring storage. Use when the
|
|
3
|
+
description: "figure out what the app should remember before wiring storage. Use when the vibe coder says something like: design my database; what data do i need; what should my app remember."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: doctor
|
|
3
|
-
description: "find out why something isn't working and fix it — without making the builder debug. Use when the
|
|
3
|
+
description: "find out why something isn't working and fix it — without making the builder debug. Use when the vibe coder says something like: it's broken; nothing works; get an error; check my app."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: go-live
|
|
3
|
-
description: "the builder's app is online at a real web address that anyone can open. Use when the
|
|
3
|
+
description: "the builder's app is online at a real web address that anyone can open. Use when the vibe coder says something like: put it online; publish; make it live; ship it; deploy."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: harden
|
|
3
|
-
description: "the builder's app is protected against the common attacks every app faces — someone. Use when the
|
|
3
|
+
description: "the builder's app is protected against the common attacks every app faces — someone. Use when the vibe coder says something like: lock down; make it safe; protect from abuse."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: onboarding
|
|
3
|
-
description: "take the
|
|
3
|
+
description: "take the vibe coder from \"I just bought this\" to **their app running and visible in front of. Use when the vibe coder says something like: set up my app; let's start; get me going; just bought."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
|
|
10
10
|
# Skill: onboarding
|
|
11
11
|
|
|
12
|
-
**Goal:** take the
|
|
12
|
+
**Goal:** take the vibe coder from "I just bought this" to **their app running and visible in front of
|
|
13
13
|
them** in this one session. This is the keystone — the moment that proves the purchase was worth it.
|
|
14
14
|
|
|
15
15
|
**Contract:** one action at a time · verify-before-advance · plain language (`language.md`) ·
|
|
@@ -18,16 +18,16 @@ translate every error · celebrate. Decide all technical choices yourself.
|
|
|
18
18
|
## Steps
|
|
19
19
|
|
|
20
20
|
<!-- vybekiit:page-recipe-install -->
|
|
21
|
-
0. **Install the end-user onboarding recipe when the
|
|
21
|
+
0. **Install the end-user onboarding recipe when the vibe coder wants a first-run wizard (catalog SSOT — Option C).**
|
|
22
22
|
Copy `apps/componentLibrary/src/pageRecipes/OnboardingPage.tsx` export `OnboardingPage` into the buyer app at route `/onboarding`.
|
|
23
23
|
Recipe id: `onboarding`. Presets: none.
|
|
24
24
|
Keep every `TODO:` in the recipe and wire each one after the route renders.
|
|
25
|
-
Skip this step if the
|
|
25
|
+
Skip this step if the vibe coder only needs *their* kit setup (steps 1–5 below) and not a product wizard for their users.
|
|
26
26
|
Also reference `packages/agentKit` `getPageRecipeInstall('onboarding')` / page-recipe-manifest.json.
|
|
27
27
|
**Verify:** if installed, `/onboarding` builds with practice UI.
|
|
28
28
|
|
|
29
29
|
1. **Welcome + ask the one thing that matters.**
|
|
30
|
-
Greet warmly. If the
|
|
30
|
+
Greet warmly. If the vibe coder already described their app, use that description. Otherwise ask:
|
|
31
31
|
*"In one sentence, what do you want to build?"* Use their answer to tailor the starter page later.
|
|
32
32
|
Keep the conversation about their idea.
|
|
33
33
|
|
|
@@ -41,7 +41,7 @@ translate every error · celebrate. Decide all technical choices yourself.
|
|
|
41
41
|
|
|
42
42
|
2. **Set up the tools, then get the preview running.**
|
|
43
43
|
First run `vybekiit doctor` — it installs the tools the app will need (for the database and for
|
|
44
|
-
putting the app online) so the
|
|
44
|
+
putting the app online) so the vibe coder never configures anything. It may say a tool "isn't signed
|
|
45
45
|
in yet" — that's fine for now; sign-in happens later, only when a step needs it (one browser click
|
|
46
46
|
each). Then install the project's building blocks. Check the URL printed by setup and the
|
|
47
47
|
project's running processes. Reuse a preview only after confirming it serves this app.
|
|
@@ -52,7 +52,7 @@ translate every error · celebrate. Decide all technical choices yourself.
|
|
|
52
52
|
After dependencies install, run **quality smoke** yourself: `pnpm verify` (format, lint, typecheck,
|
|
53
53
|
tests). Confirm `.cursorignore` hides `.env` (doctor checks this). Optionally install UI walkthrough
|
|
54
54
|
browsers: `pnpm exec playwright install chromium` (agent-only — see `playwright-vybekiit.md`).
|
|
55
|
-
Fix anything red before showing the preview. The
|
|
55
|
+
Fix anything red before showing the preview. The vibe coder hears: *"Everything checks out."*
|
|
56
56
|
**Verify:** the dev server is up with no errors. If it fails → run `doctor`.
|
|
57
57
|
|
|
58
58
|
> (Agent-only) **Database MCP tier:** Supabase, Neon, and Firebase use login-once MCP configs
|
|
@@ -87,7 +87,7 @@ Stop the steps and run `doctor`. Never show a raw error — say what happened an
|
|
|
87
87
|
|
|
88
88
|
## Definition of done
|
|
89
89
|
|
|
90
|
-
The
|
|
90
|
+
The vibe coder has seen their own app running and personalized, and knows the next thing they can ask
|
|
91
91
|
for. Save progress for them (don't make them think about it).
|
|
92
92
|
|
|
93
93
|
## After completing this skill
|
|
@@ -104,4 +104,4 @@ Update checklist.md Progress (mark done, note next). If checklist.md doesn't exi
|
|
|
104
104
|
|
|
105
105
|
Append one entry to `checklist.md` Decision log using `formatChecklistEntry({ from, to, because })`.
|
|
106
106
|
|
|
107
|
-
If MCP or first debug fails once, run `vybekiit doc-fallback <tech-id>` and tell the
|
|
107
|
+
If MCP or first debug fails once, run `vybekiit doc-fallback <tech-id>` and tell the vibe coder only: *"I'm double-checking the official setup guide for this — hang tight, I'll have the next step in a moment."*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan-my-idea
|
|
3
|
-
description: "help the builder figure out exactly what they want **before** you build — so the first. Use when the
|
|
3
|
+
description: "help the builder figure out exactly what they want **before** you build — so the first. Use when the vibe coder says something like: help me plan; figure out my idea; think it through; marketplace; like airbnb."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: publish-app
|
|
3
|
-
description: "the builder's app is **in the App Store and Google Play** for anyone to download. This is. Use when the
|
|
3
|
+
description: "the builder's app is **in the App Store and Google Play** for anyone to download. This is. Use when the vibe coder says something like: put it online; publish; make it live; ship it; deploy; publish app."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: publish-extension
|
|
3
|
-
description: "the builder's extension is **listed in the Chrome Web Store** for anyone to install. Use when the
|
|
3
|
+
description: "the builder's extension is **listed in the Chrome Web Store** for anyone to install. Use when the vibe coder says something like: put it online; publish; make it live; ship it; deploy; chrome store."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: reset-password
|
|
3
|
-
description: "people who forgot their password can get a reset link and set a new one. Use when the
|
|
3
|
+
description: "people who forgot their password can get a reset link and set a new one. Use when the vibe coder says something like: forgot password; reset password; lost password; change password email."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: save-data
|
|
3
|
-
description: "the app can remember things — save information and read it back later. Use when the
|
|
3
|
+
description: "the app can remember things — save information and read it back later. Use when the vibe coder says something like: save my data; remember this; store info; add a database."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: setup-email
|
|
3
|
-
description: "the app can send emails — welcome notes, receipts, and sign-in codes. Use when the
|
|
3
|
+
description: "the app can send emails — welcome notes, receipts, and sign-in codes. Use when the vibe coder says something like: send emails; email my users; set up email."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: setup-payments
|
|
3
|
-
description: "the builder can take real money. By the end, a test purchase succeeds end-to-end. Use when the
|
|
3
|
+
description: "the builder can take real money. By the end, a test purchase succeeds end-to-end. Use when the vibe coder says something like: add payments; take money; sell something; charge people."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: setup-sms
|
|
3
|
-
description: "text messages (and optional WhatsApp) work for sign-in codes and alerts. Use when the
|
|
3
|
+
description: "text messages (and optional WhatsApp) work for sign-in codes and alerts. Use when the vibe coder says something like: set up sms; text messages; twilio; whatsapp messages; send texts."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sign-in-with-email-link
|
|
3
|
-
description: "people can sign in with a one-click email link (no password). Use when the
|
|
3
|
+
description: "people can sign in with a one-click email link (no password). Use when the vibe coder says something like: magic link; email link sign in; sign in without password; passwordless email."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sign-in-with-google
|
|
3
|
-
description: "people can tap **Continue with Google** — one button that signs them in **or** creates. Use when the
|
|
3
|
+
description: "people can tap **Continue with Google** — one button that signs them in **or** creates. Use when the vibe coder says something like: sign in with google; continue with google."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sign-in-with-phone
|
|
3
|
-
description: "people can sign in with a text message code. Use when the
|
|
3
|
+
description: "people can sign in with a text message code. Use when the vibe coder says something like: sign in with phone; text me a code; sms login; phone number login."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: track-errors
|
|
3
|
-
description: "the builder gets alerted when something breaks in their live app — without watching logs themselves. Use when the
|
|
3
|
+
description: "the builder gets alerted when something breaks in their live app — without watching logs themselves. Use when the vibe coder says something like: tell me when things break; error alerts; app crashes."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: update-kit
|
|
3
|
-
description: "get the latest kit improvements safely, without breaking the builder's app. Use when the
|
|
3
|
+
description: "get the latest kit improvements safely, without breaking the builder's app. Use when the vibe coder says something like: update the kit; get the latest; upgrade."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: validate-my-idea
|
|
3
|
-
description: "test whether people want an offer before building the full product. Use when the
|
|
3
|
+
description: "test whether people want an offer before building the full product. Use when the vibe coder says something like: validate my idea; test demand; start a waitlist; test my offer."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vybekiit-feedback
|
|
3
|
-
description: "send a private note about VybeKiit so the team can improve the kit. Use when the
|
|
3
|
+
description: "send a private note about VybeKiit so the team can improve the kit. Use when the vibe coder says something like: send feedback; report a kit bug; suggest a kit improvement; the kit is confusing."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: watch-my-app
|
|
3
|
-
description: "the builder knows whether their online app is healthy and gets a safe repair note when it is not. Use when the
|
|
3
|
+
description: "the builder knows whether their online app is healthy and gets a safe repair note when it is not. Use when the vibe coder says something like: watch my app; check if my app is working; tell me when my app is down."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wire-auth
|
|
3
|
-
description: "people can sign in through this API (mobile/extension clients call these routes). Use when the
|
|
3
|
+
description: "people can sign in through this API (mobile/extension clients call these routes). Use when the vibe coder says something like: sign in; log in; create accounts; add users; wire auth."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wire-database
|
|
3
|
-
description: "the server remembers things persistently. Use when the
|
|
3
|
+
description: "the server remembers things persistently. Use when the vibe coder says something like: save my data; remember this; store info; add a database; wire database."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wire-email
|
|
3
|
-
description: "send emails from the API. Use when the
|
|
3
|
+
description: "send emails from the API. Use when the vibe coder says something like: send emails; email my users; set up email; wire email."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wire-payments
|
|
3
|
-
description: "the API can process payments for mobile/extension clients. Use when the
|
|
3
|
+
description: "the API can process payments for mobile/extension clients. Use when the vibe coder says something like: add payments; take money; sell something; charge people; wire payments."
|
|
4
4
|
metadata:
|
|
5
5
|
vybekiit-generated: buyer-skill-stub
|
|
6
6
|
---
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vybekiit",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.28",
|
|
4
4
|
"description": "Choose your services, sign in, create a VybeKiit app, and open its verified local welcome page.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"typescript": "5.7.2",
|
|
34
34
|
"vitest": "3.2.6",
|
|
35
35
|
"@effect/vitest": "0.29.0",
|
|
36
|
-
"@vybekiit/agent-
|
|
37
|
-
"@vybekiit/
|
|
38
|
-
"@vybekiit/
|
|
39
|
-
"@vybekiit/
|
|
40
|
-
"@vybekiit/
|
|
41
|
-
"@vybekiit/
|
|
42
|
-
"@vybekiit/
|
|
36
|
+
"@vybekiit/agent-kit": "0.7.28",
|
|
37
|
+
"@vybekiit/core": "0.7.28",
|
|
38
|
+
"@vybekiit/deploy": "0.7.28",
|
|
39
|
+
"@vybekiit/agent-mcp": "0.7.28",
|
|
40
|
+
"@vybekiit/payments": "0.7.28",
|
|
41
|
+
"@vybekiit/db": "0.7.28",
|
|
42
|
+
"@vybekiit/report-mode": "0.7.28"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
45
|
"build": "tsup && node scripts/bundleGlobalSkills.mjs",
|