genesis-compiler 1.2.0 → 1.2.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.
package/src/index.js CHANGED
@@ -7,6 +7,7 @@ import { generateProjectPrompt } from './index/prompt.js';
7
7
  import { initializeProject } from './index/init.js';
8
8
  import { installCodexPlugin } from './index/codex-plugin.js';
9
9
  import { inspectProjectEnvironment } from './index/environment-files.js';
10
+ import { inspectProjectDeployment } from './index/deployment.js';
10
11
  import { inspectProjectLaunch } from './index/launch.js';
11
12
  import { listBuiltinStackPieces } from './index/stack-catalog.js';
12
13
  import { addStackPieces } from './index/stack.js';
@@ -77,6 +78,10 @@ export function inspectEnvironment(options) {
77
78
  return inspectProjectEnvironment(options);
78
79
  }
79
80
 
81
+ export function inspectDeployment(options) {
82
+ return inspectProjectDeployment(options);
83
+ }
84
+
80
85
  export function inspectWorkspaceSetup(options) {
81
86
  return inspectProjectWorkspaceSetup(options);
82
87
  }
@@ -9,17 +9,26 @@ JSKIT MySQL runtime, live-schema CRUD generation, and persistence conventions.
9
9
  - `jskit`
10
10
  - `mysql`
11
11
 
12
+ ## Conflicts
13
+
14
+ - `jskit-postgresql`
15
+
16
+ ## Environment defaults
17
+
18
+ - Default `DB_CLIENT`: `mysql2`
19
+
12
20
  ## Resources
13
21
 
