genesis-stack 1.4.1 → 1.4.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genesis-stack",
3
- "version": "1.4.1",
3
+ "version": "1.4.3",
4
4
  "description": "The optional curated technology Stack catalog for Genesis projects.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -27,6 +27,18 @@ https://mobily-enterprises.github.io/jskit-ai/
27
27
  foundation, clone the whole framework repository, inspect unrelated package
28
28
  internals, or delegate research unless a concrete failure requires one exact
29
29
  investigation.
30
+ - Before writing or reviewing JSKIT server code (a feature, provider, action,
31
+ service, repository, route, error or test), read the typed features guide at
32
+ `https://mobily-enterprises.github.io/jskit-ai/guide/framework/typed-features`.
33
+ `npm run lint` checks its rules through `@jskit-ai/config-eslint`, and each
34
+ finding links the section that explains it. Fix a finding in the code; excuse
35
+ one only with the guide's `readable-check: allow` comment and reason prefix.
36
+ Do not add project rules that repeat or contradict the guide.
37
+ - Before writing or reviewing JSKIT client code (a Vue component, composable or
38
+ client provider), read the client features guide at
39
+ `https://mobily-enterprises.github.io/jskit-ai/guide/framework/client-features`.
40
+ Client code listed in `clientFeaturesConfig` is held to its rules as lint
41
+ errors, the same way the typed features rules hold server code.
30
42
  - When local authentication is selected, ask whether the relevant application
31
43
  surfaces are public or login-required and expose
32
44
  `AUTH_LOCAL_SESSION_SECRET` as a required environment name in the project's
@@ -41,6 +53,15 @@ https://mobily-enterprises.github.io/jskit-ai/
41
53
  `AUTH_DEV_BYPASS_SECRET`, Runtimes `nodejs`) under the web `Outputs` target.
42
54
  Which existing accounts the preview uses stays the person's choice; never
43
55
  create users for it.
56
+ - Production mode is `NODE_ENV=production`. JSKIT and application code read
57
+ it; JSKIT never sets it. The proposed Deployment sets it on the Serve step
58
+ only. Never make it a project-wide default or set
59
+ it for dependency installation: `npm ci` would then omit the
60
+ devDependencies the Build step needs, such as Vite. `vite build` sets it for
61
+ its own process only. In production JSKIT's local authentication requires
62
+ `AUTH_LOCAL_SESSION_SECRET`, refuses `AUTH_DEV_BYPASS_ENABLED`, and issues
63
+ `Secure` session and CSRF cookies with the `__Host-` prefix, so the first
64
+ production-mode start signs everyone out once.
44
65
  - Before creating or modifying JSKIT Vue/Vuetify UI, read the Material 3
45
66
  contract at
46
67
  `https://mobily-enterprises.github.io/jskit-ai/guide/framework/material-3`
@@ -119,6 +140,13 @@ https://mobily-enterprises.github.io/jskit-ai/
119
140
  that extra section opaque; the deployment consumer validates it. Older source
120
141
  needs a complete project-owned override until a separately approved port
121
142
  supplies the current commands.
143
+ - When an established Deployment's Serve step lacks `NODE_ENV=production`, the
144
+ application has been running in development mode. Add it only when the
145
+ production environment already holds every value the application's source
146
+ requires in production mode (for example real email, payment or storage
147
+ providers instead of simulated ones, and `AUTH_LOCAL_SESSION_SECRET`); the
148
+ next deployment then starts in production mode, and a missing value stops
149
+ it from starting.
122
150
  - Inspect existing setup and database preparation for both migration discovery
123
151
  and an app-owned idempotent seed. Never infer `db:prepare` from the selected
124
152
  component when the script or preparation file does not exist.
@@ -133,6 +161,12 @@ https://mobily-enterprises.github.io/jskit-ai/
133
161
  locators, and retired tool manifests as migration evidence only. Translate
134
162
  live facts into current source/Stack and report remaining port work; do not
135
163
  add compatibility readers or claim adoption performed the port.
164
+ - Compare the application's `eslint.config.mjs` with the foundation pattern's:
165
+ `typedFeaturesConfig` over the server and shared code of each converted
166
+ package, `sizeLimitsConfig` over all hand-written code and `formatterConfig`.
167
+ Report the packages not yet listed, and the findings that keep them out, as
168
+ remaining port work; never lower a rule to `warn` or excuse findings in bulk
169
+ to make lint pass.
136
170
  - Review the proposed `## Resource estimates` section (a host-owned opaque
137
171
  section whose grammar belongs to the consuming host) against the application's
138
172
  actual Outputs target ids and Workspace setup. Its initial Node development
@@ -163,6 +197,17 @@ https://mobily-enterprises.github.io/jskit-ai/
163
197
  - Component root: `src/components`
164
198
  - Component root: `packages`
165
199
 
200
+ ## Architecture inspection
201
+
202
+ ### Inspector `vue`: Application pages, routes and function calls
203
+ - Runtime: `nodejs`
204
+ - Directory: `.`
205
+ - Command: `node` `node_modules/@jskit-ai/shell-web/src/architecture/cli.js` `--alias` `@=src` `--calls`
206
+ - Required files: `node_modules/@jskit-ai/shell-web/src/architecture/cli.js`
207
+ - Timeout seconds: `90`
208
+ - Max output bytes: `67108864`
209
+ - Preview locator: `node_modules/@jskit-ai/architecture-inspector/src/previewLocator.js`
210
+
166
211
  ## City regions
167
212
 
168
213
  - Ignore `**/test/**`
@@ -211,7 +256,7 @@ https://mobily-enterprises.github.io/jskit-ai/
211
256
  - Ready when: `GET` `/api/health` returns `200`
212
257
  - Prepare `Install dependencies`: `npm` `ci`
213
258
  - Build `Build`: `npm` `run` `build`
214
- - Serve `Start`: `npm` `start`
259
+ - Serve `Start`: `env` `NODE_ENV=production` `npm` `start`
215
260
 
216
261
  ## Deslop
217
262
 
@@ -220,6 +265,11 @@ https://mobily-enterprises.github.io/jskit-ai/
220
265
  and execute its audit.
221
266
  - Use JSKIT patterns, packages, resources, composables, screens, and placement
222
267
  seams instead of parallel framework plumbing.
268
+ - For affected JSKIT server code, apply the typed features guide at
269
+ `https://mobily-enterprises.github.io/jskit-ai/guide/framework/typed-features`
270
+ and leave `npm run lint` without findings: collaborators required and typed,
271
+ actions one line from `create<Name>Actions`, refusals with their own code,
272
+ the environment from the caller, files under 750 lines.
223
273
  - Treat copied pattern source as app-owned and customizable. Adapt routes,
224
274
  placements, and infrastructure tests coherently; when replacing a foundation
225
275
  route, update its baseline browser coverage instead of deleting it.