@jskit-ai/agent-docs 0.1.118 → 0.1.120

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 (64) hide show
  1. package/guide/agent/app-extras/assistant.md +0 -1
  2. package/guide/agent/app-extras/mobile-capacitor.md +3 -3
  3. package/guide/agent/app-extras/realtime.md +1 -2
  4. package/guide/agent/app-setup/a-more-interesting-shell.md +36 -14
  5. package/guide/agent/app-setup/authentication.md +7 -15
  6. package/guide/agent/app-setup/console.md +0 -1
  7. package/guide/agent/app-setup/database-layer.md +15 -18
  8. package/guide/agent/app-setup/initial-scaffolding.md +61 -101
  9. package/guide/agent/app-setup/multi-homing.md +2 -10
  10. package/guide/agent/app-setup/quickstart.md +0 -1
  11. package/guide/agent/app-setup/upgrade-beta-1-to-final.md +134 -0
  12. package/guide/agent/app-setup/users.md +8 -15
  13. package/guide/agent/app-setup/working-with-the-jskit-cli.md +168 -997
  14. package/guide/agent/generators/advanced-cruds.md +2 -3
  15. package/guide/agent/generators/crud-generators.md +27 -54
  16. package/guide/agent/generators/row-policies.md +1 -1
  17. package/package.json +1 -1
  18. package/patterns/INDEX.md +1 -1
  19. package/patterns/crud-scaffolding.md +9 -10
  20. package/patterns/generated-ui-contract-tracking.md +3 -3
  21. package/patterns/live-actions.md +5 -4
  22. package/patterns/placements.md +2 -2
  23. package/patterns/ui-testing.md +8 -15
  24. package/reference/autogen/packages/assistant-core.md +0 -6
  25. package/reference/autogen/packages/assistant-runtime.md +0 -6
  26. package/reference/autogen/packages/assistant.md +0 -6
  27. package/reference/autogen/packages/auth-core.md +0 -6
  28. package/reference/autogen/packages/auth-provider-local-core.md +0 -6
  29. package/reference/autogen/packages/auth-provider-local-db-core.md +0 -6
  30. package/reference/autogen/packages/auth-provider-supabase-core.md +0 -6
  31. package/reference/autogen/packages/auth-web.md +0 -6
  32. package/reference/autogen/packages/console-core.md +0 -6
  33. package/reference/autogen/packages/console-web.md +0 -6
  34. package/reference/autogen/packages/crud-core.md +0 -6
  35. package/reference/autogen/packages/crud-server-generator.md +0 -10
  36. package/reference/autogen/packages/crud-ui-generator.md +1 -8
  37. package/reference/autogen/packages/database-runtime-mysql.md +0 -6
  38. package/reference/autogen/packages/database-runtime-postgres.md +0 -6
  39. package/reference/autogen/packages/database-runtime.md +0 -6
  40. package/reference/autogen/packages/feature-server-generator.md +1 -11
  41. package/reference/autogen/packages/google-rewarded-core.md +0 -6
  42. package/reference/autogen/packages/google-rewarded-web.md +0 -6
  43. package/reference/autogen/packages/http-runtime.md +0 -6
  44. package/reference/autogen/packages/json-rest-api-core.md +0 -6
  45. package/reference/autogen/packages/kernel.md +45 -42
  46. package/reference/autogen/packages/mobile-capacitor.md +0 -6
  47. package/reference/autogen/packages/realtime.md +0 -6
  48. package/reference/autogen/packages/resource-core.md +0 -6
  49. package/reference/autogen/packages/resource-crud-core.md +0 -6
  50. package/reference/autogen/packages/shell-web.md +0 -6
  51. package/reference/autogen/packages/storage-runtime.md +0 -6
  52. package/reference/autogen/packages/ui-generator.md +0 -6
  53. package/reference/autogen/packages/uploads-image-web.md +0 -6
  54. package/reference/autogen/packages/uploads-runtime.md +0 -6
  55. package/reference/autogen/packages/users-core.md +0 -14
  56. package/reference/autogen/packages/users-web.md +8 -6
  57. package/reference/autogen/packages/workspaces-core.md +0 -6
  58. package/reference/autogen/packages/workspaces-web.md +0 -6
  59. package/reference/autogen/tooling/create-app.md +0 -14
  60. package/reference/autogen/tooling/jskit-cli.md +65 -190
  61. package/reference/autogen/tooling/testUtils.md +14 -0
  62. package/skills/jskit/SKILL.md +4 -4
  63. package/skills/jskit/references/crud-operations.md +7 -6
  64. package/skills/jskit/references/ui-operations.md +16 -19
