nextjs-hackathon-stack 0.1.37 → 0.1.38

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 (2) hide show
  1. package/dist/index.js +25 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -91,6 +91,30 @@ function createClaudeDir(targetDir) {
91
91
  }
92
92
  }
93
93
  }
94
+ function createOpencodeDir(targetDir) {
95
+ const cursorDir = join(targetDir, ".cursor");
96
+ const opencodeDir = join(targetDir, ".opencode");
97
+ if (!existsSync(cursorDir)) return;
98
+ const mirrorDirs = ["agents", "rules", "skills"];
99
+ for (const dir of mirrorDirs) {
100
+ const srcDir = join(cursorDir, dir);
101
+ if (!existsSync(srcDir)) continue;
102
+ const destDir = join(opencodeDir, dir);
103
+ mkdirSync(destDir, { recursive: true });
104
+ for (const entry of readdirSync(srcDir)) {
105
+ const relTarget = `../../.cursor/${dir}/${entry}`;
106
+ const destPath = join(destDir, entry);
107
+ if (!existsSync(destPath)) {
108
+ symlinkSync(relTarget, destPath);
109
+ }
110
+ }
111
+ }
112
+ const mcpSrc = join(cursorDir, "mcp.json");
113
+ const mcpDest = join(opencodeDir, "mcp.json");
114
+ if (existsSync(mcpSrc) && !existsSync(mcpDest)) {
115
+ symlinkSync("../../.cursor/mcp.json", mcpDest);
116
+ }
117
+ }
94
118
  function copyDir(src, dest, vars, skip = /* @__PURE__ */ new Set(), templateRoot = src) {
95
119
  mkdirSync(dest, { recursive: true });
96
120
  for (const entry of readdirSync(src)) {
@@ -229,6 +253,7 @@ async function scaffold(projectName, skipInstall, skipMcp = false, template = "e
229
253
  spinner2.start("Copying template files");
230
254
  copyDir(templateDir, targetDir, vars, skip, templateDir);
231
255
  createClaudeDir(targetDir);
256
+ createOpencodeDir(targetDir);
232
257
  if (template === "empty") {
233
258
  const pageDir = join(targetDir, "src/app/(protected)");
234
259
  mkdirSync(pageDir, { recursive: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextjs-hackathon-stack",
3
- "version": "0.1.37",
3
+ "version": "0.1.38",
4
4
  "description": "Scaffold a full-stack Next.js hackathon starter",
5
5
  "type": "module",
6
6
  "bin": {