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.
Files changed (26) hide show
  1. package/dist/{backend-core-DZHqsBcu.mjs → backend-core-DDs8CYH7.mjs} +11 -1
  2. package/dist/cli.mjs +1 -1
  3. package/dist/watcher.mjs +1 -1
  4. package/package.json +1 -1
  5. package/skills/{convex → kitcn}/SKILL.md +2 -5
  6. package/skills/{convex → kitcn}/references/features/auth-organizations.md +8 -4
  7. package/skills/{convex → kitcn}/references/setup/doc-guidelines.md +12 -9
  8. package/skills/{convex → kitcn}/references/setup/index.md +1 -1
  9. /package/skills/{convex → kitcn}/references/features/aggregates.md +0 -0
  10. /package/skills/{convex → kitcn}/references/features/auth-admin.md +0 -0
  11. /package/skills/{convex → kitcn}/references/features/auth-polar.md +0 -0
  12. /package/skills/{convex → kitcn}/references/features/auth.md +0 -0
  13. /package/skills/{convex → kitcn}/references/features/create-plugins.md +0 -0
  14. /package/skills/{convex → kitcn}/references/features/http.md +0 -0
  15. /package/skills/{convex → kitcn}/references/features/migrations.md +0 -0
  16. /package/skills/{convex → kitcn}/references/features/orm.md +0 -0
  17. /package/skills/{convex → kitcn}/references/features/react.md +0 -0
  18. /package/skills/{convex → kitcn}/references/features/scheduling.md +0 -0
  19. /package/skills/{convex → kitcn}/references/features/testing.md +0 -0
  20. /package/skills/{convex → kitcn}/references/setup/auth.md +0 -0
  21. /package/skills/{convex → kitcn}/references/setup/biome.md +0 -0
  22. /package/skills/{convex → kitcn}/references/setup/expo.md +0 -0
  23. /package/skills/{convex → kitcn}/references/setup/next.md +0 -0
  24. /package/skills/{convex → kitcn}/references/setup/react.md +0 -0
  25. /package/skills/{convex → kitcn}/references/setup/server.md +0 -0
  26. /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)) throw new Error("Auth preset \"convex\" for TanStack Start expects src/lib/convex/convex-provider.tsx.");
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-DZHqsBcu.mjs";
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-DZHqsBcu.mjs";
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,6 +1,6 @@
1
1
  {
2
2
  "name": "kitcn",
3
- "version": "0.14.1",
3
+ "version": "0.14.2",
4
4
  "description": "kitcn - React Query integration and CLI tools for Convex",
5
5
  "keywords": [
6
6
  "convex",
@@ -1,9 +1,7 @@
1
1
  ---
2
- name: convex
3
- description: ALWAYS use this skill when working with convex or kitcn. Covers the common end-to-end feature path using cRPC + ORM + auth + React, with setup/bootstrap and niche depth in references.
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.auth.api.updateOrganization({
434
- body: { data, organizationId: input.organizationId },
435
- headers: ctx.auth.headers,
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 | 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 |
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/convex/references/setup/*.md`
64
- - features == `packages/kitcn/skills/convex/references/features/*.md`
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/convex/SKILL.md packages/kitcn/skills/convex/references -g '*.md'
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/convex/SKILL.md
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 (match `/www/content/docs/index.mdx`)
27
+ ### 2.1 Ask These First
28
28
 
29
29
  #### Required choices
30
30