yosr-seed 0.2.3 → 0.2.5

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +2 -1
  3. package/dist/adopt.d.ts +6 -0
  4. package/dist/adopt.js +430 -0
  5. package/dist/adopt.js.map +1 -0
  6. package/dist/create.js +39 -3
  7. package/dist/create.js.map +1 -1
  8. package/dist/doctor.js +42 -2
  9. package/dist/doctor.js.map +1 -1
  10. package/dist/engine/ci/apply.d.ts +4 -0
  11. package/dist/engine/ci/apply.js +8 -1
  12. package/dist/engine/ci/apply.js.map +1 -1
  13. package/dist/engine/ci/content.d.ts +1 -1
  14. package/dist/engine/ci/content.js +20 -0
  15. package/dist/engine/ci/content.js.map +1 -1
  16. package/dist/engine/gate/run.d.ts +61 -1
  17. package/dist/engine/gate/run.js +305 -32
  18. package/dist/engine/gate/run.js.map +1 -1
  19. package/dist/engine/index.d.ts +9 -6
  20. package/dist/engine/index.js +7 -4
  21. package/dist/engine/index.js.map +1 -1
  22. package/dist/engine/render/lockfile.js +1 -0
  23. package/dist/engine/render/lockfile.js.map +1 -1
  24. package/dist/engine/render/package-manager.d.ts +21 -0
  25. package/dist/engine/render/package-manager.js +75 -1
  26. package/dist/engine/render/package-manager.js.map +1 -1
  27. package/dist/engine/render/render.d.ts +1 -1
  28. package/dist/engine/render/render.js +44 -8
  29. package/dist/engine/render/render.js.map +1 -1
  30. package/dist/engine/render/types.d.ts +5 -1
  31. package/dist/gate.js +68 -12
  32. package/dist/gate.js.map +1 -1
  33. package/dist/help.js +24 -2
  34. package/dist/help.js.map +1 -1
  35. package/dist/preflight.d.ts +15 -1
  36. package/dist/preflight.js +43 -5
  37. package/dist/preflight.js.map +1 -1
  38. package/dist/run.js +6 -0
  39. package/dist/run.js.map +1 -1
  40. package/dist/schemas/seed.answers.schema.json +8 -1
  41. package/dist/schemas/seed.template.schema.json +12 -2
  42. package/dist/templates.d.ts +1 -1
  43. package/dist/templates.js +24 -0
  44. package/dist/templates.js.map +1 -1
  45. package/dist/upgrade.d.ts +35 -0
  46. package/dist/upgrade.js +390 -0
  47. package/dist/upgrade.js.map +1 -0
  48. package/package.json +10 -7
@@ -1,4 +1,6 @@
1
1
  import type { PackageManagerName } from "./types.js";
2
+ /** Binary on PATH for a package-manager id (`maven` → `mvn`). */
3
+ export declare function packageManagerBinary(name: string): string;
2
4
  export declare function packageManagerAvailable(name: string): boolean;
3
5
  export declare function packageManagerMessage(name: PackageManagerName, available: boolean): string | undefined;
4
6
  /** Major.minor of the lowest Python a `>=3.12`-style range accepts. */
@@ -12,3 +14,22 @@ export declare function findPython(range: string): {
12
14
  path?: string;
13
15
  };
14
16
  export declare function pythonMessage(range: string): string;
17
+ /** Major (or major.minor) floor from a `>=10` / `>=10.0` style range. */
18
+ export declare function minimumSdk(range: string | undefined): string | undefined;
19
+ /**
20
+ * Whether `dotnet --version` reports an SDK satisfying `range` (e.g. `>=10.0`).
21
+ * Same shape as {@link findPython} / {@link findJava} for later stacks.
22
+ */
23
+ export declare function findDotnet(range: string): {
24
+ found: boolean;
25
+ version?: string;
26
+ };
27
+ export declare function dotnetMessage(range: string): string;
28
+ /**
29
+ * Whether `java -version` reports a JDK satisfying `range` (e.g. `>=25`).
30
+ */
31
+ export declare function findJava(range: string): {
32
+ found: boolean;
33
+ version?: string;
34
+ };
35
+ export declare function javaMessage(range: string): string;
@@ -1,6 +1,12 @@
1
1
  import { spawnSync } from "node:child_process";