14
22
  ```json genesis-resource
15
23
  {
16
24
  "id": "database",
25
+ "kind": "mysql",
17
26
  "environmentAlternatives": [
18
27
  {
19
28
  "required": ["DATABASE_URL"]
20
29
  },
21
30
  {
22
- "required": ["DB_CLIENT", "DB_HOST", "DB_PORT", "DB_NAME", "DB_USER", "DB_PASSWORD"],
31
+ "required": ["DB_HOST", "DB_PORT", "DB_NAME", "DB_USER", "DB_PASSWORD"],
23
32
  "allowEmpty": ["DB_PASSWORD"]
24
33
  }
25
34
  ]
@@ -0,0 +1,46 @@
1
+ # Stack piece: jskit-postgresql
2
+
3
+ ## Description
4
+
5
+ JSKIT PostgreSQL runtime, live-schema CRUD generation, and persistence conventions.
6
+
7
+ ## Requires
8
+
9
+ - `jskit`
10
+ - `postgresql`
11
+
12
+ ## Conflicts
13
+
14
+ - `jskit-mysql`
15
+
16
+ ## Environment defaults
17
+
18
+ - Default `DB_CLIENT`: `pg`
19
+
20
+ ## Resources
21
+
22
+ ```json genesis-resource
23
+ {
24
+ "id": "database",
25
+ "kind": "postgresql",
26
+ "environmentAlternatives": [
27
+ {
28
+ "required": ["DATABASE_URL"]
29
+ },
30
+ {
31
+ "required": ["DB_HOST", "DB_PORT", "DB_NAME", "DB_USER", "DB_PASSWORD"],
32
+ "allowEmpty": ["DB_PASSWORD"]
33
+ }
34
+ ]
35
+ }
36
+ ```
37
+
38
+ ## Deslop
39
+
40
+ - Use the installed JSKIT database runtime and generated resource/repository
41
+ seams; do not add a second client, connection factory, CRUD transport, or
42
+ file-persistence fallback.
43
+ - Keep environment normalization, transactions, row mapping, and database
44
+ error translation at one established persistence boundary.
45
+ - Never compete with or rewrite a generator-owned baseline migration. Preserve
46
+ retained migration history and data semantics.
@@ -2,8 +2,8 @@
2
2
 
3
3
  ## Description
4
4
 
5
- JSKIT application creation, package generators, Vue surfaces, app-owned
6
- generated files, and runtime composition.
5
+ AI-first JSKIT runtime capabilities, tested source patterns, Vue surfaces, and
6
+ application-owned composition.
7
7
 
8
8
  ## Requires
9
9
 
@@ -18,7 +18,7 @@ generated files, and runtime composition.
18
18
 
19
19
  - Before creating or modifying JSKIT Vue/Vuetify UI, load the installed
20
20
  `jskit` Agent Skill and read its `references/material-3.md` completely.
21
- - Implement Material 3 through JSKIT generators, shared screens, shell and
21
+ - Implement Material 3 through JSKIT patterns, shared screens, shell and
22
22
  placement seams, app-owned theme configuration, and supported Vuetify APIs.
23
23
  - Use geometry-preserving Material skeletons for all user-visible loading;
24
24
  never use a generic spinner or circular progress indicator, or let content
@@ -30,6 +30,7 @@ generated files, and runtime composition.
30
30
  ## Workspace setup
31
31
 
32
32
  - Prepare `Install dependencies` with `nodejs` when `package.json` exists: `npm` `install`
33
+ - Prepare `Prepare database` with `nodejs` if `scripts/prepare-database.js` exists: `npm` `run` `db:prepare`
33
34
 
34
35
  ## Environment files
35
36
 
@@ -42,21 +43,30 @@ generated files, and runtime composition.
42
43
  - Default.
43
44
  - Preferred port: `3000`
44
45
  - URL path: `/`
46
+ - Ready when: `GET` `/api/health` returns `200`
45
47
  - Runtimes: `nodejs`
46
- - Prepare `Build`: `npm` `run` `build`
48
+ - Serve `Develop`: `npm` `run` `develop`
49
+
50
+ ## Deployment
51
+
52
+ - Runtimes: `nodejs`
53
+ - Ready when: `GET` `/api/health` returns `200`
54
+ - Prepare `Install dependencies`: `npm` `install`
55
+ - Build `Build`: `npm` `run` `build`
56
+ - Migrate `Prepare database`: `npm` `run` `db:prepare`
47
57
  - Serve `Start`: `npm` `start`
48
58
 
49
59
  ## Deslop
50
60
 
51
61
  - For every affected JSKIT screen, load the installed `jskit` Agent Skill,
52
62
  read `references/material-3.md`, and execute its Material 3 audit.
53
- - Use JSKIT generators, packages, resources, composables, screens, and
54
- placement seams instead of parallel framework plumbing.
55
- - Treat generated output as app-owned and customizable. Adapt routes,
56
- placements, and infrastructure tests coherently; when replacing a starter
63
+ - Use JSKIT patterns, packages, resources, composables, screens, and placement
64
+ seams instead of parallel framework plumbing.
65
+ - Treat copied pattern source as app-owned and customizable. Adapt routes,
66
+ placements, and infrastructure tests coherently; when replacing a foundation
57
67
  route, update its baseline browser coverage instead of deleting it.
58
68
  - Consolidate repeated validation, pending/error state, API access, and page
59
- behavior at the generated shared resource or established JSKIT seam.
69
+ behavior at the shared resource or established JSKIT seam.
60
70
  - Replace transient command-error alerts that shift page content with the
61
71
  established JSKIT action feedback/snackbar seam; preserve stable in-page
62
72
  resource-load errors, retry states, and field validation.
@@ -0,0 +1,18 @@
1
+ # Stack piece: postgresql
2
+
3
+ ## Description
4
+
5
+ PostgreSQL persistence and migration conventions.
6
+
7
+ ## Requires
8
+
9
+ - Nothing.
10
+
11
+ ## Deslop
12
+
13
+ - Keep connection configuration, transaction ownership, and database error
14
+ translation at one persistence boundary.
15
+ - Use the selected integration's client and migration lifecycle instead of
16
+ adding parallel connection factories or schema-management code.
17
+ - Preserve migration history and data semantics. Deslop is not permission for
18
+ destructive schema changes.