genesis-compiler 1.8.1 → 1.8.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/README.md +7 -0
- package/docs/templates.md +3 -0
- package/package.json +1 -1
- package/src/index/template-project.js +2 -0
- package/src/index.js +1 -0
package/README.md
CHANGED
|
@@ -915,6 +915,7 @@ import {
|
|
|
915
915
|
inspectCollaboration,
|
|
916
916
|
inspectEngineering,
|
|
917
917
|
inspectEnvironment,
|
|
918
|
+
inspectProjectFormat,
|
|
918
919
|
inspectSkills,
|
|
919
920
|
inspectStackSection,
|
|
920
921
|
installCodex,
|
|
@@ -947,6 +948,12 @@ The CLI can also prepare and verify parsers for an offline host; see
|
|
|
947
948
|
[language parser management](docs/parsers.md).
|
|
948
949
|
`migrate()` updates recognized older Genesis project-file formats and returns
|
|
949
950
|
the resulting structural check for hosts such as Vibe64.
|
|
951
|
+
`inspectProjectFormat({ projectRoot })` returns only the format marker's `path`,
|
|
952
|
+
`status`, `projectVersion`, `supportedVersion`, `action`, and diagnostic when
|
|
953
|
+
invalid. It retains Git repository discovery and trust checks, but does not
|
|
954
|
+
enumerate application files, load Stack catalogs, or inspect project guidance.
|
|
955
|
+
Missing markers distinguish uninitialized projects from unversioned Genesis
|
|
956
|
+
material. Each call reads current state; it neither migrates nor writes files.
|
|
950
957
|
`adoptProject()` also returns the initial `adopt` prompt for an existing
|
|
951
958
|
codebase. `installCodex()` installs the optional global discovery plugin.
|
|
952
959
|
`listEngineeringProfiles()`, `inspectEngineering()`, and
|
package/docs/templates.md
CHANGED
|
@@ -84,6 +84,9 @@ Genesis never treats partial application code as an empty destination.
|
|
|
84
84
|
|
|
85
85
|
The destination keeps its Git history, remotes, branch, meaningful Blueprint,
|
|
86
86
|
collaboration/engineering choices, and authored Stack operation sections.
|
|
87
|
+
An empty bootstrap subsystem map yields to the starter's authored map, keeping
|
|
88
|
+
the imported Program connected to its source. A nonempty destination map remains
|
|
89
|
+
authored project context; incompatible declarations fail validation before copying.
|
|
87
90
|
Template Stack components/packages are combined with existing selections;
|
|
88
91
|
existing complete operation sections take precedence. No dependency command,
|
|
89
92
|
database command, agent, or Git commit runs during import. The result reports
|
package/package.json
CHANGED
|
@@ -12,6 +12,7 @@ import { runGit, runGitText } from './process.js';
|
|
|
12
12
|
import { listTemplates, resolveTemplate } from './template-catalog.js';
|
|
13
13
|
import { readGitSnapshot } from './template-source.js';
|
|
14
14
|
import { readStack } from './stack.js';
|
|
15
|
+
import { inspectSubsystems } from './subsystems.js';
|
|
15
16
|
import { writeFileAtomic } from './utils.js';
|
|
16
17
|
import { claudeSkillLinkTarget } from './claude-hooks.js';
|
|
17
18
|
|
|
@@ -111,6 +112,7 @@ export async function applyTemplate({ projectRoot, templateId, stackPackages = [
|
|
|
111
112
|
if (previous === null || name.startsWith('.genesis/')) continue;
|
|
112
113
|
const { contents, linkTarget } = previous;
|
|
113
114
|
if (name === 'genesis/blueprint.md' && !parseBlueprintSource(contents.toString('utf8')).description) continue;
|
|
115
|
+
if (name === 'genesis/subsystems.md' && (await inspectSubsystems({ projectRoot: root })).status === 'empty') continue;
|
|
114
116
|
let value = contents;
|
|
115
117
|
if (name === 'genesis/stack.md') value = mergeTemplateStack(stackFile.contents.toString('utf8'), contents.toString('utf8'));
|
|
116
118
|
const location = path.join(stagingRoot, name);
|
package/src/index.js
CHANGED
|
@@ -31,6 +31,7 @@ import { projectSessionContext, projectTurnContext } from './index/session-conte
|
|
|
31
31
|
import { withTrustedGitRepository } from './index/process.js';
|
|
32
32
|
|
|
33
33
|
export { inspectProject };
|
|
34
|
+
export { inspectProjectFormat } from './index/project-format.js';
|
|
34
35
|
export { SOURCE_EXPLANATION_PROMPT_VERSION, sourceExplanationGuidance, sourceExplanationReviewGuidance } from './index/source-explanation.js';
|
|
35
36
|
export { inspectClaudeHooks, installClaudeHooks as syncClaudeHooks } from './index/claude-hooks.js';
|
|
36
37
|
export { inspectAgentIntegrations, syncAgentIntegrations } from './index/agent-integrations.js';
|