UNPKG

@essentialai/cogent-bridge

Version:

Cogent Bridge — cross-agent comms for Claude Code, OpenAI Codex and Slack. Codex users: install with `curl -fsSL https://cogent.tools/install.sh | sh`, then start with `cogent-codex` for real-time peer wake.

37 lines • 1.52 kB
import fs from "node:fs"; import path from "node:path"; import { mcpJsonContent, demoServerJs, demoAppJs, demoPackageJson, demoBackendClaudeMd, demoFrontendClaudeMd, } from "./templates.js"; export function scaffoldDemo(baseDir, npxPath) { const files = []; const apiDir = path.join(baseDir, "api-server"); const webDir = path.join(baseDir, "web-client"); fs.mkdirSync(apiDir, { recursive: true }); fs.mkdirSync(webDir, { recursive: true }); const mcpJson = mcpJsonContent(npxPath); // Backend files const backendFiles = [ ["package.json", demoPackageJson("api-server", { express: "^4.21.0", cors: "^2.8.5" })], ["server.js", demoServerJs()], [".mcp.json", mcpJson], ["CLAUDE.md", demoBackendClaudeMd()], ]; for (const [name, content] of backendFiles) { const filePath = path.join(apiDir, name); fs.writeFileSync(filePath, content, "utf-8"); files.push(path.join("api-server", name)); } // Frontend files const frontendFiles = [ ["package.json", demoPackageJson("web-client", { axios: "^1.7.0" })], ["app.js", demoAppJs()], [".mcp.json", mcpJson], ["CLAUDE.md", demoFrontendClaudeMd()], ]; for (const [name, content] of frontendFiles) { const filePath = path.join(webDir, name); fs.writeFileSync(filePath, content, "utf-8"); files.push(path.join("web-client", name)); } return { files, baseDir }; } //# sourceMappingURL=scaffold-demo.js.map