bsmnt 0.2.7 → 0.2.8

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 (69) hide show
  1. package/README.md +1 -1
  2. package/dist/helpers/create/index.d.ts +2 -1
  3. package/dist/helpers/create/index.d.ts.map +1 -1
  4. package/dist/helpers/create/index.js +16 -5
  5. package/dist/helpers/create/index.js.map +1 -1
  6. package/dist/helpers/create/init-git.d.ts +12 -0
  7. package/dist/helpers/create/init-git.d.ts.map +1 -0
  8. package/dist/helpers/create/init-git.js +34 -0
  9. package/dist/helpers/create/init-git.js.map +1 -0
  10. package/dist/helpers/create/setup-agent.d.ts +3 -2
  11. package/dist/helpers/create/setup-agent.d.ts.map +1 -1
  12. package/dist/helpers/create/setup-agent.js +42 -31
  13. package/dist/helpers/create/setup-agent.js.map +1 -1
  14. package/dist/helpers/create/setup-sanity.d.ts.map +1 -1
  15. package/dist/helpers/create/setup-sanity.js +31 -25
  16. package/dist/helpers/create/setup-sanity.js.map +1 -1
  17. package/dist/helpers/create/update-package.d.ts.map +1 -1
  18. package/dist/helpers/create/update-package.js +10 -0
  19. package/dist/helpers/create/update-package.js.map +1 -1
  20. package/dist/helpers/integrate/index.d.ts.map +1 -1
  21. package/dist/helpers/integrate/index.js +27 -13
  22. package/dist/helpers/integrate/index.js.map +1 -1
  23. package/dist/helpers/integrate/merge-config.d.ts.map +1 -1
  24. package/dist/helpers/integrate/merge-config.js +5 -0
  25. package/dist/helpers/integrate/merge-config.js.map +1 -1
  26. package/dist/helpers/integrate/merge-orchestrator.js +1 -1
  27. package/dist/helpers/integrate/merge-orchestrator.js.map +1 -1
  28. package/dist/helpers/integrate/sanity/config.d.ts.map +1 -1
  29. package/dist/helpers/integrate/sanity/config.js +12 -1
  30. package/dist/helpers/integrate/sanity/config.js.map +1 -1
  31. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.d.ts.map +1 -1
  32. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.js +2 -21
  33. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.js.map +1 -1
  34. package/dist/index.js +48 -19
  35. package/dist/index.js.map +1 -1
  36. package/index.js +4 -3
  37. package/package.json +7 -2
  38. package/src/helpers/integrate/sanity/files/app/api/blog/[slug]/route.ts +75 -0
  39. package/src/helpers/integrate/sanity/files/app/blog/[slug]/page.tsx +56 -0
  40. package/src/helpers/integrate/sanity/files/app/sitemap.md/route.ts +82 -0
  41. package/src/helpers/integrate/sanity/files/app/sitemap.ts +2 -21
  42. package/src/helpers/integrate/sanity/files/lib/integrations/README.md +1 -1
  43. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/MARKDOWN-PROXY.md +273 -0
  44. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/README.md +9 -9
  45. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/components/rich-text.tsx +2 -2
  46. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/live/index.tsx +53 -8
  47. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/markdown-proxy.config.ts +49 -0
  48. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/queries.ts +7 -40
  49. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/sanity.cli.ts +5 -0
  50. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/sanity.config.ts +2 -22
  51. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/sanity.types.ts +1 -24
  52. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schema.json +2 -124
  53. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/index.ts +1 -3
  54. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/link.ts +2 -2
  55. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/utils/link.ts +25 -2
  56. package/src/helpers/integrate/sanity/files/lib/scripts/generate-page.ts +17 -30
  57. package/src/helpers/integrate/sanity/files/lib/utils/metadata.ts +9 -9
  58. package/src/helpers/integrate/sanity/files/lib/utils/portable-text-to-markdown.ts +24 -0
  59. package/src/helpers/integrate/sanity/files/proxy.ts +66 -0
  60. package/src/templates/next-default/components/ui/image/image.module.css +5 -0
  61. package/src/templates/next-default/components/ui/image/index.tsx +1 -2
  62. package/src/templates/next-default/next.config.ts +0 -1
  63. package/src/templates/next-experiments/components/ui/image/image.module.css +5 -0
  64. package/src/templates/next-experiments/components/ui/image/index.tsx +3 -2
  65. package/src/templates/next-experiments/next.config.ts +0 -1
  66. package/src/templates/next-webgl/components/ui/image/image.module.css +5 -0
  67. package/src/templates/next-webgl/components/ui/image/index.tsx +1 -2
  68. package/src/templates/next-webgl/next.config.ts +0 -1
  69. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/page.ts +0 -77
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # bsmnt `0.2.7`
1
+ # bsmnt `0.2.8`
2
2
 
