genesis-compiler 1.2.7 → 1.2.9
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 +4 -0
- package/package.json +1 -1
- package/plugins/genesis/.codex-plugin/plugin.json +1 -1
- package/src/index/prompt.js +1 -1
- package/src/index.js +17 -3
package/README.md
CHANGED
|
@@ -377,6 +377,10 @@ genesis stack list --stack-package genesis-stack
|
|
|
377
377
|
genesis stack add --stack-package genesis-stack jskit jskit-mysql
|
|
378
378
|
```
|
|
379
379
|
|
|
380
|
+
The explicit package flag bootstraps an unconfigured project. Once a Stack
|
|
381
|
+
selection records `genesis-stack` in `genesis/stack.md`, ordinary commands use
|
|
382
|
+
that recorded package directly; `genesis stack list` needs no host flag.
|
|
383
|
+
|
|
380
384
|
`genesis/stack.md` records the owning Stack package, component ids, and optional
|
|
381
385
|
project verification commands. After the first selection, ordinary commands
|
|
382
386
|
resolve the recorded package without another flag. Selecting no components is
|
package/package.json
CHANGED
package/src/index/prompt.js
CHANGED
|
@@ -368,7 +368,7 @@ export async function generateProjectPrompt({
|
|
|
368
368
|
const blueprint = await readBlueprint(root, { required: true, requireDescription: true });
|
|
369
369
|
stack ||= await readStack(root, { stackPackages });
|
|
370
370
|
const [index, projectSkills] = await Promise.all([
|
|
371
|
-
buildProjectIndex({ projectRoot: root, write: false }),
|
|
371
|
+
buildProjectIndex({ projectRoot: root, stackPackages, write: false }),
|
|
372
372
|
inspectProjectSkills({ projectRoot: root, stack }),
|
|
373
373
|
]);
|
|
374
374
|
const missing = missingStackResources({
|
package/src/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import { inspectProjectEnvironment } from './index/environment-files.js';
|
|
|
10
10
|
import { inspectProjectDeployment } from './index/deployment.js';
|
|
11
11
|
import { inspectProjectLaunch } from './index/launch.js';
|
|
12
12
|
import { listStackCatalogPieces } from './index/stack-catalog.js';
|
|
13
|
-
import { addStackPieces } from './index/stack.js';
|
|
13
|
+
import { addStackPieces, readStack } from './index/stack.js';
|
|
14
14
|
import { verifyProject } from './index/verification.js';
|
|
15
15
|
import {
|
|
16
16
|
inspectProjectWorkspaceSetup,
|
|
@@ -76,8 +76,22 @@ export async function addStack({ pieces, projectRoot = process.cwd(), stackPacka
|
|
|
76
76
|
return withIndexResult(selected, index);
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
export function listStackPieces(
|
|
80
|
-
|
|
79
|
+
export async function listStackPieces({
|
|
80
|
+
projectRoot = process.cwd(),
|
|
81
|
+
stackPackages = [],
|
|
82
|
+
} = {}) {
|
|
83
|
+
const root = path.resolve(projectRoot);
|
|
84
|
+
let declaredPackages = [];
|
|
85
|
+
try {
|
|
86
|
+
const stack = await readStack(root, { stackPackages });
|
|
87
|
+
declaredPackages = stack.stackPackages;
|
|
88
|
+
} catch (error) {
|
|
89
|
+
if (error?.code !== 'STACK_REQUIRED') throw error;
|
|
90
|
+
}
|
|
91
|
+
return listStackCatalogPieces({
|
|
92
|
+
projectRoot: root,
|
|
93
|
+
stackPackages: [...new Set([...declaredPackages, ...stackPackages])],
|
|
94
|
+
});
|
|
81
95
|
}
|
|
82
96
|
|
|
83
97
|
export function inspectLaunch(options) {
|