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/README.md +47 -18
- package/docs/stack-components.md +70 -14
- package/package.json +1 -1
- package/plugins/genesis/.codex-plugin/plugin.json +1 -1
- package/prompts/start.txt +5 -0
- package/skills/genesis-project/SKILL.md +6 -3
- package/src/index/check.js +5 -1
- package/src/index/deployment.js +31 -0
- package/src/index/environment-files.js +10 -3
- package/src/index/launch.js +6 -1
- package/src/index/prompt.js +5 -1
- package/src/index/stack-catalog.js +1 -0
- package/src/index/stack-deployment.js +204 -0
- package/src/index/stack-environment-defaults.js +79 -0
- package/src/index/stack-launch.js +37 -0
- package/src/index/stack-piece.js +16 -2
- package/src/index/stack-workspace-setup.js +7 -3
- package/src/index/stack.js +27 -0
- package/src/index/verification.js +31 -1
- package/src/index/workspace-setup.js +25 -10
- package/src/index.js +5 -0
- package/stacks/pieces/jskit-mysql.md +10 -1
- package/stacks/pieces/jskit-postgresql.md +46 -0
- package/stacks/pieces/jskit.md +19 -9
- package/stacks/pieces/postgresql.md +18 -0
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": ["
|
|
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.
|
package/stacks/pieces/jskit.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## Description
|
|
4
4
|
|
|
5
|
-
JSKIT
|
|
6
|
-
|
|
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
|
|
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
|
-
-
|
|
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
|
|
54
|
-
|
|
55
|
-
- Treat
|
|
56
|
-
placements, and infrastructure tests coherently; when replacing a
|
|
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
|
|
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.
|