nextjs-hackathon-stack 0.1.36 → 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/template/CLAUDE.md +12 -2
- package/template/README.md +16 -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
package/template/CLAUDE.md
CHANGED
|
@@ -51,11 +51,21 @@ The `/build-feature` skill reads the requirements file directly and runs the ful
|
|
|
51
51
|
This project uses [mcp-memory-service](https://github.com/doobidoo/mcp-memory-service) for persistent semantic memory across sessions.
|
|
52
52
|
Config is shared via `.cursor/mcp.json` (symlinked to `.mcp.json`).
|
|
53
53
|
|
|
54
|
-
If not installed automatically during scaffolding:
|
|
54
|
+
If not installed automatically during scaffolding, install via `pipx` (works on macOS, Linux, Windows):
|
|
55
|
+
|
|
55
56
|
```bash
|
|
56
|
-
|
|
57
|
+
# macOS
|
|
58
|
+
brew install pipx && pipx ensurepath
|
|
59
|
+
pipx install mcp-memory-service
|
|
60
|
+
|
|
61
|
+
# Linux / Windows
|
|
62
|
+
pip install pipx
|
|
63
|
+
pipx install mcp-memory-service
|
|
57
64
|
```
|
|
58
65
|
|
|
66
|
+
> **macOS note:** If you see `SQLite extension loading not supported`, pipx picked Apple's Python.
|
|
67
|
+
> Fix: `pipx install mcp-memory-service --python $(brew --prefix python@3.12)/bin/python3.12`
|
|
68
|
+
|
|
59
69
|
## Memory Skill
|
|
60
70
|
|
|
61
71
|
Use `/memory` to sync and query project knowledge:
|
package/template/README.md
CHANGED
|
@@ -103,7 +103,22 @@ Cursor rules, agents, and skills are preconfigured in `.cursor/`:
|
|
|
103
103
|
|
|
104
104
|
### Initial Setup (once per project)
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
**1. Install mcp-memory-service** (if not already installed):
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# macOS
|
|
110
|
+
brew install pipx && pipx ensurepath
|
|
111
|
+
pipx install mcp-memory-service
|
|
112
|
+
|
|
113
|
+
# Linux / Windows
|
|
114
|
+
pip install pipx
|
|
115
|
+
pipx install mcp-memory-service
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
> **macOS note:** If you see `SQLite extension loading not supported`, run:
|
|
119
|
+
> `pipx install mcp-memory-service --python $(brew --prefix python@3.12)/bin/python3.12`
|
|
120
|
+
|
|
121
|
+
**2. Populate MCP memory** so agents load context efficiently:
|
|
107
122
|
|
|
108
123
|
```
|
|
109
124
|
/memory sync
|