@@ -0,0 +1,134 @@
1
+ <!-- Generated by `npm run agent-docs:build` from `packages/agent-docs/site/guide/app-setup/upgrade-beta-1-to-final.md`. Do not edit manually. -->
2
+
3
+ # Upgrade guide from Beta 1 to Final Release
4
+
5
+ > Temporary migration guide. Delete this page after every maintained application has upgraded to the Final Release package model.
6
+
7
+ This is a one-way upgrade. Final Release does not read, translate, or preserve Beta 1 JSKIT state.
8
+
9
+ ## 1. Start from a clean commit
10
+
11
+ Commit or stash application work. Record the current database migration status and make a normal database backup before changing packages.
12
+
13
+ Do not run a Final Release JSKIT command until the package manifests have been converted.
14
+
15
+ ## 2. Move package metadata into package.json
16
+
17
+ For every JSKIT package, move the exported metadata from `package.descriptor.mjs` into the package's top-level `jskit` object.
18
+
19
+ Keep identity in standard npm fields:
20
+
21
+ ```json
22
+ {
23
+ "name": "@acme/example-core",
24
+ "version": "1.2.3",
25
+ "description": "Example runtime package.",
26
+ "jskit": {
27
+ "kind": "runtime",
28
+ "capabilities": {
29
+ "provides": [],
30
+ "requires": []
31
+ },
32
+ "runtime": {
33
+ "server": { "providers": [] },
34
+ "client": { "providers": [] }
35
+ },
36
+ "mutations": {
37
+ "dependencies": { "runtime": {}, "dev": {} },
38
+ "files": []
39
+ }
40
+ }
41
+ }
42
+ ```
43
+
44
+ Remove `packageId`, `version`, and `description` from the moved object. Delete every `package.descriptor.mjs` after its data is represented in `package.json`.
45
+
46
+ ## 3. Use npm dependencies for package relationships
47
+
48
+ Move every package relationship from `jskit.dependsOn` to the appropriate standard npm field:
49
+
50
+ - `dependencies` for required runtime packages;
51
+ - `optionalDependencies` for optional runtime integrations;
52
+ - `peerDependencies` for host-provided libraries;
53
+ - `devDependencies` for build and generator tooling.
54
+
55
+ Pin `@jskit-ai/*` packages to exact versions. Remove `jskit.dependsOn` completely.
56
+
57
+ Keep provider-class `static dependsOn` declarations. Those order providers inside the runtime container and are not npm package relationships.
58
+
59
+ ## 4. Remove Beta 1 project state
60
+
61
+ Delete these paths from the application:
62
+
63
+ ```text
64
+ .jskit/lock.json
65
+ .jskit/verification/
66
+ ```
67
+
68
+ Remove ignore rules created solely for `.jskit/verification/`.
69
+
70
+ Do not translate either file into a replacement. Final Release derives package state from `package.json`, `package-lock.json`, installed package manifests, application config, migration files, and generated CI.
71
+
72
+ ## 5. Replace command usage
73
+
74
+ Update scripts, workflow files, runbooks, and automation:
75
+
76
+ | Beta 1 | Final Release |
77
+ | --- | --- |
78
+ | `jskit package migrations ...` | `jskit migrations sync` |
79
+ | `jskit app sync-ci` | `jskit ci generate` |
80
+ | CI drift validation through `doctor` alone | `jskit migrations sync --check` and `jskit ci generate --check` |
81
+ | `jskit update package ...` | update npm versions explicitly or run `jskit app update-packages` |
82
+ | `jskit position element ...` | edit application-owned placements directly |
83
+ | `jskit app verify-ui ...` | run the application's Playwright command directly |
84
+
85
+ Delete automation for package adoption, source-mutation migration, managed-script adoption, UI receipts, or package replay. Final Release has no corresponding commands.
86
+
87
+ ## 6. Install the coordinated Final Release
88
+
89
+ Update every direct `@jskit-ai/*` dependency in the root application and npm workspaces to the coordinated Final Release versions, then install from scratch with the application's normal npm workflow:
90
+
91
+ ```bash
92
+ npm install
93
+ npm ls
94
+ ```
95
+
96
+ Resolve npm peer or capability errors as package-graph errors. Do not add overrides that mix Beta 1 and Final Release packages.
97
+
98
+ ## 7. Generate deterministic projections
99
+
100
+ Synchronize package migration files without applying them:
101
+
102
+ ```bash
103
+ npx jskit migrations sync
104
+ ```
105
+
106
+ Review the migration diff. Existing Knex migration files and migration-table history remain intact.
107
+
108
+ Generate the JSKIT CI workflow:
109
+
110
+ ```bash
111
+ npx jskit ci generate
112
+ ```
113
+
114
+ Move application-specific CI into separate workflow files. The generated JSKIT workflow is replaced in full whenever this command runs.
115
+
116
+ ## 8. Verify the application
117
+
118
+ ```bash
119
+ npx jskit lint-packages
120
+ npx jskit doctor
121
+ npx jskit migrations sync --check
122
+ npx jskit ci generate --check
123
+ npm run verify
124
+ ```
125
+
126
+ Run the application's Playwright suite directly for UI changes.
127
+
128
+ Apply database migrations only after reviewing the synchronized files:
129
+
130
+ ```bash
131
+ npm run db:migrate
132
+ ```
133
+
134
+ Commit package manifests, `package-lock.json`, synchronized migrations, generated CI, and required application changes together.
@@ -20,7 +20,6 @@ From inside `exampleapp`, run:
20
20
 
