kitcn 0.14.1 → 0.14.2
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/{backend-core-DZHqsBcu.mjs → backend-core-DDs8CYH7.mjs} +11 -1
- package/dist/cli.mjs +1 -1
- package/dist/watcher.mjs +1 -1
- package/package.json +1 -1
- package/skills/{convex → kitcn}/SKILL.md +2 -5
- package/skills/{convex → kitcn}/references/features/auth-organizations.md +8 -4
- package/skills/{convex → kitcn}/references/setup/doc-guidelines.md +12 -9
- package/skills/{convex → kitcn}/references/setup/index.md +1 -1
- /package/skills/{convex → kitcn}/references/features/aggregates.md +0 -0
- /package/skills/{convex → kitcn}/references/features/auth-admin.md +0 -0
- /package/skills/{convex → kitcn}/references/features/auth-polar.md +0 -0
- /package/skills/{convex → kitcn}/references/features/auth.md +0 -0
- /package/skills/{convex → kitcn}/references/features/create-plugins.md +0 -0
- /package/skills/{convex → kitcn}/references/features/http.md +0 -0
- /package/skills/{convex → kitcn}/references/features/migrations.md +0 -0
- /package/skills/{convex → kitcn}/references/features/orm.md +0 -0
- /package/skills/{convex → kitcn}/references/features/react.md +0 -0
- /package/skills/{convex → kitcn}/references/features/scheduling.md +0 -0
- /package/skills/{convex → kitcn}/references/features/testing.md +0 -0
- /package/skills/{convex → kitcn}/references/setup/auth.md +0 -0
- /package/skills/{convex → kitcn}/references/setup/biome.md +0 -0
- /package/skills/{convex → kitcn}/references/setup/expo.md +0 -0
- /package/skills/{convex → kitcn}/references/setup/next.md +0 -0
- /package/skills/{convex → kitcn}/references/setup/react.md +0 -0
- /package/skills/{convex → kitcn}/references/setup/server.md +0 -0
- /package/skills/{convex → kitcn}/references/setup/start.md +0 -0
|
@@ -10469,7 +10469,17 @@ function buildAuthConvexStartProviderPlanFile(params) {
|
|
|
10469
10469
|
const projectContext = params.roots.projectContext;
|
|
10470
10470
|
if (!projectContext || projectContext.framework !== "tanstack-start") throw new Error("Auth preset \"convex\" requires a supported TanStack Start app shell.");
|
|
10471
10471
|
const providerPath = resolve(process.cwd(), projectContext.convexClientDir, "convex-provider.tsx");
|
|
10472
|
-
if (!fs.existsSync(providerPath))
|
|
10472
|
+
if (!fs.existsSync(providerPath)) {
|
|
10473
|
+
const normalizedPath = relative(process.cwd(), providerPath).replaceAll("\\", "/");
|
|
10474
|
+
return {
|
|
10475
|
+
action: "skip",
|
|
10476
|
+
content: "",
|
|
10477
|
+
kind: "scaffold",
|
|
10478
|
+
manualActions: [`Wrap your existing Convex provider with ConvexAuthProvider using src/lib/convex/auth-client.ts, or place the provider at ${normalizedPath} before rerunning auth adoption.`],
|
|
10479
|
+
path: normalizedPath,
|
|
10480
|
+
reason: "No Start provider found to patch."
|
|
10481
|
+
};
|
|
10482
|
+
}
|
|
10473
10483
|
return createPlanFile({
|
|
10474
10484
|
kind: "scaffold",
|
|
10475
10485
|
filePath: providerPath,
|
package/dist/cli.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { $ as promptForScaffoldTemplateSelection, A as resolveCodegenTrimSegments, B as runConfiguredCodegen, C as isEntryPoint, Ct as serializeEnvValue, D as parseInitCommandArgs, Dt as logger, E as parseBackendRunJson, F as resolveRunDeps, G as runMigrationFlow, H as runDevSchemaBackfillIfNeeded, I as runAfterScaffoldScript, J as withWorkingDirectory, K as trackProcess, L as runAggregateBackfillFlow, M as resolveDocTopic, N as resolveInitProjectDir, O as readPackageVersions, Ot as highlighter, P as resolveMigrationConfig, Q as promptForPluginSelection, R as runAggregatePruneFlow, S as isConvexDevPreRunConflictFlag, St as resolveAuthEnvState, T as parseArgs, U as runInitCommandFlow, V as runConvexInitIfNeeded, W as runMigrationCreate, X as collectPluginScaffoldTemplates, Y as createSpinner, Z as filterScaffoldTemplatePathMap, _ as formatInfoOutput, _t as applyPlanningDependencyInstall, a as cleanup, at as getPluginCatalogEntry, b as getDevAggregateBackfillStatePath, bt as resolveSupportedDependencyWarnings, c as createCommandEnv, ct as buildPluginInstallPlan, d as extractBackfillCliOptions, dt as collectInstalledPluginKeys, et as resolveAddTemplateDefaults, f as extractConcaveRunTargetArgs, ft as getPluginLockfilePath, g as formatDocsOutput, gt as applyDependencyHintsInstall, h as extractResetCliOptions, ht as resolveSchemaInstalledPlugins, i as buildInitializationPlan, it as resolveTemplatesByIdOrThrow, j as resolveConfiguredBackend, k as resolveBackfillConfig, l as ensureConvexGitignoreEntry, lt as resolvePluginScaffoldRoots, m as extractMigrationDownOptions, mt as readPluginLockfile, n as applyPluginInstallPlanFiles, nt as resolvePresetScaffoldTemplates, o as createBackendAdapter, ot as getSupportedPluginKeys, p as extractMigrationCliOptions, pt as getSchemaFilePath, q as withLocalCodegenEnv, r as assertNoRemovedDevPreRunFlag, rt as resolveTemplateSelectionSource, s as createBackendCommandEnv, st as isSupportedPluginKey, t as applyDependencyInstallPlan, tt as resolvePluginPreset, u as extractBackendRunTargetArgs, ut as assertSchemaFileExists, v as getAggregateBackfillDeploymentKey, vt as applyPluginDependencyInstall, w as isInitialized, wt as stripConvexCommandNoise, x as hasRemoteConvexDeploymentEnv, xt as resolveProjectScaffoldContext, y as getConvexDeploymentCommandEnv, yt as inspectPluginDependencyInstall, z as runBackendFunction } from "./backend-core-
|
|
2
|
+
import { $ as promptForScaffoldTemplateSelection, A as resolveCodegenTrimSegments, B as runConfiguredCodegen, C as isEntryPoint, Ct as serializeEnvValue, D as parseInitCommandArgs, Dt as logger, E as parseBackendRunJson, F as resolveRunDeps, G as runMigrationFlow, H as runDevSchemaBackfillIfNeeded, I as runAfterScaffoldScript, J as withWorkingDirectory, K as trackProcess, L as runAggregateBackfillFlow, M as resolveDocTopic, N as resolveInitProjectDir, O as readPackageVersions, Ot as highlighter, P as resolveMigrationConfig, Q as promptForPluginSelection, R as runAggregatePruneFlow, S as isConvexDevPreRunConflictFlag, St as resolveAuthEnvState, T as parseArgs, U as runInitCommandFlow, V as runConvexInitIfNeeded, W as runMigrationCreate, X as collectPluginScaffoldTemplates, Y as createSpinner, Z as filterScaffoldTemplatePathMap, _ as formatInfoOutput, _t as applyPlanningDependencyInstall, a as cleanup, at as getPluginCatalogEntry, b as getDevAggregateBackfillStatePath, bt as resolveSupportedDependencyWarnings, c as createCommandEnv, ct as buildPluginInstallPlan, d as extractBackfillCliOptions, dt as collectInstalledPluginKeys, et as resolveAddTemplateDefaults, f as extractConcaveRunTargetArgs, ft as getPluginLockfilePath, g as formatDocsOutput, gt as applyDependencyHintsInstall, h as extractResetCliOptions, ht as resolveSchemaInstalledPlugins, i as buildInitializationPlan, it as resolveTemplatesByIdOrThrow, j as resolveConfiguredBackend, k as resolveBackfillConfig, l as ensureConvexGitignoreEntry, lt as resolvePluginScaffoldRoots, m as extractMigrationDownOptions, mt as readPluginLockfile, n as applyPluginInstallPlanFiles, nt as resolvePresetScaffoldTemplates, o as createBackendAdapter, ot as getSupportedPluginKeys, p as extractMigrationCliOptions, pt as getSchemaFilePath, q as withLocalCodegenEnv, r as assertNoRemovedDevPreRunFlag, rt as resolveTemplateSelectionSource, s as createBackendCommandEnv, st as isSupportedPluginKey, t as applyDependencyInstallPlan, tt as resolvePluginPreset, u as extractBackendRunTargetArgs, ut as assertSchemaFileExists, v as getAggregateBackfillDeploymentKey, vt as applyPluginDependencyInstall, w as isInitialized, wt as stripConvexCommandNoise, x as hasRemoteConvexDeploymentEnv, xt as resolveProjectScaffoldContext, y as getConvexDeploymentCommandEnv, yt as inspectPluginDependencyInstall, z as runBackendFunction } from "./backend-core-DDs8CYH7.mjs";
|
|
3
3
|
import fs, { existsSync, readFileSync } from "node:fs";
|
|
4
4
|
import path, { delimiter, dirname, join, relative, resolve } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
package/dist/watcher.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { Dt as logger, Et as getConvexConfig, F as resolveRunDeps, Tt as generateMeta, j as resolveConfiguredBackend, q as withLocalCodegenEnv } from "./backend-core-
|
|
2
|
+
import { Dt as logger, Et as getConvexConfig, F as resolveRunDeps, Tt as generateMeta, j as resolveConfiguredBackend, q as withLocalCodegenEnv } from "./backend-core-DDs8CYH7.mjs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
|
package/package.json
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: ALWAYS use this skill when working with convex or kitcn. Covers
|
|
4
|
-
# biome-ignore format: keep sources compact so intent's 500-line validator passes
|
|
2
|
+
name: kitcn
|
|
3
|
+
description: ALWAYS use this skill when working with convex or kitcn. Covers both setup and e2e feature paths using cRPC + ORM + auth + React.
|
|
5
4
|
sources: [www/content/docs/concepts.mdx, www/content/docs/orm/index.mdx, www/content/docs/orm/schema/relations.mdx, www/content/docs/orm/schema/triggers.mdx, www/content/docs/orm/queries/aggregates.mdx, www/content/docs/orm/queries/pagination.mdx, www/content/docs/server/error-handling.mdx, www/content/docs/server/http.mdx, www/content/docs/server/middlewares.mdx, www/content/docs/server/procedures.mdx, www/content/docs/server/server-side-calls.mdx, www/content/docs/react/queries.mdx, www/content/docs/react/mutations.mdx, www/content/docs/react/infinite-queries.mdx, www/content/docs/auth/client.mdx, www/content/docs/auth/server.mdx]
|
|
6
|
-
# biome-ignore format: mirror blog/spec shape without burning 30 lines
|
|
7
5
|
metadata: { sources: [www/content/docs/concepts.mdx, www/content/docs/orm/index.mdx, www/content/docs/orm/schema/relations.mdx, www/content/docs/orm/schema/triggers.mdx, www/content/docs/orm/queries/aggregates.mdx, www/content/docs/orm/queries/pagination.mdx, www/content/docs/server/error-handling.mdx, www/content/docs/server/http.mdx, www/content/docs/server/middlewares.mdx, www/content/docs/server/procedures.mdx, www/content/docs/server/server-side-calls.mdx, www/content/docs/react/queries.mdx, www/content/docs/react/mutations.mdx, www/content/docs/react/infinite-queries.mdx, www/content/docs/auth/client.mdx, www/content/docs/auth/server.mdx] }
|
|
8
6
|
---
|
|
9
7
|
# kitcn Core Skill (80% Path)
|
|
@@ -64,7 +62,6 @@ Only remember these non-parity deltas:
|
|
|
64
62
|
29. Polymorphic unions are schema-first: use `actionType: discriminator({ variants, as? })` in `convexTable(...)`. Query config does not include a `polymorphic` option. Writes stay flat; reads synthesize nested `details` (or custom alias). Use `withVariants: true` to auto-load all `one()` relations on discriminator tables.
|
|
65
63
|
30. Do not add manual ORM mutation batching loops in app/plugin code by default. Convex runtime batching already handles mutation execution. Prefer set-based deletes/updates over per-row loops. Only add explicit chunking when batching external side effects (for example Resend API calls) or bounded cleanup sweeps.
|
|
66
64
|
## Directory Boundary (Important)
|
|
67
|
-
This skill is directory-scoped. Do not depend on reading files outside `packages/kitcn/skills/convex/**`.
|
|
68
65
|
Use `references/setup/` when the task needs:
|
|
69
66
|
1. Project/file structure setup → `setup/index.md` + `setup/server.md`
|
|
70
67
|
2. Auth bootstrap → `setup/auth.md`
|
|
@@ -430,14 +430,18 @@ export const updateOrganization = authMutation
|
|
|
430
430
|
if (input.name !== undefined) data.name = input.name;
|
|
431
431
|
if (slug !== undefined) data.slug = slug;
|
|
432
432
|
|
|
433
|
-
await ctx.
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
433
|
+
await ctx.orm
|
|
434
|
+
.update(organization)
|
|
435
|
+
.set(data)
|
|
436
|
+
.where(eq(organization.id, input.organizationId));
|
|
437
437
|
return null;
|
|
438
438
|
});
|
|
439
439
|
```
|
|
440
440
|
|
|
441
|
+
Use an `authAction` instead of an `authMutation` for any Better Auth endpoint
|
|
442
|
+
that can run external plugin work such as Stripe, Polar, or email delivery.
|
|
443
|
+
Convex mutations cannot call those SDKs.
|
|
444
|
+
|
|
441
445
|
### Delete Organization
|
|
442
446
|
|
|
443
447
|
```ts
|
|
@@ -52,16 +52,16 @@ Snippet policy:
|
|
|
52
52
|
|
|
53
53
|
Use non-overlapping placement.
|
|
54
54
|
|
|
55
|
-
| Destination
|
|
56
|
-
|
|
|
57
|
-
| `references/setup/`
|
|
58
|
-
| `SKILL.md`
|
|
59
|
-
| `references/features/` | Features (on-demand, self-contained)
|
|
55
|
+
| Destination | Role | Must Contain | Must Not Contain |
|
|
56
|
+
| ---------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------- |
|
|
57
|
+
| `references/setup/` | One-time bootstrap (loaded once per project) | install/bootstrap/env/config/initial wiring/framework setup | daily feature patterns and long advanced deep-dives |
|
|
58
|
+
| `SKILL.md` | Always-loaded core | generic everyday E2E feature implementation path; usable alone for standard feature delivery | setup/install workflows and advanced niche overload |
|
|
59
|
+
| `references/features/` | Features (on-demand, self-contained) | advanced/special cases, plugin depth, long snippets, niche troubleshooting, long-form API detail | setup bootstrap and generic core flow duplication |
|
|
60
60
|
|
|
61
61
|
Definition:
|
|
62
62
|
|
|
63
|
-
- setup == `packages/kitcn/skills/
|
|
64
|
-
- features == `packages/kitcn/skills/
|
|
63
|
+
- setup == `packages/kitcn/skills/kitcn/references/setup/*.md`
|
|
64
|
+
- features == `packages/kitcn/skills/kitcn/references/features/*.md`
|
|
65
65
|
|
|
66
66
|
## 5. WWW Sync Workflow (phase-by-phase)
|
|
67
67
|
|
|
@@ -104,18 +104,21 @@ Minimum acceptance statement per sync:
|
|
|
104
104
|
Run these checks before accepting a sync.
|
|
105
105
|
|
|
106
106
|
1. No stale setup command references in `.claude`:
|
|
107
|
+
|
|
107
108
|
```bash
|
|
108
109
|
rg -n "convex-setup\\.md|commands/convex-setup|\\bconvex-setup\\b" .claude -g '*.md' -g '*.mdc'
|
|
109
110
|
```
|
|
110
111
|
|
|
111
112
|
2. No legacy Ents/`ctx.table` snippets in active Convex skill docs:
|
|
113
|
+
|
|
112
114
|
```bash
|
|
113
|
-
rg -n "ctx\\.table\\(|ctx\\.table\\b|convex-ents|defineEnt\\(" packages/kitcn/skills/
|
|
115
|
+
rg -n "ctx\\.table\\(|ctx\\.table\\b|convex-ents|defineEnt\\(" packages/kitcn/skills/kitcn/SKILL.md packages/kitcn/skills/kitcn/references -g '*.md'
|
|
114
116
|
```
|
|
115
117
|
|
|
116
118
|
3. `SKILL.md` remains setup-free (manual + grep check):
|
|
119
|
+
|
|
117
120
|
```bash
|
|
118
|
-
rg -n "create-next-app|Installation|convex\\.json|\\.env|env push|one-time setup" packages/kitcn/skills/
|
|
121
|
+
rg -n "create-next-app|Installation|convex\\.json|\\.env|env push|one-time setup" packages/kitcn/skills/kitcn/SKILL.md
|
|
119
122
|
```
|
|
120
123
|
|
|
121
124
|
4. Every advanced reference has a discoverable pointer from core when relevant (manual review required).
|
|
@@ -24,7 +24,7 @@ If migration is needed, stop and use migration docs separately. Do not mix migra
|
|
|
24
24
|
This is the **mandatory first prompt** for agents helping users set up kitcn.
|
|
25
25
|
Ask these questions before editing files.
|
|
26
26
|
|
|
27
|
-
### 2.1 Ask These First
|
|
27
|
+
### 2.1 Ask These First
|
|
28
28
|
|
|
29
29
|
#### Required choices
|
|
30
30
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|