create-feltkit 0.3.9 → 0.3.11

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/bin/create.js CHANGED
@@ -49,7 +49,7 @@ try {
49
49
  console.log(dim("The dev server prints your app URL and a dashboard link. State lives in .feltkit/development/state."));
50
50
  console.log(dim("README.md covers running, testing, deploying, and every feltkit command."));
51
51
  }
52
- console.log(dim("Using a coding agent? `npx feltkit skills install` (after npm install) adds the FeltKit skills for Claude Code."));
52
+ console.log(dim("Using a coding agent? `npx feltkit skills install` (after npm install) adds the FeltKit skills for Claude Code; restart the Claude Code session afterwards to load them."));
53
53
  } catch (error) {
54
54
  console.error(`${red("✗")} ${error.message}`);
55
55
  if (error.hint) console.error(` hint: ${error.hint}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-feltkit",
3
- "version": "0.3.9",
3
+ "version": "0.3.11",
4
4
  "description": "Create a FeltKit application: npm create feltkit@latest my-app (add -- --template managed for Managed FeltDB)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -38,6 +38,7 @@ start over.
38
38
  |---|---|
39
39
  | `feltkit/app.ts` | The application: its name, roles and permissions, dev users, enabled services, collections |
40
40
  | `feltkit/projects.ts`, `feltkit/tasks.ts` | Functions: queries (read) and mutations (write). A function is `<module>:<export>`, e.g. `tasks:create` |
41
+ | `feltkit/_*.ts` | Helpers shared by function modules (business rules, formatting). A file whose name starts with `_` is not loaded as a function module |
41
42
  | `feltkit/_generated/api.ts` | Typed references to every function. Regenerated by `feltkit dev` and `feltkit codegen`; don't edit it |
42
43
  | `src/` | The React frontend. Colors are tokens in `src/styles.css`, each `light-dark(light, dark)`; the top bar's switch (`src/theme.tsx`) picks light, dark, or the system setting, remembered per browser and applied before first paint by `public/theme.js` |
43
44
  | `tests/` | Tests, each against a fresh FeltDB instance |
@@ -240,8 +241,10 @@ without their FeltDB settings.
240
241
  `MAILPORT_API_KEY`), and `auth.providers` for "Continue with Google / GitHub" (client id in
241
242
  `feltkit/app.ts`, client secret as `FELTKIT_CREDENTIAL_<ID>_CLIENT_SECRET`).
242
243
 
243
- **On AppBoundry** (`npx feltkit build --target appboundry`, then `appboundry run tasks.app`),
244
- AppBoundry's operators create users with your app's roles and issue their sessions:
244
+ **On AppBoundry** (`npx feltkit build --target appboundry`, then `appboundry run tasks.app` with
245
+ AppBoundry built from its repository: no npm release reads the format yet; to test the artifact
246
+ itself, use `createArtifactTestApp("tasks.app")` from `@feltdb/feltkit/testing`), AppBoundry's
247
+ operators create users with your app's roles and issue their sessions:
245
248
 
246
249
  ```bash
247
250
  appboundry admin users add you --role member --state <installation>
@@ -289,6 +292,21 @@ To move non-secret configuration between environments, use
289
292
  To deploy on Managed FeltDB, where no host keeps state, start from
290
293
  `npm create feltkit@latest <dir> -- --template managed`; its README walks through setup.
291
294
 
295
+ ## Portability (AppBoundry)
296
+
297
+ `npx feltkit build --target appboundry` compiles the app into `tasks.app`, which runs without
298
+ this project or FeltKit. A plain `npx feltkit build` warns about anything that would block it.
299
+ An artifact refuses (the build names the file and line):
300
+
301
+ - `ctx.agent`, `ctx.unsafe`, `ctx.afterCommit`, `ctx.db.sequence`: they need the FeltKit server;
302
+ - `app.integration(...)` and `auth.authenticate`;
303
+ - Node built-ins in `feltkit/`;
304
+ - `Intl`, `toLocaleString`, `localeCompare`: the artifact has no locale data, so format for
305
+ people in the frontend.
306
+
307
+ It also leaves out Studio, `/mcp`, API keys, schedules and webhook delivery. To run your tests
308
+ against the artifact itself: `createArtifactTestApp("tasks.app")` from `@feltdb/feltkit/testing`.
309
+
292
310
  ## Commands
293
311
 
294
312
  npm scripts:
@@ -13,7 +13,7 @@
13
13
  "typecheck": "tsc --noEmit"
14
14
  },
15
15
  "dependencies": {
16
- "@feltdb/feltkit": "0.3.9",
16
+ "@feltdb/feltkit": "0.3.11",
17
17
  "react": "19.2.0",
18
18
  "react-dom": "19.2.0"
19
19
  },
@@ -20,10 +20,10 @@
20
20
  "deploy:fly": "node scripts/deploy-fly.mjs"
21
21
  },
22
22
  "dependencies": {
23
- "@feltdb/feltkit": "0.3.9"
23
+ "@feltdb/feltkit": "0.3.11"
24
24
  },
25
25
  "devDependencies": {
26
- "@feltdb/core": ">=0.17.1 <1.0.0",
26
+ "@feltdb/core": ">=0.18.0 <1.0.0",
27
27
  "@types/node": "22.19.1",
28
28
  "typescript": "5.9.3"
29
29
  }