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 +1 -1
- package/stacks/pieces/jskit.md +51 -1
package/package.json
CHANGED
package/stacks/pieces/jskit.md
CHANGED
|
@@ -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.
|