create-thally-docs 0.10.20 → 0.10.22

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 CHANGED
@@ -56,6 +56,14 @@ keeps backward-compatible auto-detection when no platform flag is supplied.
56
56
  Explicit `--platform auto` and `--yes` runs print the live-site limitation
57
57
  without introducing an interactive prompt.
58
58
 
59
+ Mintlify repository migrations preserve the source information architecture
60
+ instead of rebuilding navigation from folders: nested project roots, `$ref`
61
+ navigation files, tabs, groups, dropdowns, products, versions, languages,
62
+ redirects, page metadata, snippets, assets, and compatible OpenAPI settings are
63
+ projected into Thally. A live Mintlify URL uses the structured configuration
64
+ embedded by Mintlify when it is available, with bounded same-site crawling as a
65
+ fallback.
66
+
59
67
  Prefer a single binary? Install [`@thallylabs/cli`](https://www.npmjs.com/package/@thallylabs/cli)
60
68
  and use `thally init`, which delegates here.
61
69
 
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-ORUAMPNF.js";
6
6
  import {
7
7
  downloadStarter
8
- } from "./chunk-5T5DF62K.js";
8
+ } from "./chunk-KYUIMJVE.js";
9
9
 
10
10
  // src/scaffold.ts
11
11
  import { existsSync, mkdirSync, readdirSync } from "fs";
@@ -3,7 +3,7 @@ import {
3
3
  initGit,
4
4
  installDeps,
5
5
  scaffold
6
- } from "./chunk-NDJCWQXE.js";
6
+ } from "./chunk-6ZAVISTJ.js";
7
7
 
8
8
  // src/migrate/index.ts
9
9
  import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "fs";
