// Create a new project. import { mkdirSync, writeFileSync } from "fs" import { join } from "path" import { projects } from "@/project" import { NOSE_DIR } from "@/config" import load from "./load" export default function (project: string) { if (!project) throw "usage: new " if (projects().includes(project)) throw `${project} already exists` const dir = join(NOSE_DIR, project) mkdirSync(join(dir, "bin"), { recursive: true }) writeFileSync(join(dir, `index.tsx`), `export default (c: Context) =>\n "Hello from the ${project} project!"`) writeFileSync(join(dir, "bin", `${project}.ts`), `export default function() {\n return "The ${project} project lives!"\n}`) load(project) return `Created ${project}` }