2
+ /** Binary on PATH for a package-manager id (`maven` → `mvn`). */
3
+ export function packageManagerBinary(name) {
4
+ return name === "maven" ? "mvn" : name;
5
+ }
2
6
  export function packageManagerAvailable(name) {
3
- const result = spawnSync(name, ["--version"], { stdio: "ignore" });
7
+ const result = spawnSync(packageManagerBinary(name), ["--version"], {
8
+ stdio: "ignore",
9
+ });
4
10
  return result.status === 0;
5
11
  }
6
12
  export function packageManagerMessage(name, available) {
@@ -10,6 +16,10 @@ export function packageManagerMessage(name, available) {
10
16
  return "Package manager pnpm was not found. Run `corepack enable` and try again.";
11
17
  if (name === "uv")
12
18
  return "uv was not found. Install it from https://docs.astral.sh/uv/ and try again.";
19
+ if (name === "dotnet")
20
+ return "The .NET SDK was not found. Install it from https://dot.net/download and try again.";
21
+ if (name === "maven")
22
+ return "Maven was not found. Install it from https://maven.apache.org/download.cgi and try again.";
13
23
  return "Package manager npm was not found.";
14
24
  }
15
25
  /** Major.minor of the lowest Python a `>=3.12`-style range accepts. */
@@ -29,4 +39,68 @@ export function findPython(range) {
29
39
  export function pythonMessage(range) {
30
40
  return `Python ${range} was not found by uv. Install one with \`uv python install ${minimumPython(range) ?? "3.12"}\` and try again.`;
31
41
  }
42
+ /** Major (or major.minor) floor from a `>=10` / `>=10.0` style range. */
43
+ export function minimumSdk(range) {
44
+ return /^>=\s*(\d+(?:\.\d+)?)/.exec(range ?? "")?.[1];
45
+ }
46
+ function versionMeetsFloor(version, floor) {
47
+ const parse = (text) => text.split(".").map((part) => Number.parseInt(part, 10) || 0);
48
+ const have = parse(version);
49
+ const need = parse(floor);
50
+ const len = Math.max(have.length, need.length);
51
+ for (let i = 0; i < len; i++) {
52
+ const a = have[i] ?? 0;
53
+ const b = need[i] ?? 0;
54
+ if (a > b)
55
+ return true;
56
+ if (a < b)
57
+ return false;
58
+ }
59
+ return true;
60
+ }
61
+ /**
62
+ * Whether `dotnet --version` reports an SDK satisfying `range` (e.g. `>=10.0`).
63
+ * Same shape as {@link findPython} / {@link findJava} for later stacks.
64
+ */
65
+ export function findDotnet(range) {
66
+ const result = spawnSync("dotnet", ["--version"], { encoding: "utf8" });
67
+ if (result.status !== 0)
68
+ return { found: false };
69
+ const version = (result.stdout ?? "").trim();
70
+ if (version.length === 0)
71
+ return { found: false };
72
+ const floor = minimumSdk(range);
73
+ if (floor === undefined)
74
+ return { found: true, version };
75
+ return versionMeetsFloor(version, floor)
76
+ ? { found: true, version }
77
+ : { found: false, version };
78
+ }
79
+ export function dotnetMessage(range) {
80
+ return `A .NET SDK ${range} was not found. Install one from https://dot.net/download (minimum ${minimumSdk(range) ?? "10.0"}) and try again.`;
81
+ }
82
+ /**
83
+ * Whether `java -version` reports a JDK satisfying `range` (e.g. `>=25`).
84
+ */
85
+ export function findJava(range) {
86
+ const result = spawnSync("java", ["-version"], { encoding: "utf8" });
87
+ // OpenJDK prints version on stderr.
88
+ const text = `${result.stderr ?? ""}${result.stdout ?? ""}`;
89
+ if (result.status !== 0 && text.length === 0)
90
+ return { found: false };
91
+ const match = /version\s+"(\d+)(?:\.(\d+))?/.exec(text) ??
92
+ /version\s+(\d+)(?:\.(\d+))?/.exec(text);
93
+ if (!match)
94
+ return { found: false };
95
+ const version = match[2] !== undefined ? `${match[1]}.${match[2]}` : `${match[1]}`;
96
+ const floor = minimumSdk(range);
97
+ if (floor === undefined)
98
+ return { found: true, version };
99
+ return versionMeetsFloor(version, floor)
100
+ ? { found: true, version }
101
+ : { found: false, version };
102
+ }
103
+ export function javaMessage(range) {
104
+ return `A JDK ${range} was not found. Install one (minimum ${minimumSdk(range) ?? "25"}) and try again.`;
105
+ }
32
106
  //# sourceMappingURL=package-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/render/package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAwB,EAAE,SAAkB;IAChF,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,0EAA0E,CAAC;IACvG,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,6EAA6E,CAAC;IACxG,OAAO,oCAAoC,CAAC;AAC9C,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACzG,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,UAAU,KAAK,8DAA8D,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,mBAAmB,CAAC;AACxI,CAAC"}
1
+ {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/render/package-manager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Mismatch, OptionValue, PackageManagerName, Scalar, StyleProfile, TemplateManifest } from "./types.js";
2
2
  export { RenderError } from "./errors.js";
3
- /** API-only templates (FastAPI, Hono) get endpoint wording in the seeded Local issue. */
3
+ /** API-only templates (FastAPI, Hono, ASP.NET Core, Spring Boot) get endpoint wording in the seeded Local issue. */
4
4
  export declare function isApiOnly(manifest: TemplateManifest): boolean;
5
5
  export type RenderInput = {
6
6
  templateDir: string;
@@ -1,6 +1,7 @@
1
1
  import { execFileSync } from "node:child_process";
2
- import { existsSync, mkdirSync, readdirSync, statSync, writeFileSync } from "node:fs";
2
+ import { existsSync, mkdirSync, readdirSync, statSync, writeFileSync, } from "node:fs";
3
3
  import path from "node:path";
4
+ import { fileURLToPath } from "node:url";
4
5
  import { applyCiArtifacts } from "../ci/apply.js";
5
6
  import { applyWorkflowArtifacts } from "../workflow/apply.js";
6
7
  import { satisfiesYosrEngine } from "./engines.js";
@@ -11,18 +12,32 @@ import { formatTree } from "./format.js";
11
12
  import { addPackages } from "./json-merge.js";
12
13
  import { writeSeedFiles } from "./lockfile.js";
13
14
  import { resolveOptions } from "./options.js";
14
- import { findPython, packageManagerAvailable, packageManagerMessage, pythonMessage, } from "./package-manager.js";
15
+ import { dotnetMessage, findDotnet, findJava, findPython, javaMessage, packageManagerAvailable, packageManagerMessage, pythonMessage, } from "./package-manager.js";
15
16
  import { appendNextAgentRules, writeRules } from "./rules.js";
16
17
  import { applyStyleValues, concreteAliasDirs, concreteRoot, layoutDimension, pathMapFor, relocateTree, resolveStyle, } from "./style.js";
17
18
  import { assertResolved, buildTokens, substitute } from "./tokens.js";
18
- import { applyOp, copyDir, createTree, materializeAnchors, normPath } from "./tree-ops.js";
19
+ import { applyOp, copyDir, createTree, materializeAnchors, normPath, } from "./tree-ops.js";
19
20
  import { readJson } from "./util.js";
20
21
  import { validateProfile, validateTemplate } from "./validate.js";
21
22
  export { RenderError } from "./errors.js";
22
23
  const PM = {
23
- pnpm: { run: "pnpm", exec: "pnpm exec", installCi: "pnpm install --frozen-lockfile" },
24
+ pnpm: {
25
+ run: "pnpm",
26
+ exec: "pnpm exec",
27
+ installCi: "pnpm install --frozen-lockfile",
28
+ },
24
29
  npm: { run: "npm run", exec: "npx", installCi: "npm ci" },
25
30
  uv: { run: "uv run", exec: "uv run", installCi: "uv sync --locked" },
31
+ dotnet: {
32
+ run: "dotnet",
33
+ exec: "dotnet",
34
+ installCi: "dotnet restore --locked-mode",
35
+ },
36
+ maven: {
37
+ run: "mvn",
38
+ exec: "mvn",
39
+ installCi: "mvn -B -q dependency:resolve dependency-lock:check",
40
+ },
26
41
  };
27
42
  /**
28
43
  * Logical root for `domain` / `shared` / `server`. Python and Next.js templates
@@ -32,9 +47,12 @@ const PM = {
32
47
  function logicalRoot(roots, name) {
33
48
  return [`@${name}`, `#${name}`].find((root) => root in roots) ?? `@${name}`;
34
49
  }
35
- /** API-only templates (FastAPI, Hono) get endpoint wording in the seeded Local issue. */
50
+ /** API-only templates (FastAPI, Hono, ASP.NET Core, Spring Boot) get endpoint wording in the seeded Local issue. */
36
51
  export function isApiOnly(manifest) {
37
- return manifest.engines.python !== undefined || manifest.stack?.framework === "hono";
52
+ return (manifest.engines.python !== undefined ||
53
+ manifest.engines.dotnet !== undefined ||
54
+ manifest.engines.java !== undefined ||
55
+ manifest.stack?.framework === "hono");
38
56
  }
39
57
  export async function render(input) {
40
58
  const t0 = Date.now();
@@ -55,6 +73,12 @@ export async function render(input) {
55
73
  const python = manifest.engines.python;
56
74
  if (python !== undefined && !findPython(python).found)
57
75
  fail(pythonMessage(python));
76
+ const dotnet = manifest.engines.dotnet;
77
+ if (dotnet !== undefined && !findDotnet(dotnet).found)
78
+ fail(dotnetMessage(dotnet));
79
+ const java = manifest.engines.java;
80
+ if (java !== undefined && !findJava(java).found)
81
+ fail(javaMessage(java));
58
82
  const pm = PM[pmName];
59
83
  const overrides = input.styleOverrides ?? {};
60
84
  const effective = { ...input.profile.style, ...overrides };
@@ -82,7 +106,11 @@ export async function render(input) {
82
106
  for (const feature of ordered) {
83
107
  const replaces = new Set((feature.replaces ?? []).map((file) => normPath(state, file)));
84
108
  copyDir(state, `${feature.dir ?? `features/${feature.id}`}/files`, `feature:${feature.id}`, (file) => replaces.has(file));
85
- for (const kind of ["dependencies", "devDependencies", "scripts"]) {
109
+ for (const kind of [
110
+ "dependencies",
111
+ "devDependencies",
112
+ "scripts",
113
+ ]) {
86
114
  const map = feature[kind];
87
115
  if (map)
88
116
  addPackages(state, kind, map, `feature:${feature.id}`);
@@ -108,6 +136,8 @@ export async function render(input) {
108
136
  });
109
137
  applyCiArtifacts(state, options, {
110
138
  python: manifest.engines.python !== undefined,
139
+ dotnet: manifest.engines.dotnet !== undefined,
140
+ java: manifest.engines.java !== undefined,
111
141
  });
112
142
  writeRules(state, manifest, options, applied, unsupported, pm, styleRules, allStyleRules, defaultRoots, chosenRoots, concrete, input.profile, activeAliases, extra);
113
143
  const tokens = buildTokens(manifest, options, pmName, pm, dirs, engineVersion);
@@ -125,7 +155,13 @@ export async function render(input) {
125
155
  assertResolved(file, entry.content);
126
156
  if (pmName === "pnpm") {
127
157
  const pkg = state.tree.get("package.json") ?? fail("package.json missing");
128
- const version = execFileSync("pnpm", ["--version"], { encoding: "utf8" }).trim();
158
+ // Resolve pnpm from a cwd without a packageManager pin. Upgrade baselines
159
+ // chdir into an empty temp tree; using process.cwd() would flip the Corepack
160
+ // shim and make package.json hashes drift vs create.
161
+ const version = execFileSync("pnpm", ["--version"], {
162
+ encoding: "utf8",
163
+ cwd: path.dirname(fileURLToPath(import.meta.url)),
164
+ }).trim();
129
165
  const json = JSON.parse(pkg.content);
130
166
  pkg.content = `${JSON.stringify({ ...json, packageManager: `pnpm@${version}` }, null, 2)}\n`;
131
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/render/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/render/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,qBAAqB,EACrB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,OAAO,EACP,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,QAAQ,GACT,MAAM,eAAe,CAAC;AAUvB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,EAAE,GAAuD;IAC7D,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,gCAAgC;KAC5C;IACD,GAAG,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE;IACzD,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE;IACpE,MAAM,EAAE;QACN,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,8BAA8B;KAC1C;IACD,KAAK,EAAE;QACL,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,oDAAoD;KAChE;CACF,CAAC;AAEF;;;;GAIG;AACH,SAAS,WAAW,CAClB,KAA6B,EAC7B,IAAoC;IAEpC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AAC9E,CAAC;AAED,oHAAoH;AACpH,MAAM,UAAU,SAAS,CAAC,QAA0B;IAClD,OAAO,CACL,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;QACrC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;QACrC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;QACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CACrC,CAAC;AACJ,CAAC;AA2BD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAkB;IAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,QAAQ,CACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CACzB,CAAC;IACtB,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACjD,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,IAAI,CACF,aAAa,aAAa,mCAAmC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,IAAI,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IACzE,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClE,IAAI,CAAC,mBAAmB,MAAM,gBAAgB,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,qBAAqB,CACvC,MAAM,EACN,uBAAuB,CAAC,MAAM,CAAC,CAChC,CAAC;IACF,IAAI,WAAW;QAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;IACvC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK;QACnD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;IACvC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK;QACnD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK;QAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;IAEtB,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG;QACf,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;QAC5C,UAAU,EAAE;YACV,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU;YAC3B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD;QACD,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,eAAe,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAC;IACxE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAc,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IACpE,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAE/D,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,UAAU,CAC5B,MAAM,EACN,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACpD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAC9D,CAAC;QACF,OAAO,CACL,KAAK,EACL,GAAG,OAAO,CAAC,GAAG,IAAI,YAAY,OAAO,CAAC,EAAE,EAAE,QAAQ,EAClD,WAAW,OAAO,CAAC,EAAE,EAAE,EACvB,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAC7B,CAAC;QACF,KAAK,MAAM,IAAI,IAAI;YACjB,cAAc;YACd,iBAAiB;YACjB,SAAS;SACD,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,GAAG;gBAAE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE;YACpC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAC9D,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAChC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACxD,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACxD,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACxD,YAAY,EAAE,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;KAC3E,CAAC;IACF,MAAM,aAAa,GAAG,gBAAgB,CACpC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,QAAQ,CACT,CAAC;IACF,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC5C,KAAK,CAAC,OAAO,GAAG,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACzE,KAAK,MAAM,IAAI,IAAI,QAAQ;QAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE;QACrC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC;KAC7B,CAAC,CAAC;IACH,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE;QAC/B,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;QAC7C,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;QAC7C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;KAC1C,CAAC,CAAC;IACH,UAAU,CACR,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,WAAW,EACX,EAAE,EACF,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,aAAa,EACb,KAAK,CACN,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CACxB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,EAAE,EACF,IAAI,EACJ,aAAa,CACd,CAAC;IACF,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAC1C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;SACzE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CACxB,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAChE,IAAI,EACJ,MAAM,CACP,CAAC;QACF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI;QAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAE5E,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3E,0EAA0E;QAC1E,6EAA6E;QAC7E,qDAAqD;QACrD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE;YAClD,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClD,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAA4B,CAAC;QAChE,GAAG,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,QAAQ,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAC/F,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,UAAU,CACrC,KAAK,EACL,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,kBAAkB;IAC5D,gGAAgG;IAChG,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CACjE,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,QAAQ;QAClD,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,cAAc,CAClB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,EACT,OAAO,EACP,WAAW,EACX,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EACpC,WAAW,EACX,aAAa,EACb,cAAc,EACd,OAAO,EACP,KAAK,CAAC,WAAW,CAClB,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,MAAM,UAAU,GACd,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU;YACb,IAAI,CACF,0BAA0B,MAAM,8DAA8D,CAC/F,CAAC;IACN,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO;QACL,MAAM;QACN,OAAO;QACP,OAAO;QACP,WAAW;QACX,OAAO;QACP,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;QACtB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;QACnB,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC;AACJ,CAAC"}
@@ -146,6 +146,10 @@ export type TemplateManifest = {
146
146
  yosr: string;
147
147
  node?: string;
148
148
  python?: string;
149
+ /** .NET SDK range (ASP.NET Core templates), e.g. `>=10.0`. */
150
+ dotnet?: string;
151
+ /** JDK range (Spring templates later), e.g. `>=25`. */
152
+ java?: string;
149
153
  };
150
154
  stack?: {
151
155
  framework: string;
@@ -261,7 +265,7 @@ export type ConcreteDirs = {
261
265
  serverDir: string;
262
266
  featureUiDir: string | null;
263
267
  };
264
- export type PackageManagerName = "pnpm" | "npm" | "uv";
268
+ export type PackageManagerName = "pnpm" | "npm" | "uv" | "dotnet" | "maven";
265
269
  export type PackageManagerCommands = {
266
270
  run: string;
267
271
  exec: string;
package/dist/gate.js CHANGED
@@ -1,29 +1,70 @@
1
1
  import { existsSync, readFileSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { exitCodes, runGate } from "./engine/index.js";
4
- import { liveProbe, packageManagerCheck, pythonCheck, } from "./preflight.js";
4
+ import { dotnetCheck, javaCheck, liveProbe, packageManagerCheck, pythonCheck, } from "./preflight.js";
5
5
  import { isTemplateId, loadTemplateManifest, templateDir, templatePackageVersion, } from "./templates.js";
6
- const USAGE = "Usage: yosr-seed gate [dir] [--e2e] [--image]";
6
+ const USAGE = "Usage: yosr-seed gate [dir] [--e2e] [--image] [--database-url <url>] [--mongodb-uri <uri>]";
7
7
  function lastLines(text) {
8
8
  const lines = text.split("\n").filter((line) => line.trim().length > 0);
9
9
  return lines.slice(-15).join("\n");
10
10
  }
11
+ function takeFlagValue(name, inline, rest) {
12
+ if (inline !== undefined && inline.length > 0)
13
+ return inline;
14
+ const next = rest.shift();
15
+ if (next === undefined || next.startsWith("--"))
16
+ throw new Error(`Missing value for --${name}.`);
17
+ return next;
18
+ }
11
19
  /** Re-runs the recorded template's checks in a generated project. */
12
20
  export async function runGateCommand(io) {
13
21
  let dir;
14
22
  let e2e = false;
15
23
  let image = false;
16
- for (const arg of io.args.slice(1)) {
17
- if (arg === "--e2e")
18
- e2e = true;
19
- else if (arg === "--image")
20
- image = true;
21
- else if (arg.startsWith("--") || dir !== undefined) {
22
- io.stderr(USAGE);
23
- return exitCodes.failure;
24
- }
25
- else
24
+ let databaseUrl;
25
+ let mongodbUri;
26
+ const rest = [...io.args.slice(1)];
27
+ try {
28
+ while (rest.length > 0) {
29
+ const arg = rest.shift();
30
+ if (arg === undefined)
31
+ break;
32
+ if (arg === "--e2e") {
33
+ e2e = true;
34
+ continue;
35
+ }
36
+ if (arg === "--image") {
37
+ image = true;
38
+ continue;
39
+ }
40
+ if (arg === "--database-url" || arg.startsWith("--database-url=")) {
41
+ const inline = arg.startsWith("--database-url=")
42
+ ? arg.slice("--database-url=".length)
43
+ : undefined;
44
+ databaseUrl = takeFlagValue("database-url", inline, rest);
45
+ continue;
46
+ }
47
+ if (arg === "--mongodb-uri" || arg.startsWith("--mongodb-uri=")) {
48
+ const inline = arg.startsWith("--mongodb-uri=")
49
+ ? arg.slice("--mongodb-uri=".length)
50
+ : undefined;
51
+ mongodbUri = takeFlagValue("mongodb-uri", inline, rest);
52
+ continue;
53
+ }
54
+ if (arg.startsWith("--") || dir !== undefined) {
55
+ io.stderr(USAGE);
56
+ return exitCodes.failure;
57
+ }
26
58
  dir = arg;
59
+ }
60
+ }
61
+ catch (error) {
62
+ io.stderr(error instanceof Error ? error.message : String(error));
63
+ return exitCodes.failure;
64
+ }
65
+ if (databaseUrl !== undefined && mongodbUri !== undefined) {
66
+ io.stderr("Pass only one of --database-url or --mongodb-uri.");
67
+ return exitCodes.failure;
27
68
  }
28
69
  const root = path.resolve(io.cwd ?? process.cwd(), dir ?? ".");
29
70
  const answersPath = path.join(root, ".seed", "answers.json");
@@ -37,6 +78,15 @@ export async function runGateCommand(io) {
37
78
  io.stderr(`.seed/answers.json records template ${name || "(none)"}, which this yosr-seed does not ship.`);
38
79
  return exitCodes.failure;
39
80
  }
81
+ const database = answers.options?.database;
82
+ if (databaseUrl !== undefined && database !== "postgres") {
83
+ io.stderr("--database-url is only for Postgres projects. This project is not using Postgres.");
84
+ return exitCodes.failure;
85
+ }
86
+ if (mongodbUri !== undefined && database !== "mongodb") {
87
+ io.stderr("--mongodb-uri is only for MongoDB projects. This project is not using MongoDB.");
88
+ return exitCodes.failure;
89
+ }
40
90
  const manifest = loadTemplateManifest(name);
41
91
  const shipped = templatePackageVersion(name);
42
92
  io.stdout(`Template: ${name}@${shipped}`);
@@ -48,6 +98,10 @@ export async function runGateCommand(io) {
48
98
  const checks = [packageManagerCheck(manager, probe)];
49
99
  if (manifest.engines.python !== undefined)
50
100
  checks.push(pythonCheck(manifest.engines.python, probe));
101
+ if (manifest.engines.dotnet !== undefined)
102
+ checks.push(dotnetCheck(manifest.engines.dotnet, probe));
103
+ if (manifest.engines.java !== undefined)
104
+ checks.push(javaCheck(manifest.engines.java, probe));
51
105
  const missing = checks.filter((check) => !check.ok);
52
106
  if (missing.length > 0) {
53
107
  for (const check of missing)
@@ -61,6 +115,8 @@ export async function runGateCommand(io) {
61
115
  e2e,
62
116
  image,
63
117
  quiet: true,
118
+ ...(databaseUrl !== undefined ? { databaseUrl } : {}),
119
+ ...(mongodbUri !== undefined ? { mongodbUri } : {}),
64
120
  });
65
121
  for (const step of gate.steps) {
66
122
  const seconds = step.durationSec !== undefined ? ` ${step.durationSec}s` : "";
package/dist/gate.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
package/dist/help.js CHANGED
@@ -63,12 +63,22 @@ function needsLine(manifest) {
63
63
  const python = manifest.engines.python;
64
64
  if (python !== undefined)
65
65
  return `Needs Python ${python}.`;
66
+ const dotnet = manifest.engines.dotnet;
67
+ if (dotnet !== undefined)
68
+ return `Needs .NET SDK ${dotnet}.`;
69
+ const java = manifest.engines.java;
70
+ if (java !== undefined)
71
+ return `Needs JDK ${java} and Maven.`;
66
72
  return `Needs Node.js ${manifest.engines.node ?? ">=24"}.`;
67
73
  }
68
74
  /** What `style.ignore` leaves out of a template, in words. */
69
75
  function skippedSettings(manifest) {
70
76
  if (manifest.engines.python !== undefined)
71
77
  return "TypeScript, Prettier, React naming";
78
+ if (manifest.engines.dotnet !== undefined)
79
+ return "TypeScript, Prettier, React naming";
80
+ if (manifest.engines.java !== undefined)
81
+ return "TypeScript, Prettier, React naming";
72
82
  return "lint preset, forms, React component naming, data fetching";
73
83
  }
74
84
  /** Flags of a non-default template that differ from the default template's. */
@@ -129,16 +139,22 @@ export function buildHelpText() {
129
139
  "Other commands",
130
140
  " yosr-seed doctor",
131
141
  " yosr-seed info",
132
- " yosr-seed gate [dir] [--e2e] [--image]",
142
+ " yosr-seed upgrade",
143
+ " Report template changes since create. Writes nothing; does not apply upgrades.",
144
+ " yosr-seed adopt [dir] --template <id> [--package-manager <pm>] [--yes]",
145
+ " Preview, then add AGENTS.md + pointer files and an adopted .seed/ record. Does not rewrite app code.",
146
+ " yosr-seed gate [dir] [--e2e] [--image] [--database-url <url>] [--mongodb-uri <uri>]",
133
147
  " Run the project's checks again (lint, typecheck, tests, ...) and rewrite .seed/report.md.",
134
148
  " yosr-seed --version",
135
149
  "",
136
150
  "Flags",
137
151
  ` --template <${templateChoices()}>`,
138
- " Which starter to create. A terminal asks; otherwise next-fullstack.",
152
+ " Which starter to create (or adopt as). A terminal asks for create; adopt requires the flag or a prompt.",
139
153
  ...optionLines(manifest),
140
154
  ` --package-manager <${managers}>`,
141
155
  " Package manager used to install and run the project.",
156
+ " --yes",
157
+ " For adopt: apply after preview without prompts; never overwrite existing rulebook files.",
142
158
  " --profile <name>",
143
159
  " Use this named style profile for one run.",
144
160
  " A path (separator or .json) still works for one minor, then is removed;",
@@ -158,6 +174,12 @@ export function buildHelpText() {
158
174
  " Run the optional end-to-end step.",
159
175
  " --no-gate",
160
176
  " Write the project and skip install, lint, typecheck, build, and test.",
177
+ " --database-url <url>",
178
+ " Create/gate: use this throwaway Postgres URL instead of a Docker container.",
179
+ " Never read from the environment; never written to .seed/.",
180
+ " --mongodb-uri <uri>",
181
+ " Create/gate: use this throwaway MongoDB URI instead of a Docker container.",
182
+ " Never read from the environment; never written to .seed/.",
161
183
  " --no-git",
162
184
  " Do not create a git repository.",
163
185
  " --push",
package/dist/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,18 @@ export type CommandProbe = {
12
12
  found: boolean;
13
13
  text: string;
14
14
  };
15
+ /** A .NET SDK that satisfies `range` (e.g. `>=10.0`). */
16
+ dotnet?(range: string): {
17
+ found: boolean;
18
+ text: string;
19
+ };
20
+ /** A JDK that satisfies `range` (e.g. `>=25`). */
21
+ java?(range: string): {
22
+ found: boolean;
23
+ text: string;
24
+ };
15
25
  };
16
- export type ManagerName = "pnpm" | "npm" | "uv";
26
+ export type ManagerName = "pnpm" | "npm" | "uv" | "dotnet" | "maven";
17
27
  export type Check = {
18
28
  name: string;
19
29
  ok: boolean;
@@ -25,6 +35,10 @@ export declare function nodeCheck(version: string): Check;
25
35
  export declare function packageManagerCheck(manager: ManagerName, probe: CommandProbe): Check;
26
36
  /** Python for a Python template (`engines.python`, for example `>=3.12`). */
27
37
  export declare function pythonCheck(range: string, probe: CommandProbe): Check;
38
+ /** .NET SDK for an ASP.NET Core template (`engines.dotnet`, for example `>=10.0`). */
39
+ export declare function dotnetCheck(range: string, probe: CommandProbe): Check;
40
+ /** JDK for a Spring Boot template (`engines.java`, for example `>=25`). */
41
+ export declare function javaCheck(range: string, probe: CommandProbe): Check;
28
42
  export declare function gitCheck(enabled: boolean, probe: CommandProbe, identity: {
29
43
  name: string;
30
44
  email: string;