@@ -73,8 +73,8 @@ async function migrateDocs(options) {
73
73
  \u{1F3D7} Scaffolding new project at ${projectDir}...`);
74
74
  await scaffold({
75
75
  projectDir,
76
- projectName: options.projectName ?? "My Docs",
77
- description: `Documentation migrated from ${new URL(options.sourceUrl).hostname}`,
76
+ projectName: options.projectName ?? bundle.site?.name ?? "My Docs",
77
+ description: bundle.site?.description ?? `Documentation migrated from ${new URL(options.sourceUrl).hostname}`,
78
78
  brandPreset: "primary",
79
79
  repoUrl: bundle.sourceKind === "repository" ? options.sourceUrl : "",
80
80
  doInstall: false
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  STABLE_SCAFFOLD_RELEASE
4
- } from "./chunk-JHTV5R56.js";
4
+ } from "./chunk-TOQBJBQY.js";
5
5
 
6
6
  // src/starter-sync.ts
7
7
  import { createHash } from "crypto";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readStarterReleaseManifest
4
- } from "./chunk-MWDPGJXQ.js";
4
+ } from "./chunk-AOFW6HBD.js";
5
5
  import {
6
6
  STABLE_SCAFFOLD_RELEASE
7
- } from "./chunk-JHTV5R56.js";
7
+ } from "./chunk-TOQBJBQY.js";
8
8
 
9
9
  // src/download.ts
10
10
  import { Readable, Transform, pipeline } from "stream";
@@ -3,19 +3,19 @@
3
3
  // src/stable-scaffold-release.json
4
4
  var stable_scaffold_release_default = {
5
5
  schemaVersion: 1,
6
- id: "2026-08-24.00be91d7.192bce3c",
6
+ id: "2026-09-02.6754e995.53facc72",
7
7
  source: {
8
8
  repository: "thallylabs/starter",
9
- commitSha: "00be91d78bdf77558fb7639b7c5ddf0fb51ff9d9",
10
- treeSha: "fe14bc919671b1ab917adfee6250f6c5bb29fa50",
11
- archiveUrl: "https://codeload.github.com/thallylabs/starter/tar.gz/00be91d78bdf77558fb7639b7c5ddf0fb51ff9d9",
9
+ commitSha: "6754e995627c5fd1346adff3b94df67a638786c8",
10
+ treeSha: "cf5351fd09764f5bdb353f6d56aafb443ce33d0e",
11
+ archiveUrl: "https://codeload.github.com/thallylabs/starter/tar.gz/6754e995627c5fd1346adff3b94df67a638786c8",
12
12
  manifestPath: "starter-release.json",
13
- manifestSha256: "185d3020cb7a811c636d8348021bbe6053130fc829520479d168399b00a5927a"
13
+ manifestSha256: "b2cc3721dbf7b6e6514c68824eeb475d958a7d6606151af0ad796fcdc2524c42"
14
14
  },
15
15
  runtime: {
16
16
  repository: "thallylabs/thally",
17
- commitSha: "192bce3c717636d740a20111dbf345f58c691090",
18
- treeSha: "4e8bda2cdea177cefa84c97feb08eaad23481c58",
17
+ commitSha: "53facc72c80f458188ade21d30ab60f7c7bf5527",
18
+ treeSha: "78a77963d3e3ecfec079401db117e48151b71a06",
19
19
  contentSource: "assets",
20
20
  identityContractVersion: 1
21
21
  },
@@ -24,6 +24,46 @@ var stable_scaffold_release_default = {
24
24
 
25
25
  // src/previous-scaffold-releases.json
26
26
  var previous_scaffold_releases_default = [
27
+ {
28
+ schemaVersion: 1,
29
+ id: "2026-08-31.9dd1433e.eec83f6d",
30
+ source: {
31
+ repository: "thallylabs/starter",
32
+ commitSha: "9dd1433ee31298bbc6de8bd20ed8ef9fefcc8b4c",
33
+ treeSha: "b6fe39efe2e4c856b8570e6ec36113b64266fedd",
34
+ archiveUrl: "https://codeload.github.com/thallylabs/starter/tar.gz/9dd1433ee31298bbc6de8bd20ed8ef9fefcc8b4c",
35
+ manifestPath: "starter-release.json",
36
+ manifestSha256: "4252038bfa8a20799f06a4bc35e32ec012d72ef2372463a916f1481592734b6d"
37
+ },
38
+ runtime: {
39
+ repository: "thallylabs/thally",
40
+ commitSha: "eec83f6d9f12409a098ad1b6a77a2ade8aa7e371",
41
+ treeSha: "6d08201b5210ac526c7098647dbfc241da19bd01",
42
+ contentSource: "assets",
43
+ identityContractVersion: 1
44
+ },
45
+ starterVersion: 2
46
+ },
47
+ {
48
+ schemaVersion: 1,
49
+ id: "2026-08-24.00be91d7.192bce3c",
50
+ source: {
51
+ repository: "thallylabs/starter",
52
+ commitSha: "00be91d78bdf77558fb7639b7c5ddf0fb51ff9d9",
53
+ treeSha: "fe14bc919671b1ab917adfee6250f6c5bb29fa50",
54
+ archiveUrl: "https://codeload.github.com/thallylabs/starter/tar.gz/00be91d78bdf77558fb7639b7c5ddf0fb51ff9d9",
55
+ manifestPath: "starter-release.json",
56
+ manifestSha256: "185d3020cb7a811c636d8348021bbe6053130fc829520479d168399b00a5927a"
57
+ },
58
+ runtime: {
59
+ repository: "thallylabs/thally",
60
+ commitSha: "192bce3c717636d740a20111dbf345f58c691090",
61
+ treeSha: "4e8bda2cdea177cefa84c97feb08eaad23481c58",
62
+ contentSource: "assets",
63
+ identityContractVersion: 1
64
+ },
65
+ starterVersion: 2
66
+ },
27
67
  {
28
68
  schemaVersion: 1,
29
69
  id: "2026-08-24.e88a8f1c.f51fcc88",
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  migrateDocs
4
- } from "./chunk-IVFFD2SR.js";
4
+ } from "./chunk-AE6RWHHU.js";
5
5
  import {
6
6
  logo,
7
7
  readDocsJson,
@@ -9,11 +9,11 @@ import {
9
9
  slugify,
10
10
  success,
11
11
  writeDocsJson
12
- } from "./chunk-NDJCWQXE.js";
12
+ } from "./chunk-6ZAVISTJ.js";
13
13
  import "./chunk-ORUAMPNF.js";
14
- import "./chunk-5T5DF62K.js";
15
- import "./chunk-MWDPGJXQ.js";
16
- import "./chunk-JHTV5R56.js";
14
+ import "./chunk-KYUIMJVE.js";
15
+ import "./chunk-AOFW6HBD.js";
16
+ import "./chunk-TOQBJBQY.js";
17
17
 
18
18
  // src/index.ts
19
19
  import { existsSync as existsSync3, readdirSync as readdirSync2 } from "fs";
@@ -405,6 +405,12 @@ async function runCheck(projectDir, options) {
405
405
  "/api",
406
406
  ...Array.from(secondaryLocales, (locale) => `/${locale}/api`)
407
407
  ]);
408
+ const redirectDestinations = new Map(
409
+ (config.redirects ?? []).map((redirect) => [
410
+ redirect.source.replace(/\/$/, "") || "/",
411
+ redirect.destination.replace(/\/$/, "") || "/"
412
+ ])
413
+ );
408
414
  const navPageIds = /* @__PURE__ */ new Set();
409
415
  const duplicates = /* @__PURE__ */ new Set();
410
416
  for (const tab of config.tabs) {
@@ -420,7 +426,7 @@ async function runCheck(projectDir, options) {
420
426
  collectNavPageIds(tab.groups.map((g) => g), navPageIds, duplicates);
421
427
  }
422
428
  for (const dup of duplicates) {
423
- issues.push({ severity: "error", message: `[duplicate] "${dup}" appears more than once in docs.json` });
429
+ issues.push({ severity: "warning", message: `[duplicate] "${dup}" appears more than once in docs.json` });
424
430
  }
425
431
  for (const pageId of navPageIds) {
426
432
  const candidates = [join(contentDir, `${pageId}.mdx`), join(contentDir, `${pageId}/index.mdx`)];
@@ -491,7 +497,8 @@ async function runCheck(projectDir, options) {
491
497
  (prefix) => path === prefix || path.startsWith(`${prefix}/`)
492
498
  );
493
499
  if (isGeneratedApiPath || path.startsWith("/_next") || /\.[a-z0-9]+$/i.test(path)) continue;
494
- if (!validPaths.has(path)) {
500
+ const redirectedPath = redirectDestinations.get(path);
501
+ if (!validPaths.has(path) && !(redirectedPath && validPaths.has(redirectedPath))) {
495
502
  issues.push({ severity: "error", message: `Broken link: "${target}" \u2014 no page at "${path}"`, file, line });
496
503
  } else if (anchor && !anchorsByPath.get(path)?.has(anchor)) {
497
504
  issues.push({ severity: "warning", message: `Broken anchor: "${target}" \u2014 no heading "#${anchor}" on that page`, file, line });
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  migrateDocs
4
- } from "../chunk-IVFFD2SR.js";
5
- import "../chunk-NDJCWQXE.js";
4
+ } from "../chunk-AE6RWHHU.js";
5
+ import "../chunk-6ZAVISTJ.js";
6
6
  import "../chunk-ORUAMPNF.js";
7
- import "../chunk-5T5DF62K.js";
8
- import "../chunk-MWDPGJXQ.js";
9
- import "../chunk-JHTV5R56.js";
7
+ import "../chunk-KYUIMJVE.js";
8
+ import "../chunk-AOFW6HBD.js";
9
+ import "../chunk-TOQBJBQY.js";
10
10
  export {
11
11
  migrateDocs
12
12
  };
package/dist/release.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  STABLE_SCAFFOLD_RELEASE,
4
4
  SUPPORTED_SCAFFOLD_RELEASES,
5
5
  isStableScaffoldRelease
6
- } from "./chunk-JHTV5R56.js";
6
+ } from "./chunk-TOQBJBQY.js";
7
7
  export {
8
8
  STABLE_SCAFFOLD_RELEASE,
9
9
  SUPPORTED_SCAFFOLD_RELEASES,
package/dist/scaffold.js CHANGED
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  scaffold
4
- } from "./chunk-NDJCWQXE.js";
4
+ } from "./chunk-6ZAVISTJ.js";
5
5
  import "./chunk-ORUAMPNF.js";
6
6
  import {
7
7
  STARTER_ARCHIVE_ROOT,
8
8
  STARTER_COMMIT_SHA,
9
9
  STARTER_REPOSITORY,
10
10
  validateStarterArchiveEntry
11
- } from "./chunk-5T5DF62K.js";
12
- import "./chunk-MWDPGJXQ.js";
11
+ } from "./chunk-KYUIMJVE.js";
12
+ import "./chunk-AOFW6HBD.js";
13
13
  import {
14
14
  STABLE_SCAFFOLD_RELEASE
15
- } from "./chunk-JHTV5R56.js";
15
+ } from "./chunk-TOQBJBQY.js";
16
16
  export {
17
17
  STABLE_SCAFFOLD_RELEASE,
18
18
  STARTER_ARCHIVE_ROOT,
@@ -8,8 +8,8 @@ import {
8
8
  planStarterRuntimeSync,
9
9
  readStarterReleaseManifest,
10
10
  starterManifestSha256
11
- } from "./chunk-MWDPGJXQ.js";
12
- import "./chunk-JHTV5R56.js";
11
+ } from "./chunk-AOFW6HBD.js";
12
+ import "./chunk-TOQBJBQY.js";
13
13
  export {
14
14
  applyStarterRuntimeSyncPlan,
15
15
  classifyStarterPath,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  downloadStarter
4
- } from "./chunk-5T5DF62K.js";
4
+ } from "./chunk-KYUIMJVE.js";
5
5
  import {
6
6
  applyStarterRuntimeSyncPlan,
7
7
  mergeStarterOwnershipContracts,
@@ -9,11 +9,11 @@ import {
9
9
  planStarterRuntimeSync,
10
10
  readStarterReleaseManifest,
11
11
  starterManifestSha256
12
- } from "./chunk-MWDPGJXQ.js";
12
+ } from "./chunk-AOFW6HBD.js";
13
13
  import {
14
14
  STABLE_SCAFFOLD_RELEASE,
15
15
  SUPPORTED_SCAFFOLD_RELEASES
16
- } from "./chunk-JHTV5R56.js";
16
+ } from "./chunk-TOQBJBQY.js";
17
17
 
18
18
  // src/starter-update.ts
19
19
  import {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-thally-docs",
3
- "version": "0.10.20",
3
+ "version": "0.10.22",
4
4
  "description": "Scaffold the first documentation surface in a Thally product-knowledge pipeline.",
5
5
  "type": "module",
6
6
  "engines": {