21
21
  ```bash
22
22
  npx jskit add package users-web
23
- npm install
24
23
  npm run db:migrate
25
24
  ```
26
25
 
@@ -29,7 +28,7 @@ The first command adds `users-web`, but the important part is what arrives with
29
28
  - `users-web` adds the account-facing UI and client runtime pieces
30
29
  - `users-core` arrives as a dependency and adds the persistent users/account server layer and schema migrations
31
30
 
32
- `npm install` downloads those new runtime packages and their dependencies. `npm run db:migrate` is the crucial step that makes the new tables real in MySQL.
31
+ `jskit add` installs those runtime packages and their dependencies. `npm run db:migrate` is the separate step that makes the new tables real in MySQL.
33
32
 
34
33
  In the normal install flow, JSKIT materializes the managed `users-core` migration files while the package install is being applied. Then `npm run db:migrate` is what actually runs those files against MySQL.
35
34
 
@@ -48,14 +47,13 @@ That means the app is expected to project authenticated identities into the pers
48
47
  So the correct flow is:
49
48
 
50
49
  1. add `users-web`
51
- 2. run `npm install`
52
- 3. if you need JSKIT to refresh the managed migration files, run `npx jskit migrations changed`
53
- 4. run `npm run db:migrate`
54
- 5. only then start the app and sign in
50
+ 2. run `npx jskit migrations sync --check`
51
+ 3. run `npm run db:migrate`
52
+ 4. only then start the app and sign in
55
53
 
56
- Most of the time, step 3 is not needed because `jskit add package users-web` already wrote the managed migration files. But the distinction still matters:
54
+ `jskit add package users-web` already synchronizes package migration files. The distinction still matters:
57
55
 
58
- - `jskit migrations changed` writes or refreshes JSKIT-managed migration files in `migrations/`
56
+ - `jskit migrations sync` writes missing immutable package migration files in `migrations/`
59
57
  - `npm run db:migrate` actually applies pending migrations to MySQL
60
58
 
61
59
  ## What `users-web` adds
@@ -353,13 +351,8 @@ Under the hood, `users-core` wires those contributors into the users-backed prof
353
351
 
354
352
  The next chapter uses exactly that pattern. `workspaces-core` registers a contributor so the workspace layer can react when a new user enters the system.
355
353
 
356
- One forward-looking warning matters here. If this app later changes from `tenancyMode = "none"` to `personal` or `workspaces`, the app-local users scaffold written by `users-core` also needs to be refreshed. The multi-homing chapter calls out that recovery step explicitly with:
357
-
358
- ```bash
359
- npx jskit update package users-core
360
- ```
361
-
362
- That is not only a workspace-package concern. The generated `packages/users/...` scaffold itself changes shape when tenancy becomes workspace-aware.
354
+ Choose `config.tenancyMode` before adding `users-core`. The generator uses that
355
+ application decision to create the correct app-owned users package shape.
363
356
 
364
357
  ## Summary
365
358