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.
- package/dist/index.js +25 -0
- 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 });
|