3
3
  Your project starts here. One command to go from zero to a fully configured Next.js project with our stack, CMS, agent skills, and everything wired up.
4
4
 
@@ -1,4 +1,5 @@
1
1
  import type { TemplateName } from "./copy-template.js";
2
+ import type { AgentType } from "./setup-agent.js";
2
3
  /** All options required by the create-project orchestrator. */
3
4
  export interface CreateProjectOptions {
4
5
  projectName: string;
@@ -6,7 +7,7 @@ export interface CreateProjectOptions {
6
7
  template: TemplateName;
7
8
  cms: string;
8
9
  animation: string;
9
- agent: "claude" | "opencode" | null;
10
+ agents: AgentType[];
10
11
  hooks: string[];
11
12
  }
12
13
  /** Result summary returned after project creation. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helpers/create/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQvD,+DAA+D;AAC/D,MAAM,WAAW,oBAAoB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAClC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CAmF9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helpers/create/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMlD,+DAA+D;AAC/D,MAAM,WAAW,oBAAoB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAClC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CAoG9B"}
@@ -1,11 +1,12 @@
1
1
  import ora from "ora";
2
2
  import { addHooks } from "../add/index.js";
3
+ import { installDependencies } from "./install.js";
3
4
  import { injectIntegration } from "../integrate/merge-orchestrator.js";
4
5
  import { copyTemplate } from "./copy-template.js";
5
- import { installDependencies } from "./install.js";
6
6
  import { renameSpecialFiles } from "./rename-files.js";
7
7
  import { setupAgent } from "./setup-agent.js";
8
8
  import { setupSanity } from "./setup-sanity.js";
9
+ import { initGitRepo } from "./init-git.js";
9
10
  import { updatePackageJson } from "./update-package.js";
10
11
  /**
11
12
  * Orchestrate the full project creation pipeline.
@@ -13,7 +14,7 @@ import { updatePackageJson } from "./update-package.js";
13
14
  * Displays ora spinners with step-by-step progress while steps run.
14
15
  */
15
16
  export async function createProject(options) {
16
- const { projectName, targetDir, template, cms, animation, agent, hooks } = options;
17
+ const { projectName, targetDir, template, cms, animation, agents, hooks, } = options;
17
18
  const spinner = ora({ color: "cyan" });
18
19
  try {
19
20
  // 1. Copy template + rename special files
@@ -43,16 +44,16 @@ export async function createProject(options) {
43
44
  spinner.succeed(`${cms.charAt(0).toUpperCase() + cms.slice(1)} integration added`);
44
45
  }
45
46
  // 4. Set up agent skills (slow — 10-30s)
46
- if (agent) {
47
+ if (agents.length > 0) {
47
48
  spinner.start("Setting up AI agent skills...");
48
49
  await setupAgent(targetDir, {
49
- agent,
50
+ agents,
50
51
  cms,
51
52
  templateType: template,
52
53
  });
53
54
  spinner.succeed("Agent skills installed");
54
55
  }
55
- // 5. Install dependencies (slow — 5-20s)
56
+ // 5. Install dependencies
56
57
  spinner.start("Installing dependencies...");
57
58
  await installDependencies(targetDir);
58
59
  spinner.succeed("Dependencies installed");
@@ -79,6 +80,16 @@ export async function createProject(options) {
79
80
  // Sanity auto-setup is optional; callers handle messaging
80
81
  }
81
82
  }
83
+ // 8. Initialize git repository with initial commit
84
+ const spinner2 = ora({ color: "cyan" });
85
+ spinner2.start("Initializing git repository...");
86
+ const gitInitialized = await initGitRepo(targetDir);
87
+ if (gitInitialized) {
88
+ spinner2.succeed("Git repository initialized");
89
+ }
90
+ else {
91
+ spinner2.warn("Git initialization skipped (git may not be installed)");
92
+ }
82
93
  return {
83
94
  success: true,
84
95
  sanitySetupDone,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/create/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/create/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Initialize a git repository in the target project directory and create an
3
+ * initial commit with all scaffolded files.
4
+ *
5
+ * Fails silently when git is not installed or any git operation errors out —
6
+ * a missing repo is non-fatal for the generated project.
7
+ *
8
+ * @param targetDir - Absolute path to the scaffolded project directory
9
+ * @returns `true` if the repo was initialised successfully, `false` otherwise
10
+ */
11
+ export declare function initGitRepo(targetDir: string): Promise<boolean>;
12
+ //# sourceMappingURL=init-git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-git.d.ts","sourceRoot":"","sources":["../../../src/helpers/create/init-git.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0BrE"}
@@ -0,0 +1,34 @@
1
+ import { execSync } from "node:child_process";
2
+ /**
3
+ * Initialize a git repository in the target project directory and create an
4
+ * initial commit with all scaffolded files.
5
+ *
6
+ * Fails silently when git is not installed or any git operation errors out —
7
+ * a missing repo is non-fatal for the generated project.
8
+ *
9
+ * @param targetDir - Absolute path to the scaffolded project directory
10
+ * @returns `true` if the repo was initialised successfully, `false` otherwise
11
+ */
12
+ export async function initGitRepo(targetDir) {
13
+ try {
14
+ execSync("git init", {
15
+ cwd: targetDir,
16
+ stdio: "pipe",
17
+ });
18
+ execSync("git add -A", {
19
+ cwd: targetDir,
20
+ stdio: "pipe",
21
+ });
22
+ execSync('git commit -m "initial commit" --author="basement <dev@basement.studio>"', {
23
+ cwd: targetDir,
24
+ stdio: "pipe",
25
+ });
26
+ return true;
27
+ }
28
+ catch {
29
+ // git might not be installed or the commit may fail for config reasons.
30
+ // Either way, the project is still usable — just without a repo.
31
+ return false;
32
+ }
33
+ }
34
+ //# sourceMappingURL=init-git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-git.js","sourceRoot":"","sources":["../../../src/helpers/create/init-git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAiB;IAClD,IAAI,CAAC;QACJ,QAAQ,CAAC,UAAU,EAAE;YACpB,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,QAAQ,CAAC,YAAY,EAAE;YACtB,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,QAAQ,CACP,0EAA0E,EAC1E;YACC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,MAAM;SACb,CACD,CAAC;QAEF,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,wEAAwE;QACxE,iEAAiE;QACjE,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC"}
@@ -1,7 +1,8 @@
1
+ export type AgentType = "claude" | "opencode" | "cursor" | "codex" | "gemini";
1
2
  /** Options controlling which agent tooling to scaffold. */
2
3
  export interface AgentOptions {
3
- /** The AI agent flavour, or null to skip agent setup. */
4
- agent: "claude" | "opencode" | null;
4
+ /** The AI agents to configure. Empty means skip agent setup. */
5
+ agents: AgentType[];
5
6
  /** The selected CMS integration (e.g. "sanity"), or null / "none". */
6
7
  cms: string | null;
7
8
  /** The selected template type (e.g. "webgpu", "experiment"). */
@@ -1 +1 @@
1
- {"version":3,"file":"setup-agent.d.ts","sourceRoot":"","sources":["../../../src/helpers/create/setup-agent.ts"],"names":[],"mappings":"AAIA,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC5B,yDAAyD;IACzD,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;IACpC,sEAAsE;IACtE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,gEAAgE;IAChE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAqEf"}
1
+ {"version":3,"file":"setup-agent.d.ts","sourceRoot":"","sources":["../../../src/helpers/create/setup-agent.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAClB,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,OAAO,GACP,QAAQ,CAAC;AAgBZ,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC5B,gEAAgE;IAChE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,sEAAsE;IACtE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,gEAAgE;IAChE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAwEf"}
@@ -1,6 +1,13 @@
1
1
  import { execSync } from "node:child_process";
2
2
  import path from "node:path";
3
3
  import fs from "fs-extra";
4
+ const AGENT_CONFIG = {
5
+ claude: { agentArg: "claude-code", agentFolder: ".claude" },
6
+ opencode: { agentArg: "opencode", agentFolder: ".opencode" },
7
+ cursor: { agentArg: "cursor", agentFolder: ".cursor" },
8
+ codex: { agentArg: "codex", agentFolder: ".codex" },
9
+ gemini: { agentArg: "gemini-cli", agentFolder: ".gemini" },
10
+ };
4
11
  /**
5
12
  * Set up AI agent skills and configuration in the target project.
6
13
  *
@@ -12,45 +19,49 @@ import fs from "fs-extra";
12
19
  * @param options - Agent configuration
13
20
  */
14
21
  export async function setupAgent(targetDir, options) {
15
- if (!options.agent)
22
+ const selectedAgents = [...new Set(options.agents)];
23
+ if (selectedAgents.length === 0)
16
24
  return;
17
- const agentArg = options.agent === "opencode" ? "opencode" : "claude-code";
18
- const agentFolder = options.agent === "opencode" ? ".opencode" : ".claude";
19
- // Create skills directory
20
- const skillsPath = path.join(targetDir, agentFolder, "skills");
21
- await fs.ensureDir(skillsPath);
22
- await fs.writeFile(path.join(skillsPath, ".gitkeep"), "");
23
- // Build skills install commands
24
- const skillsCommands = [
25
- `bunx skills add vercel-labs/agent-skills --skill vercel-react-best-practices --skill web-design-guidelines -a ${agentArg} -y`,
26
- `bunx skills add anthropics/skills --skill frontend-design -a ${agentArg} -y`,
27
- `bunx skills add vercel-labs/next-skills --skill next-best-practices -a ${agentArg} -y`,
28
- ];
29
- const installWebgpuSkill = [
25
+ for (const agent of selectedAgents) {
26
+ const { agentFolder } = AGENT_CONFIG[agent];
27
+ const skillsPath = path.join(targetDir, agentFolder, "skills");
28
+ await fs.ensureDir(skillsPath);
29
+ await fs.writeFile(path.join(skillsPath, ".gitkeep"), "");
30
+ }
31
+ const installWebgpuSkill = new Set([
30
32
  "webgpu",
31
33
  "experiment",
32
34
  "next-webgl",
33
35
  "next-experiments",
34
- ].includes(options.templateType ?? "");
35
- if (installWebgpuSkill) {
36
- skillsCommands.push(`bunx skills add https://github.com/dgreenheck/webgpu-claude-skill --skill webgpu-threejs-tsl -a ${agentArg} -y`);
37
- }
36
+ ]).has(options.templateType ?? "");
38
37
  const cms = options.cms && options.cms !== "none" ? options.cms : null;
39
- if (cms === "sanity") {
40
- skillsCommands.push(`bunx skills add sanity-io/agent-toolkit -a ${agentArg} -y`);
41
- }
42
- // Install skills
43
- try {
44
- execSync(skillsCommands.join(" && "), {
45
- cwd: targetDir,
46
- stdio: "ignore",
47
- });
48
- }
49
- catch {
50
- // Non-fatal: skills install may fail due to network issues
38
+ for (const agent of selectedAgents) {
39
+ const { agentArg } = AGENT_CONFIG[agent];
40
+ const skillsCommands = [
41
+ `bunx skills add vercel-labs/agent-skills --skill vercel-react-best-practices --skill web-design-guidelines -a ${agentArg} -y`,
42
+ `bunx skills add anthropics/skills --skill frontend-design -a ${agentArg} -y`,
43
+ `bunx skills add vercel-labs/next-skills --skill next-best-practices -a ${agentArg} -y`,
44
+ ];
45
+ if (installWebgpuSkill) {
46
+ skillsCommands.push(`bunx skills add https://github.com/dgreenheck/webgpu-claude-skill --skill webgpu-threejs-tsl -a ${agentArg} -y`);
47
+ }
48
+ if (cms === "sanity") {
49
+ skillsCommands.push(`bunx skills add sanity-io/agent-toolkit -a ${agentArg} -y`);
50
+ }
51
+ for (const command of skillsCommands) {
52
+ try {
53
+ execSync(command, {
54
+ cwd: targetDir,
55
+ stdio: "ignore",
56
+ });
57
+ }
58
+ catch {
59
+ // Non-fatal: skills install may fail due to network issues
60
+ }
61
+ }
51
62
  }
52
63
  // Register Sanity MCP server for Claude Code
53
- if (cms === "sanity" && options.agent === "claude") {
64
+ if (cms === "sanity" && selectedAgents.includes("claude")) {
54
65
  try {
55
66
  execSync("claude mcp add Sanity -t http https://mcp.sanity.io --scope user", { stdio: "pipe" });
56
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup-agent.js","sourceRoot":"","sources":["../../../src/helpers/create/setup-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAY1B;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,SAAiB,EACjB,OAAqB;IAErB,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO;IAE3B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;IAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3E,0BAA0B;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAE1D,gCAAgC;IAChC,MAAM,cAAc,GAAa;QAChC,iHAAiH,QAAQ,KAAK;QAC9H,gEAAgE,QAAQ,KAAK;QAC7E,0EAA0E,QAAQ,KAAK;KACvF,CAAC;IAEF,MAAM,kBAAkB,GAAG;QAC1B,QAAQ;QACR,YAAY;QACZ,YAAY;QACZ,kBAAkB;KAClB,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAEvC,IAAI,kBAAkB,EAAE,CAAC;QACxB,cAAc,CAAC,IAAI,CAClB,mGAAmG,QAAQ,KAAK,CAChH,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvE,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACtB,cAAc,CAAC,IAAI,CAClB,8CAA8C,QAAQ,KAAK,CAC3D,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC;QACJ,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACrC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,QAAQ;SACf,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACR,2DAA2D;IAC5D,CAAC;IAED,6CAA6C;IAC7C,IAAI,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpD,IAAI,CAAC;YACJ,QAAQ,CACP,kEAAkE,EAClE,EAAE,KAAK,EAAE,MAAM,EAAE,CACjB,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,oCAAoC;YACpC,MAAM,MAAM,GACX,KAAK,YAAY,MAAM;gBACvB,QAAQ,IAAI,KAAK;gBACjB,KAAK,CAAC,MAAM,YAAY,MAAM;gBAC7B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACzB,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACxC,iDAAiD;YAClD,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"setup-agent.js","sourceRoot":"","sources":["../../../src/helpers/create/setup-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-sanity.d.ts","sourceRoot":"","sources":["../../../src/helpers/create/setup-sanity.ts"],"names":[],"mappings":"AAkBA,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IAClC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AA+OD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAmNlB"}
1
+ {"version":3,"file":"setup-sanity.d.ts","sourceRoot":"","sources":["../../../src/helpers/create/setup-sanity.ts"],"names":[],"mappings":"AAwBA,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IAClC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAwPD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAoNlB"}
@@ -1,4 +1,4 @@
1
- import { execFileSync, execSync } from "node:child_process";
1
+ import { execFileSync } from "node:child_process";
2
2
  import path from "node:path";
3
3
  import fs from "fs-extra";
4
4
  import ora from "ora";
@@ -15,23 +15,27 @@ function stripAnsi(str) {
15
15
  const ansiRegex = /\u001b\[[0-9;?]*[A-Za-z]/g;
16
16
  return str.replace(ansiRegex, "");
17
17
  }
18
- /** Verify Sanity CLI is available via npx. */
19
- function verifySanityCli() {
18
+ /** Resolve a runnable Sanity CLI command from local deps or global PATH. */
19
+ function resolveSanityCli(targetDir) {
20
+ const localBin = path.join(targetDir, "node_modules", ".bin", process.platform === "win32" ? "sanity.cmd" : "sanity");
21
+ if (fs.existsSync(localBin)) {
22
+ return { command: localBin, source: "local" };
23
+ }
20
24
  try {
21
- execSync("npx --yes sanity --version", {
25
+ execFileSync("sanity", ["--version"], {
22
26
  stdio: "pipe",
23
27
  timeout: 30_000,
24
28
  });
25
- return true;
29
+ return { command: "sanity", source: "global" };
26
30
  }
27
31
  catch {
28
- return false;
32
+ return null;
29
33
  }
30
34
  }
31
35
  /** Verify user is authenticated with Sanity. */
32
- function verifyAuth() {
36
+ function verifyAuth(cli) {
33
37
  try {
34
- execSync("npx --yes sanity projects list", {
38
+ execFileSync(cli.command, ["projects", "list"], {
35
39
  stdio: "pipe",
36
40
  timeout: 30_000,
37
41
  });
@@ -56,10 +60,8 @@ async function fetchOrganizations(authToken) {
56
60
  * Create a Sanity project and return the project ID.
57
61
  * Uses execFileSync to avoid shell injection via project name.
58
62
  */
59
- function createSanityProject(projectName, organizationId) {
63
+ function createSanityProject(projectName, organizationId, cli) {
60
64
  const args = [
61
- "--yes",
62
- "sanity",
63
65
  "projects",
64
66
  "create",
65
67
  projectName,
@@ -69,7 +71,7 @@ function createSanityProject(projectName, organizationId) {
69
71
  if (organizationId) {
70
72
  args.push("--organization", organizationId);
71
73
  }
72
- const output = execFileSync("npx", args, {
74
+ const output = execFileSync(cli.command, args, {
73
75
  encoding: "utf-8",
74
76
  timeout: 120_000,
75
77
  });
@@ -90,8 +92,8 @@ function createSanityProject(projectName, organizationId) {
90
92
  throw new Error(`Could not parse project ID from Sanity CLI output:\n${output}`);
91
93
  }
92
94
  /** Get the user's Sanity auth token from the CLI debug output. */
93
- function getAuthToken() {
94
- const output = execSync("npx --yes sanity debug --secrets 2>&1", {
95
+ function getAuthToken(cli) {
96
+ const output = execFileSync(cli.command, ["debug", "--secrets"], {
95
97
  encoding: "utf-8",
96
98
  timeout: 30_000,
97
99
  });
@@ -119,7 +121,7 @@ async function createApiToken(projectId, authToken) {
119
121
  });
120
122
  const data = (await response.json());
121
123
  if (response.status === 401 || response.status === 403) {
122
- throw new Error("Auth token expired or invalid. Run: npx sanity login");
124
+ throw new Error("Auth token expired or invalid. Run: sanity login");
123
125
  }
124
126
  if (!response.ok) {
125
127
  throw new Error(`Sanity API error (${String(response.status)}): ${JSON.stringify(data, null, 2)}`);
@@ -213,26 +215,30 @@ export async function setupSanity(targetDir, options = {}) {
213
215
  }
214
216
  // Step 1: Verify Sanity CLI
215
217
  const cliSpinner = ora("Checking Sanity CLI...").start();
216
- if (!verifySanityCli()) {
217
- cliSpinner.fail(pc.red("Sanity CLI not available. Make sure sanity packages are installed."));
218
- console.log(pc.dim(" Run: bun add next-sanity @sanity/client @sanity/image-url sanity @sanity/vision\n"));
218
+ const sanityCli = resolveSanityCli(targetDir);
219
+ if (!sanityCli) {
220
+ cliSpinner.fail(pc.red("Sanity CLI not found. Please run 'bun install' first."));
219
221
  return false;
220
222
  }
221
- cliSpinner.succeed(pc.green("Sanity CLI available."));
223
+ const sourceLabel = sanityCli.source === "local" ? "project dependencies" : "global install";
224
+ cliSpinner.succeed(pc.green(`Sanity CLI available (${sourceLabel}).`));
222
225
  // Step 2: Verify authentication
223
226
  const authSpinner = ora("Verifying Sanity authentication...").start();
224
- if (!verifyAuth()) {
227
+ if (!verifyAuth(sanityCli)) {
225
228
  authSpinner.info(pc.yellow("Not logged in. Opening Sanity login..."));
226
229
  try {
227
- execSync("npx --yes sanity login", { stdio: "inherit" });
230
+ execFileSync(sanityCli.command, ["login"], {
231
+ stdio: "inherit",
232
+ timeout: 120_000,
233
+ });
228
234
  }
229
235
  catch {
230
236
  // login command failed or user cancelled
231
237
  }
232
238
  const retrySpinner = ora("Re-verifying Sanity authentication...").start();
233
- if (!verifyAuth()) {
239
+ if (!verifyAuth(sanityCli)) {
234
240
  retrySpinner.fail(pc.red("Still not logged in to Sanity."));
235
- console.log(pc.yellow(" Run: npx sanity login"));
241
+ console.log(pc.yellow(" Run: sanity login"));
236
242
  console.log(pc.dim(" This opens a browser for authentication. Re-run this command after logging in.\n"));
237
243
  return false;
238
244
  }
@@ -245,7 +251,7 @@ export async function setupSanity(targetDir, options = {}) {
245
251
  const tokenSpinner = ora("Retrieving auth token...").start();
246
252
  let authToken;
247
253
  try {
248
- authToken = getAuthToken();
254
+ authToken = getAuthToken(sanityCli);
249
255
  tokenSpinner.succeed(pc.green("Auth token retrieved."));
250
256
  }
251
257
  catch (e) {
@@ -316,7 +322,7 @@ export async function setupSanity(targetDir, options = {}) {
316
322
  const projectSpinner = ora(`Creating Sanity project "${pc.cyan(projectName)}"${organizationId ? " in organization" : ""}...`).start();
317
323
  let projectId;
318
324
  try {
319
- projectId = createSanityProject(projectName, organizationId);
325
+ projectId = createSanityProject(projectName, organizationId, sanityCli);
320
326
  projectSpinner.succeed(pc.green(`Sanity project created: ${pc.cyan(projectId)}`));
321
327
  }
322
328
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-sanity.js","sourceRoot":"","sources":["../../../src/helpers/create/setup-sanity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-sanity.js","sourceRoot":"","sources":["../../../src/helpers/create/setup-sanity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-package.d.ts","sourceRoot":"","sources":["../../../src/helpers/create/update-package.ts"],"names":[],"mappings":"AAgBA,iEAAiE;AACjE,MAAM,WAAW,oBAAoB;IACpC,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kDAAkD;IAClD,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AAUD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA6Ef"}
1
+ {"version":3,"file":"update-package.d.ts","sourceRoot":"","sources":["../../../src/helpers/create/update-package.ts"],"names":[],"mappings":"AAiBA,iEAAiE;AACjE,MAAM,WAAW,oBAAoB;IACpC,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kDAAkD;IAClD,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AAUD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAsFf"}
@@ -1,3 +1,4 @@
1
+ import { execSync } from "node:child_process";
1
2
  import path from "node:path";
2
3
  import fs from "fs-extra";
3
4
  import { getAnimationConfig } from "../../configs/animations.js";
@@ -26,6 +27,15 @@ export async function updatePackageJson(targetDir, options) {
26
27
  // Project identity
27
28
  pkg.name = options.projectName;
28
29
  pkg.version = "0.1.0";
30
+ // Set packageManager to the user's current bun version
31
+ try {
32
+ const bunVersion = execSync("bun --version", { encoding: "utf-8" }).trim();
33
+ pkg.packageManager = `bun@${bunVersion}`;
34
+ }
35
+ catch {
36
+ // If bun version detection fails, remove the field to avoid mismatches
37
+ delete pkg.packageManager;
38
+ }
29
39
  // CMS dependencies and scripts
30
40
  const cmsKey = options.cms && options.cms !== "none" ? options.cms : null;
31
41
  if (cmsKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"update-package.js","sourceRoot":"","sources":["../../../src/helpers/create/update-package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-package.js","sourceRoot":"","sources":["../../../src/helpers/create/update-package.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helpers/integrate/index.ts"],"names":[],"mappings":"AAcA,UAAU,qBAAqB;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAuDD;;;;;;GAMG;AACH,wBAAsB,cAAc,CACnC,OAAO,GAAE,qBAA0B,GACjC,OAAO,CAAC,IAAI,CAAC,CA8Mf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helpers/integrate/index.ts"],"names":[],"mappings":"AAcA,UAAU,qBAAqB;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAuDD;;;;;;GAMG;AACH,wBAAsB,cAAc,CACnC,OAAO,GAAE,qBAA0B,GACjC,OAAO,CAAC,IAAI,CAAC,CA+Nf"}
@@ -147,22 +147,36 @@ export async function addIntegration(options = {}) {
147
147
  }
148
148
  }
149
149
  }
150
- // Agent toolkit skills
151
- const agentArg = fs.existsSync(path.join(targetDir, ".claude"))
152
- ? "claude-code"
153
- : fs.existsSync(path.join(targetDir, ".opencode"))
154
- ? "opencode"
155
- : null;
156
- if (agentArg) {
150
+ // Agent toolkit skills — detect all known agent directories
151
+ const agentDirMap = {
152
+ ".claude": "claude-code",
153
+ ".opencode": "opencode",
154
+ ".cursor": "cursor",
155
+ ".codex": "codex",
156
+ ".gemini": "gemini-cli",
157
+ };
158
+ const detectedAgents = Object.entries(agentDirMap)
159
+ .filter(([dir]) => fs.existsSync(path.join(targetDir, dir)))
160
+ .map(([, arg]) => arg);
161
+ if (detectedAgents.length > 0) {
157
162
  const skillsSpinner = ora("Installing Sanity agent toolkit...").start();
158
- try {
159
- execSync(`bunx skills add sanity-io/agent-toolkit -a ${agentArg} -y`, {
160
- cwd: targetDir,
161
- stdio: "ignore",
162
- });
163
+ let installed = false;
164
+ for (const agentArg of detectedAgents) {
165
+ try {
166
+ execSync(`bunx skills add sanity-io/agent-toolkit -a ${agentArg} -y`, {
167
+ cwd: targetDir,
168
+ stdio: "ignore",
169
+ });
170
+ installed = true;
171
+ }
172
+ catch {
173
+ // Non-fatal per agent
174
+ }
175
+ }
176
+ if (installed) {
163
177
  skillsSpinner.succeed(pc.green("Sanity agent toolkit installed."));
164
178
  }
165
- catch (_e) {
179
+ else {
166
180
  skillsSpinner.warn(pc.yellow("Could not install Sanity agent toolkit. Add manually: bunx skills add sanity-io/agent-toolkit"));
167
181
  }
168
182
  }