create-rakta-app 0.1.0 → 0.1.2

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 CHANGED
@@ -1814,7 +1814,7 @@ function getFrontendOnlyFiles(projectConfig) {
1814
1814
  typecheck: "tsc --noEmit"
1815
1815
  },
1816
1816
  dependencies: {
1817
- rakta: "^0.1.0",
1817
+ raktajs: "^0.1.2",
1818
1818
  react: "^19.2.7",
1819
1819
  "react-dom": "^19.2.7",
1820
1820
  ...getCssDependencies(cssFramework)
@@ -1852,7 +1852,7 @@ function getFrontendOnlyFiles(projectConfig) {
1852
1852
  },
1853
1853
  {
1854
1854
  path: "rakta.config.ts",
1855
- content: `import { defineRaktaConfig } from "rakta";
1855
+ content: `import { defineRaktaConfig } from "raktajs";
1856
1856
 
1857
1857
  export default defineRaktaConfig({
1858
1858
  appName: "${projectName}",
@@ -1955,7 +1955,7 @@ function getFullstackFrontendFiles(projectConfig) {
1955
1955
  },
1956
1956
  {
1957
1957
  path: "frontend/rakta.config.ts",
1958
- content: `import { defineRaktaConfig } from "rakta";
1958
+ content: `import { defineRaktaConfig } from "raktajs";
1959
1959
 
1960
1960
  export default defineRaktaConfig({
1961
1961
  appName: "${projectName}",
@@ -2183,7 +2183,7 @@ export function slugify(text: string): string {
2183
2183
  },
2184
2184
  {
2185
2185
  path: "frontend/stores/counter.store.ts",
2186
- content: `import { createRaktaStore } from "rakta";
2186
+ content: `import { createRaktaStore } from "raktajs";
2187
2187
 
2188
2188
  interface CounterState {
2189
2189
  readonly count: number;
@@ -2200,7 +2200,7 @@ export const useCounterStore = createRaktaStore<CounterState>((setState, getStat
2200
2200
  },
2201
2201
  {
2202
2202
  path: "frontend/schemas/user.schema.ts",
2203
- content: `import { object, string, number } from "rakta";
2203
+ content: `import { object, string, number } from "raktajs";
2204
2204
 
2205
2205
  export const userSchema = object({
2206
2206
  name: string().min(1),
@@ -3979,8 +3979,7 @@ async function promptDatabase() {
3979
3979
  });
3980
3980
  return getPromptValue(promptResult);
3981
3981
  }
3982
- async function runPrompts(suggestedName) {
3983
- const projectName = await promptProjectName(suggestedName);
3982
+ async function runPrompts(projectName) {
3984
3983
  const projectMode = await promptProjectMode();
3985
3984
  const cssFramework = await promptCssFramework();
3986
3985
  const renderMode = await promptRenderMode();
@@ -4091,4 +4090,4 @@ Error: ${errorMessage}
4091
4090
  process.exit(1);
4092
4091
  });
4093
4092
 
4094
- //# debugId=B9AF63AAAD27EC1C64756E2164756E21
4093
+ //# debugId=FC808A244B764D0164756E2164756E21
package/dist/index.js.map CHANGED
@@ -14,10 +14,10 @@
14
14
  "const RED = \"\\x1b[31m\";\nconst BOLD = \"\\x1b[1m\";\nconst RESET = \"\\x1b[0m\";\n\nexport const BANNER = [\n\t\"\",\n\t`${BOLD}${RED} ██████╗ █████╗ ██╗ ██╗ ████████╗ █████╗ ██╗ ███████╗${RESET}`,\n\t`${BOLD}${RED} ██╔══██╗ ██╔══██╗ ██║ ██╔╝ ╚══██╔══╝ ██╔══██╗ ██║ ██╔════╝${RESET}`,\n\t`${BOLD}${RED} ██████╔╝ ███████║ █████╔╝ ██║ ███████║ ██║ ███████╗${RESET}`,\n\t`${BOLD}${RED} ██╔══██╗ ██╔══██║ ██╔═██╗ ██║ ██╔══██║ ██ ██║ ╚════██║${RESET}`,\n\t`${BOLD}${RED} ██║ ██║ ██║ ██║ ██║ ██╗ ██║ ██║ ██║ ██╗╚█████╔╝ ███████║${RESET}`,\n\t`${BOLD}${RED} ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚════╝ ╚══════╝${RESET}`,\n\t\"\",\n\t`${BOLD}${RED} ────────────────────────Rhein Sullivan──────────────────────────────────${RESET}`,\n\t`${BOLD}${RED} Rakta.js — React.js, Bun, TypeScript, Easy Router, and Fullstack Generator${RESET}`,\n\t`${BOLD}${RED} Small in size. Fierce in speed. Alive in every route.${RESET}`,\n\t`${BOLD}${RED} ────────────────────────Vyagra Nexus™──────────────────────────────────${RESET}`,\n\t\"\",\n].join(\"\\n\");\n\nexport function printBanner(): void {\n\tconsole.log(BANNER);\n}\n",
15
15
  "import { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { dirname, join, resolve } from \"node:path\";\nimport type { ProjectFile } from \"./types\";\n\nexport function ensureDirectory(dirPath: string): void {\n\tif (!existsSync(dirPath)) {\n\t\tmkdirSync(dirPath, {\n\t\t\trecursive: true,\n\t\t});\n\t}\n}\n\nexport function writeFile(absolutePath: string, fileContent: string): void {\n\tensureDirectory(dirname(absolutePath));\n\twriteFileSync(absolutePath, fileContent, \"utf-8\");\n}\n\nexport function writeProjectFiles(\n\tprojectRoot: string,\n\tgeneratedFiles: ProjectFile[],\n): void {\n\tfor (const projectFile of generatedFiles) {\n\t\tconst absolutePath = join(resolve(projectRoot), projectFile.path);\n\t\twriteFile(absolutePath, projectFile.content);\n\t}\n}\n\nexport function projectDirectoryExists(projectName: string): boolean {\n\treturn existsSync(resolve(process.cwd(), projectName));\n}\n",
16
16
  "export type CssFramework = \"tailwind\" | \"bootstrap\" | \"sass\" | \"none\";\n\nexport type BackendFramework = \"gaman\" | \"express\" | \"nest\" | \"adonis\";\n\nexport type Database =\n\t| \"postgresql\"\n\t| \"mysql\"\n\t| \"mongodb\"\n\t| \"firebase\"\n\t| \"sqlite\"\n\t| \"mariadb\"\n\t| \"redis\"\n\t| \"planetscale\"\n\t| \"neon\"\n\t| \"turso\";\n\nexport type RenderMode = \"csr\" | \"ssr\" | \"ssg\" | \"csg\" | \"spa\" | \"hybrid\";\n\nexport type ProjectMode = \"fullstack\" | \"frontend-only\";\n\nexport interface ProjectFile {\n\treadonly path: string;\n\treadonly content: string;\n}\n\nexport interface ProjectConfig {\n\treadonly projectName: string;\n\treadonly projectMode: ProjectMode;\n\treadonly cssFramework: CssFramework;\n\treadonly renderMode: RenderMode;\n\treadonly backendFramework: BackendFramework;\n\treadonly database: Database;\n}\n\nexport const CSS_DISPLAY: Record<CssFramework, string> = {\n\ttailwind: \"Tailwind CSS\",\n\tbootstrap: \"Bootstrap\",\n\tsass: \"SASS\",\n\tnone: \"None\",\n};\n\nexport const BACKEND_DISPLAY: Record<BackendFramework, string> = {\n\tgaman: \"Gaman.js\",\n\texpress: \"Express.js\",\n\tnest: \"Nest.js\",\n\tadonis: \"Adonis.js\",\n};\n\nexport const DATABASE_DISPLAY: Record<Database, string> = {\n\tpostgresql: \"PostgreSQL\",\n\tmysql: \"MySQL\",\n\tmongodb: \"MongoDB\",\n\tfirebase: \"Firebase\",\n\tsqlite: \"SQLite\",\n\tmariadb: \"MariaDB\",\n\tredis: \"Redis\",\n\tplanetscale: \"PlanetScale\",\n\tneon: \"Neon\",\n\tturso: \"Turso\",\n};\n\nexport const RENDER_MODE_DISPLAY: Record<RenderMode, string> = {\n\tcsr: \"CSR — Client-Side Rendering\",\n\tssr: \"SSR — Server-Side Rendering\",\n\tssg: \"SSG — Static Site Generation\",\n\tcsg: \"CSG — Configurable Static Generation\",\n\tspa: \"SPA — Single Page Application\",\n\thybrid: \"Hybrid — Mixed per-route\",\n};\n\nexport const PROJECT_MODE_DISPLAY: Record<ProjectMode, string> = {\n\tfullstack: \"Fullstack app (frontend + backend + database)\",\n\t\"frontend-only\": \"Frontend only (no backend, no database)\",\n};\n",
17
- "import type {\n\tBackendFramework,\n\tCssFramework,\n\tDatabase,\n\tProjectConfig,\n\tProjectFile,\n} from \"./types\";\nimport { BACKEND_DISPLAY, CSS_DISPLAY, DATABASE_DISPLAY } from \"./types\";\n\n// ─── Root files ─────────────────────────────────────────────────────────────\n\nfunction getRootFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\tconst { projectName, projectMode } = projectConfig;\n\n\tconst workspaces =\n\t\tprojectMode === \"fullstack\" ? [\"frontend\", \"backend\", \"shared\"] : [];\n\n\treturn [\n\t\t{\n\t\t\tpath: \"package.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tname: projectName,\n\t\t\t\t\tversion: \"0.1.0\",\n\t\t\t\t\tprivate: true,\n\t\t\t\t\t...(projectMode === \"fullstack\" ? { workspaces } : {}),\n\t\t\t\t\tscripts:\n\t\t\t\t\t\tprojectMode === \"fullstack\"\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\"dev:frontend\": \"cd frontend && bun run dev\",\n\t\t\t\t\t\t\t\t\t\"dev:backend\": \"cd backend && bun run dev\",\n\t\t\t\t\t\t\t\t\t\"build:frontend\": \"cd frontend && bun run build\",\n\t\t\t\t\t\t\t\t\t\"build:backend\": \"cd backend && bun run build\",\n\t\t\t\t\t\t\t\t\tbuild: \"bun run build:frontend && bun run build:backend\",\n\t\t\t\t\t\t\t\t\tstart: \"cd backend && bun run start\",\n\t\t\t\t\t\t\t\t\ttypecheck:\n\t\t\t\t\t\t\t\t\t\t\"cd frontend && bun run typecheck && cd ../backend && bun run typecheck\",\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\tdev: \"rakta dev\",\n\t\t\t\t\t\t\t\t\tbuild: \"rakta build\",\n\t\t\t\t\t\t\t\t\tstart: \"rakta start\",\n\t\t\t\t\t\t\t\t\ttypecheck: \"tsc --noEmit\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\tdescription: `${projectName} — built with Rakta.js`,\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"tsconfig.base.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tcompilerOptions: {\n\t\t\t\t\t\ttarget: \"ESNext\",\n\t\t\t\t\t\tmodule: \"ESNext\",\n\t\t\t\t\t\tmoduleResolution: \"Bundler\",\n\t\t\t\t\t\tjsx: \"react-jsx\",\n\t\t\t\t\t\tlib: [\"ESNext\", \"DOM\", \"DOM.Iterable\"],\n\t\t\t\t\t\tstrict: true,\n\t\t\t\t\t\tnoUncheckedIndexedAccess: true,\n\t\t\t\t\t\texactOptionalPropertyTypes: true,\n\t\t\t\t\t\tskipLibCheck: true,\n\t\t\t\t\t\tesModuleInterop: true,\n\t\t\t\t\t\tallowSyntheticDefaultImports: true,\n\t\t\t\t\t\tresolveJsonModule: true,\n\t\t\t\t\t\tverbatimModuleSyntax: true,\n\t\t\t\t\t\tisolatedModules: true,\n\t\t\t\t\t},\n\t\t\t\t\texclude: [\"node_modules\", \"dist\", \"**/dist/**\"],\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"bunfig.toml\",\n\t\t\tcontent: `[install]\\nauto = \"fallback\"\\nexact = false\\nregistry = \"https://registry.npmjs.org/\"\\n\\n[run]\\nbun = true\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \".npmrc\",\n\t\t\tcontent: `registry=https://registry.npmjs.org/\\nstrict-ssl=true\\nfetch-retries=5\\nfetch-retry-mintimeout=20000\\nfetch-retry-maxtimeout=120000\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \".env.example\",\n\t\t\tcontent: `NODE_ENV=development\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \".gitignore\",\n\t\t\tcontent: `node_modules/\\ndist/\\n.env\\n.env.*\\n!.env.example\\n.DS_Store\\n*.log\\n.rakta/\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"README.md\",\n\t\t\tcontent: generateProjectReadme(projectConfig),\n\t\t},\n\t];\n}\n\n// ─── Frontend-only starter (ShrimpRun game) ─────────────────────────────────\n\nfunction getFrontendOnlyFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\tconst { projectName, cssFramework } = projectConfig;\n\tconst styleFileName =\n\t\tcssFramework === \"sass\" ? \"globals.scss\" : \"globals.css\";\n\n\treturn [\n\t\t{\n\t\t\tpath: \"package.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tname: projectName,\n\t\t\t\t\tversion: \"0.1.0\",\n\t\t\t\t\tprivate: true,\n\t\t\t\t\ttype: \"module\",\n\t\t\t\t\tscripts: {\n\t\t\t\t\t\tdev: \"rakta dev\",\n\t\t\t\t\t\tbuild: \"rakta build\",\n\t\t\t\t\t\tstart: \"rakta start\",\n\t\t\t\t\t\troutes: \"rakta routes\",\n\t\t\t\t\t\ttypecheck: \"tsc --noEmit\",\n\t\t\t\t\t},\n\t\t\t\t\tdependencies: {\n\t\t\t\t\t\trakta: \"^0.1.0\",\n\t\t\t\t\t\treact: \"^19.2.7\",\n\t\t\t\t\t\t\"react-dom\": \"^19.2.7\",\n\t\t\t\t\t\t...getCssDependencies(cssFramework),\n\t\t\t\t\t},\n\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t\"@types/react\": \"^19.2.17\",\n\t\t\t\t\t\t\"@types/react-dom\": \"^19.2.3\",\n\t\t\t\t\t\ttypescript: \"^6.0.3\",\n\t\t\t\t\t\t...getCssDevDependencies(cssFramework),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"tsconfig.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\textends: \"./tsconfig.base.json\",\n\t\t\t\t\tcompilerOptions: {\n\t\t\t\t\t\toutDir: \"./dist\",\n\t\t\t\t\t\trootDir: \"./\",\n\t\t\t\t\t\ttypes: [\"react\", \"react-dom\"],\n\t\t\t\t\t},\n\t\t\t\t\tinclude: [\n\t\t\t\t\t\t\"rakta-env.d.ts\",\n\t\t\t\t\t\t\"app/**/*\",\n\t\t\t\t\t\t\"components/**/*\",\n\t\t\t\t\t\t\"styles/**/*\",\n\t\t\t\t\t\t\"rakta.config.ts\",\n\t\t\t\t\t],\n\t\t\t\t\texclude: [\"node_modules\", \"dist\"],\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"rakta-env.d.ts\",\n\t\t\tcontent: generateFrontendOnlyRaktaEnv(),\n\t\t},\n\t\t{\n\t\t\tpath: \"rakta.config.ts\",\n\t\t\tcontent: `import { defineRaktaConfig } from \"rakta\";\\n\\nexport default defineRaktaConfig({\\n appName: \"${projectName}\",\\n render: {\\n defaultMode: \"csr\",\\n routes: {},\\n },\\n});\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"app/layout.tsx\",\n\t\t\tcontent: generateFrontendOnlyLayout(),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/page.tsx\",\n\t\t\tcontent: generateFrontendOnlyPage(projectName),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/loading.tsx\",\n\t\t\tcontent: generateFrontendOnlyLoading(),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/error.tsx\",\n\t\t\tcontent: generateFrontendOnlyError(),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/notFound.tsx\",\n\t\t\tcontent: generateFrontendOnlyNotFound(),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/components/raktaShrimpMascot.tsx\",\n\t\t\tcontent: generateShrimpMascotComponent(),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/components/shrimpRunGame.tsx\",\n\t\t\tcontent: generateShrimpRunGameComponent(),\n\t\t},\n\t\t{\n\t\t\tpath: `styles/${styleFileName}`,\n\t\t\tcontent: getFrontendOnlyCssGlobals(cssFramework),\n\t\t},\n\t\t{\n\t\t\tpath: \"public/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t];\n}\n\n// ─── Fullstack frontend files ────────────────────────────────────────────────\n\nfunction getFullstackFrontendFiles(\n\tprojectConfig: ProjectConfig,\n): ProjectFile[] {\n\tconst { projectName, cssFramework } = projectConfig;\n\tconst styleFileName =\n\t\tcssFramework === \"sass\" ? \"globals.scss\" : \"globals.css\";\n\n\treturn [\n\t\t{\n\t\t\tpath: \"frontend/package.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tname: `${projectName}-frontend`,\n\t\t\t\t\tversion: \"0.1.0\",\n\t\t\t\t\tprivate: true,\n\t\t\t\t\tscripts: {\n\t\t\t\t\t\tdev: \"rakta dev\",\n\t\t\t\t\t\tbuild: \"rakta build\",\n\t\t\t\t\t\tstart: \"rakta start\",\n\t\t\t\t\t\troutes: \"rakta routes\",\n\t\t\t\t\t\t\"imports:generate\": \"rakta imports:generate\",\n\t\t\t\t\t\t\"rpc:types\": \"rakta rpc:types\",\n\t\t\t\t\t\ttypecheck: \"tsc --noEmit\",\n\t\t\t\t\t},\n\t\t\t\t\tdependencies: {\n\t\t\t\t\t\trakta: \"^0.1.0\",\n\t\t\t\t\t\treact: \"^19.2.7\",\n\t\t\t\t\t\t\"react-dom\": \"^19.2.7\",\n\t\t\t\t\t\t...getCssDependencies(cssFramework),\n\t\t\t\t\t},\n\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t\"@types/react\": \"^19.2.17\",\n\t\t\t\t\t\t\"@types/react-dom\": \"^19.2.3\",\n\t\t\t\t\t\ttypescript: \"^6.0.3\",\n\t\t\t\t\t\t...getCssDevDependencies(cssFramework),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/tsconfig.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\textends: \"../tsconfig.base.json\",\n\t\t\t\t\tcompilerOptions: {\n\t\t\t\t\t\toutDir: \"./dist\",\n\t\t\t\t\t\trootDir: \"./\",\n\t\t\t\t\t},\n\t\t\t\t\tinclude: [\n\t\t\t\t\t\t\"app/**/*\",\n\t\t\t\t\t\t\"components/**/*\",\n\t\t\t\t\t\t\"lib/**/*\",\n\t\t\t\t\t\t\"stores/**/*\",\n\t\t\t\t\t\t\"schemas/**/*\",\n\t\t\t\t\t\t\"rakta.config.ts\",\n\t\t\t\t\t],\n\t\t\t\t\texclude: [\"node_modules\", \"dist\"],\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/rakta.config.ts\",\n\t\t\tcontent: `import { defineRaktaConfig } from \"rakta\";\\n\\nexport default defineRaktaConfig({\\n appName: \"${projectName}\",\\n render: {\\n defaultMode: \"csr\",\\n routes: {\\n \"/\": \"ssg\",\\n \"/about\": \"ssg\",\\n \"/blog\": \"csg\",\\n \"/blog/:slug\": \"csg\",\\n \"/dashboard\": \"csr\"\\n }\\n }\\n});\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/layout.tsx\",\n\t\t\tcontent: `import React from \"react\";\\nimport \"../styles/${styleFileName}\";\\n\\ninterface RootLayoutProps {\\n readonly children: React.ReactNode;\\n}\\n\\nexport default function RootLayout({ children }: RootLayoutProps) {\\n return (\\n <html lang=\"en\">\\n <body>{children}</body>\\n </html>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/page.tsx\",\n\t\t\tcontent: generateFullstackHomePage(projectName),\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/about/page.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\nexport default function AboutPage() {\\n return (\\n <main className=\"page-shell\">\\n <section className=\"hero-card\">\\n <p className=\"eyebrow\">ABOUT</p>\\n <h1>About ${projectName}</h1>\\n <p>This project is built with Rakta.js, React, Bun, and TypeScript.</p>\\n <a href=\"/\">Back to home</a>\\n </section>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/blog/page.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\nconst BLOG_POSTS = [\\n { slug: \"getting-started\", title: \"Getting started with Rakta.js\" },\\n { slug: \"file-based-routing\", title: \"File-based routing explained\" },\\n { slug: \"type-safe-rpc\", title: \"Type-safe API with CarubanWire\" },\\n];\\n\\nexport default function BlogPage() {\\n return (\\n <main className=\"page-shell\">\\n <section className=\"hero-card\">\\n <p className=\"eyebrow\">BLOG</p>\\n <h1>Articles</h1>\\n <ul>\\n {BLOG_POSTS.map((post) => (\\n <li key={post.slug}>\\n <a href={\\`/blog/\\${post.slug}\\`}>{post.title}</a>\\n </li>\\n ))}\\n </ul>\\n </section>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/blog/[slug]/page.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\ninterface BlogPostPageProps {\\n readonly params: {\\n readonly slug?: string;\\n };\\n}\\n\\nexport default function BlogPostPage({ params }: BlogPostPageProps) {\\n const postTitle = params.slug?.replaceAll(\"-\", \" \") ?? \"Article\";\\n\\n return (\\n <main className=\"page-shell\">\\n <section className=\"hero-card\">\\n <p className=\"eyebrow\">BLOG POST</p>\\n <h1>{postTitle}</h1>\\n <p>Slug: <code>{params.slug}</code></p>\\n <a href=\"/blog\">Back to blog</a>\\n </section>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/loading.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\nexport default function Loading() {\\n return (\\n <main className=\"page-shell\">\\n <p>Loading...</p>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/error.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\ninterface ErrorPageProps {\\n readonly error: Error;\\n readonly reset: () => void;\\n}\\n\\nexport default function ErrorPage({ error, reset }: ErrorPageProps) {\\n return (\\n <main className=\"page-shell\">\\n <section className=\"hero-card\">\\n <h1>Something went wrong</h1>\\n <p>{error.message}</p>\\n <button type=\"button\" onClick={reset}>Try again</button>\\n </section>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/not-found.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\nexport default function NotFound() {\\n return (\\n <main className=\"page-shell\">\\n <section className=\"hero-card\">\\n <h1>404</h1>\\n <p>The page you are looking for does not exist.</p>\\n <a href=\"/\">Return home</a>\\n </section>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/api/hello/route.ts\",\n\t\t\tcontent: `export async function GET(request: Request): Promise<Response> {\\n const requestUrl = new URL(request.url);\\n\\n return Response.json({\\n message: \"Hello from Rakta.js API\",\\n pathname: requestUrl.pathname,\\n timestamp: new Date().toISOString(),\\n });\\n}\\n\\nexport async function POST(request: Request): Promise<Response> {\\n const requestBody = await request.json() as Record<string, unknown>;\\n\\n return Response.json({\\n received: requestBody,\\n timestamp: new Date().toISOString(),\\n });\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/lib/http.ts\",\n\t\t\tcontent: `export const API_URL = process.env[\"API_URL\"] ?? \"http://localhost:4000\";\\n\\nexport async function apiGet<TData>(path: string): Promise<TData> {\\n const response = await fetch(\\`\\${API_URL}\\${path}\\`);\\n\\n if (!response.ok) {\\n throw new Error(\\`Request failed with status \\${response.status}\\`);\\n }\\n\\n return response.json() as Promise<TData>;\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/lib/routes.ts\",\n\t\t\tcontent: `export const ROUTES = {\\n home: \"/\",\\n about: \"/about\",\\n blog: \"/blog\",\\n blogPost: (slug: string) => \\`/blog/\\${slug}\\`,\\n apiHello: \"/api/hello\",\\n} as const;\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/lib/utils.ts\",\n\t\t\tcontent: `export function cn(...classNames: Array<string | undefined | null | false>): string {\\n return classNames.filter(Boolean).join(\" \");\\n}\\n\\nexport function slugify(text: string): string {\\n return text\\n .toLowerCase()\\n .replace(/[^a-z0-9]+/g, \"-\")\\n .replace(/(^-|-$)/g, \"\");\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/stores/counter.store.ts\",\n\t\t\tcontent: `import { createRaktaStore } from \"rakta\";\\n\\ninterface CounterState {\\n readonly count: number;\\n readonly increment: () => void;\\n readonly decrement: () => void;\\n}\\n\\nexport const useCounterStore = createRaktaStore<CounterState>((setState, getState) => ({\\n count: 0,\\n increment: () => setState({ count: getState().count + 1 }),\\n decrement: () => setState({ count: getState().count - 1 }),\\n}));\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/schemas/user.schema.ts\",\n\t\t\tcontent: `import { object, string, number } from \"rakta\";\\n\\nexport const userSchema = object({\\n name: string().min(1),\\n email: string().min(5),\\n age: number().min(0).max(120),\\n});\\n\\nexport type UserSchema = typeof userSchema;\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: `frontend/styles/${styleFileName}`,\n\t\t\tcontent: getCssGlobals(cssFramework),\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/public/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/components/ui/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/components/layout/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t];\n}\n\n// ─── Backend files ───────────────────────────────────────────────────────────\n\nfunction getBackendFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t...getBackendCommonFiles(projectConfig),\n\t\t...getBackendFrameworkFiles(projectConfig.backendFramework, projectConfig),\n\t];\n}\n\nfunction getBackendCommonFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"backend/src/env.ts\",\n\t\t\tcontent: `function optionalEnv(envKey: string, fallbackValue: string): string {\\n return process.env[envKey] ?? fallbackValue;\\n}\\n\\nexport const env = {\\n port: Number(optionalEnv(\"PORT\", \"4000\")),\\n nodeEnv: optionalEnv(\"NODE_ENV\", \"development\"),\\n corsOrigin: optionalEnv(\"CORS_ORIGIN\", \"http://localhost:3000\"),\\n databaseUrl: optionalEnv(\"DATABASE_URL\", \"\"),\\n} as const;\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/config/app.config.ts\",\n\t\t\tcontent: `import { env } from \"../env\";\\n\\nexport const appConfig = {\\n name: \"${projectConfig.projectName} API\",\\n version: \"0.1.0\",\\n port: env.port,\\n nodeEnv: env.nodeEnv,\\n corsOrigin: env.corsOrigin,\\n isDev: env.nodeEnv === \"development\",\\n} as const;\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/config/database.config.ts\",\n\t\t\tcontent: getDatabaseConfig(projectConfig.database),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/database/client.ts\",\n\t\t\tcontent: getDatabaseClient(projectConfig.database),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/controllers/hello.controller.ts\",\n\t\t\tcontent: `export interface HelloResponse {\\n readonly success: boolean;\\n readonly message: string;\\n readonly framework: string;\\n readonly version: string;\\n readonly timestamp: string;\\n}\\n\\nexport function helloController(): HelloResponse {\\n return {\\n success: true,\\n message: \"Hello from ${projectConfig.projectName} API\",\\n framework: \"${BACKEND_DISPLAY[projectConfig.backendFramework]}\",\\n version: \"0.1.0\",\\n timestamp: new Date().toISOString(),\\n };\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/.env.example\",\n\t\t\tcontent: getDatabaseEnvExample(projectConfig.database),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/tsconfig.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\textends: \"../tsconfig.base.json\",\n\t\t\t\t\tcompilerOptions: {\n\t\t\t\t\t\toutDir: \"./dist\",\n\t\t\t\t\t\trootDir: \"./src\",\n\t\t\t\t\t\ttypes: [\"node\", \"bun\"],\n\t\t\t\t\t},\n\t\t\t\t\tinclude: [\"src/**/*\"],\n\t\t\t\t\texclude: [\"node_modules\", \"dist\"],\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/database/schema/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t];\n}\n\nfunction getBackendFrameworkFiles(\n\tselectedFramework: BackendFramework,\n\tprojectConfig: ProjectConfig,\n): ProjectFile[] {\n\tswitch (selectedFramework) {\n\t\tcase \"gaman\":\n\t\t\treturn getGamanFiles(projectConfig);\n\t\tcase \"express\":\n\t\t\treturn getExpressFiles(projectConfig);\n\t\tcase \"nest\":\n\t\t\treturn getNestFiles(projectConfig);\n\t\tcase \"adonis\":\n\t\t\treturn getAdonisFiles(projectConfig);\n\t\tdefault:\n\t\t\treturn getGamanFiles(projectConfig);\n\t}\n}\n\nfunction getGamanFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"backend/package.json\",\n\t\t\tcontent: getBackendPackageJson(projectConfig, {\n\t\t\t\tdependencies: { ...getDatabaseDependencies(projectConfig.database) },\n\t\t\t\tdevDependencies: { \"@types/bun\": \"^1.3.14\" },\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/app.ts\",\n\t\t\tcontent: `import { appConfig } from \"./config/app.config\";\\nimport { helloController } from \"./controllers/hello.controller\";\\n\\nconst corsHeaders = {\\n \"Access-Control-Allow-Origin\": appConfig.corsOrigin,\\n \"Access-Control-Allow-Methods\": \"GET, POST, PUT, PATCH, DELETE, OPTIONS\",\\n \"Access-Control-Allow-Headers\": \"Content-Type, Authorization\",\\n};\\n\\nconst server = Bun.serve({\\n port: appConfig.port,\\n fetch(request: Request): Response {\\n const requestUrl = new URL(request.url);\\n\\n if (request.method === \"OPTIONS\") {\\n return new Response(null, { status: 204, headers: corsHeaders });\\n }\\n\\n if (requestUrl.pathname === \"/api/hello\" && request.method === \"GET\") {\\n return Response.json(helloController(), { headers: corsHeaders });\\n }\\n\\n return Response.json(\\n { success: false, error: \"Not found\" },\\n { status: 404, headers: corsHeaders }\\n );\\n },\\n});\\n\\nconsole.log(\\`[${projectConfig.projectName}] Backend running at http://localhost:\\${server.port}\\`);\\n`,\n\t\t},\n\t];\n}\n\nfunction getExpressFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"backend/package.json\",\n\t\t\tcontent: getBackendPackageJson(projectConfig, {\n\t\t\t\tdependencies: {\n\t\t\t\t\texpress: \"^4.19.2\",\n\t\t\t\t\tcors: \"^2.8.5\",\n\t\t\t\t\t...getDatabaseDependencies(projectConfig.database),\n\t\t\t\t},\n\t\t\t\tdevDependencies: {\n\t\t\t\t\t\"@types/express\": \"^4.17.21\",\n\t\t\t\t\t\"@types/cors\": \"^2.8.17\",\n\t\t\t\t\t\"@types/node\": \"^26.0.1\",\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/app.ts\",\n\t\t\tcontent: `import cors from \"cors\";\\nimport express from \"express\";\\nimport { appConfig } from \"./config/app.config\";\\nimport { helloController } from \"./controllers/hello.controller\";\\n\\nconst app = express();\\n\\napp.use(cors({ origin: appConfig.corsOrigin }));\\napp.use(express.json());\\n\\napp.get(\"/api/hello\", (_request, response) => {\\n response.json(helloController());\\n});\\n\\napp.use((_request, response) => {\\n response.status(404).json({ success: false, error: \"Not found\" });\\n});\\n\\napp.listen(appConfig.port, () => {\\n console.log(\\`[${projectConfig.projectName}] Backend running at http://localhost:\\${appConfig.port}\\`);\\n});\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/middlewares/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/routes/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/services/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t];\n}\n\nfunction getNestFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"backend/package.json\",\n\t\t\tcontent: getBackendPackageJson(projectConfig, {\n\t\t\t\tdependencies: {\n\t\t\t\t\t\"@nestjs/common\": \"^10.3.0\",\n\t\t\t\t\t\"@nestjs/core\": \"^10.3.0\",\n\t\t\t\t\t\"@nestjs/platform-express\": \"^10.3.0\",\n\t\t\t\t\t\"reflect-metadata\": \"^0.2.2\",\n\t\t\t\t\t...getDatabaseDependencies(projectConfig.database),\n\t\t\t\t},\n\t\t\t\tdevDependencies: {\n\t\t\t\t\t\"@types/node\": \"^26.0.1\",\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/nest-cli.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\t$schema: \"https://json.schemastore.org/nest-cli\",\n\t\t\t\t\tcollection: \"@nestjs/schematics\",\n\t\t\t\t\tsourceRoot: \"src\",\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/app.module.ts\",\n\t\t\tcontent: `import { Module } from \"@nestjs/common\";\\nimport { AppController } from \"./app.controller\";\\n\\n@Module({\\n controllers: [AppController],\\n})\\nexport class AppModule {}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/app.controller.ts\",\n\t\t\tcontent: `import { Controller, Get } from \"@nestjs/common\";\\nimport { helloController } from \"./controllers/hello.controller\";\\n\\n@Controller(\"api\")\\nexport class AppController {\\n @Get(\"hello\")\\n hello() {\\n return helloController();\\n }\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/main.ts\",\n\t\t\tcontent: `import \"reflect-metadata\";\\nimport { NestFactory } from \"@nestjs/core\";\\nimport { AppModule } from \"./app.module\";\\nimport { appConfig } from \"./config/app.config\";\\n\\nasync function bootstrap(): Promise<void> {\\n const app = await NestFactory.create(AppModule);\\n app.enableCors({ origin: appConfig.corsOrigin });\\n await app.listen(appConfig.port);\\n console.log(\\`[${projectConfig.projectName}] Backend running at http://localhost:\\${appConfig.port}\\`);\\n}\\n\\nbootstrap().catch(console.error);\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/modules/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/common/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t];\n}\n\nfunction getAdonisFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"backend/package.json\",\n\t\t\tcontent: getBackendPackageJson(projectConfig, {\n\t\t\t\tdependencies: {\n\t\t\t\t\t\"@adonisjs/core\": \"^6.9.0\",\n\t\t\t\t\t...getDatabaseDependencies(projectConfig.database),\n\t\t\t\t},\n\t\t\t\tdevDependencies: {\n\t\t\t\t\t\"@adonisjs/assembler\": \"^7.7.0\",\n\t\t\t\t\t\"@types/node\": \"^26.0.1\",\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/app/controllers/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/app/middleware/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/app/services/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/start/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/config/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/app.ts\",\n\t\t\tcontent: `import { appConfig } from \"./config/app.config\";\\nimport { helloController } from \"./controllers/hello.controller\";\\n\\nconst corsHeaders = {\\n \"Access-Control-Allow-Origin\": appConfig.corsOrigin,\\n \"Access-Control-Allow-Methods\": \"GET, POST, PUT, PATCH, DELETE, OPTIONS\",\\n \"Access-Control-Allow-Headers\": \"Content-Type, Authorization\",\\n};\\n\\nconst server = Bun.serve({\\n port: appConfig.port,\\n fetch(request: Request): Response {\\n const requestUrl = new URL(request.url);\\n\\n if (request.method === \"OPTIONS\") {\\n return new Response(null, { status: 204, headers: corsHeaders });\\n }\\n\\n if (requestUrl.pathname === \"/api/hello\" && request.method === \"GET\") {\\n return Response.json(helloController(), { headers: corsHeaders });\\n }\\n\\n return Response.json(\\n { success: false, error: \"Not found\" },\\n { status: 404, headers: corsHeaders }\\n );\\n },\\n});\\n\\nconsole.log(\\`[${projectConfig.projectName}] Backend running at http://localhost:\\${server.port}\\`);\\n`,\n\t\t},\n\t];\n}\n\nfunction getBackendPackageJson(\n\tprojectConfig: ProjectConfig,\n\tpackageDeps: {\n\t\treadonly dependencies: Record<string, string>;\n\t\treadonly devDependencies: Record<string, string>;\n\t},\n): string {\n\treturn JSON.stringify(\n\t\t{\n\t\t\tname: `${projectConfig.projectName}-backend`,\n\t\t\tversion: \"0.1.0\",\n\t\t\tprivate: true,\n\t\t\ttype: \"module\",\n\t\t\tscripts: {\n\t\t\t\tdev: \"bun run --watch src/app.ts\",\n\t\t\t\tbuild: \"bun build src/app.ts --outfile dist/app.js --target bun\",\n\t\t\t\tstart: \"bun run dist/app.js\",\n\t\t\t\ttypecheck: \"tsc --noEmit\",\n\t\t\t},\n\t\t\tdependencies: {\n\t\t\t\t...packageDeps.dependencies,\n\t\t\t},\n\t\t\tdevDependencies: {\n\t\t\t\t\"@types/bun\": \"^1.3.14\",\n\t\t\t\ttypescript: \"^6.0.3\",\n\t\t\t\t...packageDeps.devDependencies,\n\t\t\t},\n\t\t},\n\t\tnull,\n\t\t2,\n\t);\n}\n\n// ─── Shared files (fullstack only) ──────────────────────────────────────────\n\nfunction getSharedFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"shared/types/index.ts\",\n\t\t\tcontent: `export interface ApiResponse<TData = unknown> {\\n readonly success: boolean;\\n readonly data?: TData;\\n readonly error?: string;\\n readonly message?: string;\\n}\\n\\nexport interface User {\\n readonly id: string;\\n readonly name: string;\\n readonly email: string;\\n readonly createdAt: string;\\n readonly updatedAt: string;\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"shared/constants/index.ts\",\n\t\t\tcontent: `export const APP_NAME = \"${projectConfig.projectName}\";\\nexport const API_VERSION = \"v1\";\\nexport const DEFAULT_PAGE_SIZE = 20;\\n`,\n\t\t},\n\t];\n}\n\n// ─── CSS helpers ─────────────────────────────────────────────────────────────\n\nfunction getCssDependencies(\n\tcssFramework: CssFramework,\n): Record<string, string> {\n\tswitch (cssFramework) {\n\t\tcase \"tailwind\":\n\t\t\treturn { tailwindcss: \"^4.3.1\" };\n\t\tcase \"bootstrap\":\n\t\t\treturn { bootstrap: \"^5.3.3\" };\n\t\tcase \"sass\":\n\t\tcase \"none\":\n\t\t\treturn {};\n\t}\n}\n\nfunction getCssDevDependencies(\n\tcssFramework: CssFramework,\n): Record<string, string> {\n\tswitch (cssFramework) {\n\t\tcase \"sass\":\n\t\t\treturn { sass: \"^1.77.0\" };\n\t\tdefault:\n\t\t\treturn {};\n\t}\n}\n\nfunction getFrontendOnlyCssGlobals(cssFramework: CssFramework): string {\n\tconst cssImport =\n\t\tcssFramework === \"tailwind\"\n\t\t\t? `@import \"tailwindcss\";\\n\\n`\n\t\t\t: cssFramework === \"bootstrap\"\n\t\t\t\t? `@import url(\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css\");\\n\\n`\n\t\t\t\t: cssFramework === \"sass\"\n\t\t\t\t\t? `$color-primary: #dc2626;\\n$color-background: #050505;\\n$color-foreground: #f8fafc;\\n\\n`\n\t\t\t\t\t: \"\";\n\n\treturn `${cssImport}:root {\n --color-primary: #dc2626;\n --color-background: #050505;\n --color-foreground: #f8fafc;\n --color-surface: #0e111a;\n --color-border: rgba(255, 255, 255, 0.1);\n --color-muted: #94a3b8;\n color-scheme: dark;\n}\n\nhtml {\n scroll-behavior: smooth;\n}\n\nbody {\n margin: 0;\n min-width: 320px;\n min-height: 100vh;\n color: var(--color-foreground);\n background: var(--color-background);\n font-family:\n ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\",\n Roboto, sans-serif;\n -webkit-font-smoothing: antialiased;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@keyframes shrimpLegs {\n 0% {\n transform: translateY(0);\n }\n\n 50% {\n transform: translateY(2px);\n }\n}\n`;\n}\n\nfunction getCssGlobals(cssFramework: CssFramework): string {\n\tconst sharedBase = `\n:root {\n --color-primary: #dc2626;\n --color-background: #050505;\n --color-foreground: #f8fafc;\n}\n\n* {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n color: var(--color-foreground);\n background: var(--color-background);\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n}\n\n.page-shell {\n width: min(100% - 2rem, 960px);\n margin: 0 auto;\n padding: 4rem 0;\n}\n\n.hero-card,\n.feature-card {\n border: 1px solid rgba(255, 255, 255, 0.1);\n background: #0e111a;\n border-radius: 24px;\n padding: 2rem;\n margin-bottom: 1.5rem;\n}\n\n.eyebrow {\n color: #dc2626;\n font-weight: 700;\n letter-spacing: 0.12em;\n font-size: 0.75rem;\n text-transform: uppercase;\n}\n\n.button-row {\n display: flex;\n gap: 0.75rem;\n flex-wrap: wrap;\n margin-top: 1rem;\n}\n\na {\n color: #dc2626;\n}\n\nbutton {\n cursor: pointer;\n}\n`;\n\n\tswitch (cssFramework) {\n\t\tcase \"tailwind\":\n\t\t\treturn `@import \"tailwindcss\";\\n${sharedBase}`;\n\t\tcase \"bootstrap\":\n\t\t\treturn `@import url(\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css\");\\n${sharedBase}`;\n\t\tcase \"sass\":\n\t\t\treturn `$color-primary: #dc2626;\\n$color-background: #050505;\\n$color-foreground: #f8fafc;\\n${sharedBase}`;\n\t\tcase \"none\":\n\t\t\treturn sharedBase;\n\t}\n}\n\n// ─── Inline template generators ──────────────────────────────────────────────\n\nfunction generateFrontendOnlyRaktaEnv(): string {\n\treturn `declare module \"*.css\";\ndeclare module \"*.scss\";\ndeclare module \"*.sass\";\n\ntype RaktaClickAttributes = Omit<\n import(\"react\").AnchorHTMLAttributes<HTMLAnchorElement>,\n \"href\"\n> & {\n readonly to: string;\n};\n\ndeclare global {\n namespace JSX {\n interface IntrinsicElements {\n click: RaktaClickAttributes;\n }\n }\n\n const useCallback: typeof import(\"react\").useCallback;\n const useEffect: typeof import(\"react\").useEffect;\n const useRef: typeof import(\"react\").useRef;\n const useState: typeof import(\"react\").useState;\n\n const ShrimpRunGame: typeof import(\"./app/components/shrimpRunGame\").default;\n const RaktaShrimpMascot: typeof import(\"./app/components/raktaShrimpMascot\").default;\n}\n\ndeclare module \"react/jsx-runtime\" {\n namespace JSX {\n interface IntrinsicElements {\n click: RaktaClickAttributes;\n }\n }\n}\n\ndeclare module \"react/jsx-dev-runtime\" {\n namespace JSX {\n interface IntrinsicElements {\n click: RaktaClickAttributes;\n }\n }\n}\n\nexport {};\n`;\n}\n\nfunction generateFrontendOnlyLayout(): string {\n\treturn `interface RootLayoutProps {\n readonly children: import(\"react\").ReactNode;\n}\n\nexport default function RootLayout({ children }: RootLayoutProps) {\n return (\n <html lang=\"en\">\n <head>\n <meta charSet=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Rakta.js App</title>\n </head>\n <body className=\"min-h-screen bg-[#050505] text-slate-50 antialiased\">\n {children}\n </body>\n </html>\n );\n}\n`;\n}\n\nfunction generateFrontendOnlyPage(projectName: string): string {\n\treturn `export default function HomePage() {\n return (\n <main className=\"mx-auto flex min-h-screen w-full max-w-4xl flex-col gap-6 px-4 py-16 sm:px-6 lg:px-8\">\n <section className=\"rounded-3xl border border-white/10 bg-[#0e111a] p-8 shadow-2xl shadow-red-950/20\">\n <p className=\"mb-2 text-xs font-bold uppercase tracking-[0.3em] text-red-600\">\n THE RED ROUTER FRAMEWORK\n </p>\n <h1 className=\"mb-3 text-4xl font-extrabold leading-tight text-white md:text-6xl\">\n Welcome to ${projectName}\n </h1>\n <p className=\"max-w-2xl text-base leading-7 text-slate-400\">\n Built with Rakta.js — Small in size. Fierce in speed. Alive in every route.\n </p>\n\n <div className=\"mt-6 flex flex-wrap gap-3\">\n <click\n to=\"/offline\"\n className=\"rounded-xl border border-red-500/40 px-4 py-2 text-sm font-semibold text-red-400 transition hover:border-red-400 hover:text-red-300\"\n >\n Open offline page\n </click>\n <click\n to=\"/dashboard\"\n className=\"rounded-xl bg-red-600 px-4 py-2 text-sm font-semibold text-white transition hover:bg-red-700\"\n >\n View dashboard\n </click>\n </div>\n </section>\n\n <section className=\"rounded-3xl border border-white/10 bg-[#0e111a] p-8 shadow-2xl shadow-red-950/20\">\n <p className=\"mb-2 text-xs font-bold uppercase tracking-[0.3em] text-red-600\">\n SHRIMPRUN\n </p>\n <h2 className=\"mb-1 text-2xl font-bold text-white\">Play ShrimpRun</h2>\n <p className=\"mb-6 text-sm leading-6 text-slate-400\">\n Press Space or click the game area to jump. Avoid the red obstacles!\n </p>\n\n <ShrimpRunGame />\n </section>\n </main>\n );\n}\n`;\n}\n\nfunction generateFrontendOnlyLoading(): string {\n\treturn `export default function Loading() {\n return (\n <main className=\"flex min-h-screen items-center justify-center bg-[#050505] px-4\">\n <p className=\"text-sm font-medium text-slate-400\">Loading...</p>\n </main>\n );\n}\n`;\n}\n\nfunction generateFrontendOnlyError(): string {\n\treturn `interface ErrorPageProps {\n readonly error: Error;\n readonly reset: () => void;\n}\n\nexport default function ErrorPage({ error, reset }: ErrorPageProps) {\n return (\n <main className=\"mx-auto flex min-h-screen w-full max-w-3xl items-center px-4 py-16\">\n <section className=\"w-full rounded-3xl border border-white/10 bg-[#0e111a] p-8 shadow-2xl shadow-red-950/20\">\n <p className=\"mb-2 text-xs font-bold uppercase tracking-[0.3em] text-red-600\">\n ERROR\n </p>\n <h1 className=\"mb-3 text-3xl font-extrabold text-white\">\n Something went wrong\n </h1>\n <p className=\"mb-6 wrap-break-word text-sm leading-6 text-slate-400\">\n {error.message}\n </p>\n <button\n type=\"button\"\n onClick={reset}\n className=\"rounded-lg bg-red-600 px-6 py-2 font-semibold text-white transition hover:bg-red-700 active:bg-red-800 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-500\"\n >\n Try again\n </button>\n </section>\n </main>\n );\n}\n`;\n}\n\nfunction generateFrontendOnlyNotFound(): string {\n\treturn `export default function NotFound() {\n return (\n <main className=\"mx-auto flex min-h-screen w-full max-w-3xl items-center px-4 py-16\">\n <section className=\"w-full rounded-3xl border border-white/10 bg-[#0e111a] p-8 shadow-2xl shadow-red-950/20\">\n <p className=\"mb-2 text-xs font-bold uppercase tracking-[0.3em] text-red-600\">\n 404\n </p>\n <h1 className=\"mb-3 text-3xl font-extrabold text-white\">\n Page not found\n </h1>\n <p className=\"mb-6 text-sm leading-6 text-slate-400\">\n The page you are looking for does not exist.\n </p>\n <click\n to=\"/\"\n className=\"font-semibold text-red-500 underline-offset-4 transition hover:text-red-400 hover:underline\"\n >\n Return home\n </click>\n </section>\n </main>\n );\n}\n`;\n}\n\nfunction generateShrimpMascotComponent(): string {\n\treturn `interface RaktaShrimpMascotProps {\n readonly isJumping: boolean;\n readonly isDead: boolean;\n readonly style?: import(\"react\").CSSProperties;\n}\n\n/**\n * RaktaShrimpMascot — The animated shrimp hero of ShrimpRun.\n * Drawn entirely with inline SVG. No external assets required.\n */\nexport default function RaktaShrimpMascot({\n isJumping,\n isDead,\n style,\n}: RaktaShrimpMascotProps) {\n const bodyColor = isDead ? \"#6b7280\" : \"#dc2626\";\n const eyeColor = isDead ? \"#374151\" : \"#fff\";\n const legAnimation =\n isJumping || isDead ? \"none\" : \"shrimpLegs 0.3s steps(2) infinite\";\n\n return (\n <svg\n viewBox=\"0 0 48 48\"\n width=\"48\"\n height=\"48\"\n style={{ display: \"block\", ...style }}\n aria-label={\n isDead ? \"dead shrimp\" : isJumping ? \"shrimp jumping\" : \"running shrimp\"\n }\n role=\"img\"\n >\n <style>{\\`\n @keyframes shrimpLegs {\n 0% { transform: translateY(0); }\n 50% { transform: translateY(2px); }\n }\n \\`}</style>\n\n {/* Body */}\n <path\n d=\"M8 30 Q10 14 24 12 Q38 10 40 22 Q42 32 32 36 Q20 40 8 30Z\"\n fill={bodyColor}\n />\n\n {/* Shell segments */}\n <path\n d=\"M12 28 Q16 20 24 18 Q30 17 34 22\"\n stroke=\"#b91c1c\"\n strokeWidth=\"1.5\"\n fill=\"none\"\n opacity={isDead ? 0.3 : 0.6}\n />\n <path\n d=\"M14 32 Q19 24 28 22 Q33 21 36 26\"\n stroke=\"#b91c1c\"\n strokeWidth=\"1.5\"\n fill=\"none\"\n opacity={isDead ? 0.3 : 0.6}\n />\n\n {/* Eye */}\n <circle cx=\"34\" cy=\"18\" r=\"4\" fill=\"#1e293b\" />\n <circle cx=\"35\" cy=\"17\" r=\"2\" fill={eyeColor} />\n\n {isDead && (\n <>\n <line\n x1=\"32\"\n y1=\"16\"\n x2=\"36\"\n y2=\"20\"\n stroke=\"#374151\"\n strokeWidth=\"1.5\"\n />\n <line\n x1=\"36\"\n y1=\"16\"\n x2=\"32\"\n y2=\"20\"\n stroke=\"#374151\"\n strokeWidth=\"1.5\"\n />\n </>\n )}\n\n {/* Antennae */}\n <line\n x1=\"34\"\n y1=\"14\"\n x2=\"40\"\n y2=\"6\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"32\"\n y1=\"13\"\n x2=\"36\"\n y2=\"4\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n\n {/* Tail */}\n <path\n d=\"M10 30 Q4 26 6 20\"\n stroke={bodyColor}\n strokeWidth=\"2\"\n fill=\"none\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M10 30 Q2 30 4 36\"\n stroke={bodyColor}\n strokeWidth=\"2\"\n fill=\"none\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M10 30 Q6 34 8 40\"\n stroke={bodyColor}\n strokeWidth=\"2\"\n fill=\"none\"\n strokeLinecap=\"round\"\n />\n\n {/* Legs */}\n <g\n style={{\n animation: legAnimation,\n transformOrigin: \"24px 36px\",\n }}\n >\n <line\n x1=\"18\"\n y1=\"36\"\n x2=\"14\"\n y2=\"44\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"22\"\n y1=\"38\"\n x2=\"18\"\n y2=\"46\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"26\"\n y1=\"38\"\n x2=\"24\"\n y2=\"46\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"30\"\n y1=\"37\"\n x2=\"28\"\n y2=\"45\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </g>\n </svg>\n );\n}\n`;\n}\n\nfunction generateShrimpRunGameComponent(): string {\n\treturn `// ─── Types ────────────────────────────────────────────────────────────────────\n\ntype GameStatus = \"idle\" | \"running\" | \"dead\";\n\ninterface ObstacleState {\n readonly id: number;\n readonly xPosition: number;\n readonly width: number;\n readonly height: number;\n}\n\ninterface ShrimpState {\n readonly yPosition: number;\n readonly velocityY: number;\n readonly isJumping: boolean;\n}\n\n// ─── Constants ────────────────────────────────────────────────────────────────\n\nconst CANVAS_WIDTH = 640;\nconst CANVAS_HEIGHT = 160;\nconst GROUND_STRIP_HEIGHT = 4;\nconst SHRIMP_START_X = 60;\nconst SHRIMP_WIDTH = 48;\nconst SHRIMP_HEIGHT = 48;\nconst GRAVITY = 1.4;\nconst JUMP_VELOCITY = -18;\nconst INITIAL_OBSTACLE_SPEED = 5;\nconst SPEED_INCREMENT_PER_SCORE = 0.003;\nconst OBSTACLE_SPAWN_INTERVAL_MS = 1600;\nconst SCORE_TICK_MS = 80;\nconst COLLISION_MARGIN = 8;\nconst MAX_CONCURRENT_OBSTACLES = 3;\nconst FRAME_SKIP_THRESHOLD_MS = 100;\n\n// ─── Physics helpers ──────────────────────────────────────────────────────────\n\nfunction getObstacleSpeed(currentScore: number): number {\n return INITIAL_OBSTACLE_SPEED + currentScore * SPEED_INCREMENT_PER_SCORE;\n}\n\nfunction checkCollision(\n shrimpYPosition: number,\n obstacle: ObstacleState,\n): boolean {\n const shrimpLeft = SHRIMP_START_X + COLLISION_MARGIN;\n const shrimpRight = SHRIMP_START_X + SHRIMP_WIDTH - COLLISION_MARGIN;\n const shrimpTop =\n CANVAS_HEIGHT -\n GROUND_STRIP_HEIGHT -\n shrimpYPosition -\n SHRIMP_HEIGHT +\n COLLISION_MARGIN;\n const shrimpBottom = CANVAS_HEIGHT - GROUND_STRIP_HEIGHT - shrimpYPosition;\n\n const obstacleLeft = obstacle.xPosition + COLLISION_MARGIN;\n const obstacleRight = obstacle.xPosition + obstacle.width - COLLISION_MARGIN;\n const obstacleTop = CANVAS_HEIGHT - GROUND_STRIP_HEIGHT - obstacle.height;\n const obstacleBottom = CANVAS_HEIGHT - GROUND_STRIP_HEIGHT;\n\n return (\n shrimpLeft < obstacleRight &&\n shrimpRight > obstacleLeft &&\n shrimpTop < obstacleBottom &&\n shrimpBottom > obstacleTop\n );\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\n/**\n * ShrimpRun — Default Rakta.js interactive starter game.\n *\n * Like the Chrome offline Dino game, but the dinosaur is an animated shrimp.\n * Press Space or click the game canvas to jump. Avoid the red obstacles!\n *\n * Features:\n * - React state only — no external game library\n * - requestAnimationFrame game loop\n * - Physics: gravity + jump velocity\n * - Score that increases over time\n * - Speed ramps up as score grows\n * - Collision detection with margin\n * - High score tracked in component state\n * - Keyboard (Space) and click/tap support\n * - Accessible button game canvas\n * - SVG shrimp mascot — no external assets\n */\nexport default function ShrimpRunGame() {\n const [gameStatus, setGameStatus] = useState<GameStatus>(\"idle\");\n const [score, setScore] = useState(0);\n const [highScore, setHighScore] = useState(0);\n const [obstacles, setObstacles] = useState<ObstacleState[]>([]);\n const [shrimp, setShrimp] = useState<ShrimpState>({\n yPosition: 0,\n velocityY: 0,\n isJumping: false,\n });\n\n const gameStatusRef = useRef<GameStatus>(\"idle\");\n const scoreRef = useRef(0);\n const shrimpRef = useRef<ShrimpState>({\n yPosition: 0,\n velocityY: 0,\n isJumping: false,\n });\n const obstaclesRef = useRef<ObstacleState[]>([]);\n const obstacleIdRef = useRef(0);\n const animationFrameRef = useRef<number>(0);\n const lastObstacleTimeRef = useRef(0);\n const lastScoreTickRef = useRef(0);\n\n const jump = useCallback((): void => {\n if (gameStatusRef.current === \"dead\") {\n return;\n }\n\n if (gameStatusRef.current === \"idle\") {\n gameStatusRef.current = \"running\";\n setGameStatus(\"running\");\n }\n\n if (!shrimpRef.current.isJumping) {\n const nextShrimp: ShrimpState = {\n ...shrimpRef.current,\n velocityY: JUMP_VELOCITY,\n isJumping: true,\n };\n\n shrimpRef.current = nextShrimp;\n setShrimp(nextShrimp);\n }\n }, []);\n\n const resetGame = useCallback((): void => {\n const freshShrimp: ShrimpState = {\n yPosition: 0,\n velocityY: 0,\n isJumping: false,\n };\n\n shrimpRef.current = freshShrimp;\n obstaclesRef.current = [];\n obstacleIdRef.current = 0;\n scoreRef.current = 0;\n gameStatusRef.current = \"idle\";\n lastObstacleTimeRef.current = 0;\n lastScoreTickRef.current = 0;\n\n setShrimp(freshShrimp);\n setObstacles([]);\n setScore(0);\n setGameStatus(\"idle\");\n }, []);\n\n useEffect(() => {\n let previousTimestamp = 0;\n\n function gameTick(timestamp: number): void {\n if (gameStatusRef.current !== \"running\") {\n animationFrameRef.current = requestAnimationFrame(gameTick);\n return;\n }\n\n const deltaTime = timestamp - previousTimestamp;\n previousTimestamp = timestamp;\n\n if (deltaTime > FRAME_SKIP_THRESHOLD_MS) {\n animationFrameRef.current = requestAnimationFrame(gameTick);\n return;\n }\n\n const currentShrimp = shrimpRef.current;\n let nextVelocityY = currentShrimp.velocityY + GRAVITY;\n let nextYPosition = currentShrimp.yPosition - nextVelocityY;\n\n if (nextYPosition <= 0) {\n nextYPosition = 0;\n nextVelocityY = 0;\n }\n\n const nextShrimp: ShrimpState = {\n yPosition: nextYPosition,\n velocityY: nextVelocityY,\n isJumping: nextYPosition > 0,\n };\n\n shrimpRef.current = nextShrimp;\n setShrimp(nextShrimp);\n\n const obstacleSpeed = getObstacleSpeed(scoreRef.current);\n\n const movedObstacles = obstaclesRef.current\n .map(\n (obstacle): ObstacleState => ({\n ...obstacle,\n xPosition: obstacle.xPosition - obstacleSpeed,\n }),\n )\n .filter((obstacle) => obstacle.xPosition + obstacle.width > -10);\n\n if (\n timestamp - lastObstacleTimeRef.current > OBSTACLE_SPAWN_INTERVAL_MS &&\n movedObstacles.length < MAX_CONCURRENT_OBSTACLES\n ) {\n const obstacleHeight = 30 + Math.floor(Math.random() * 30);\n const obstacleWidth = 20 + Math.floor(Math.random() * 20);\n\n movedObstacles.push({\n id: obstacleIdRef.current,\n xPosition: CANVAS_WIDTH + 20,\n width: obstacleWidth,\n height: obstacleHeight,\n });\n\n obstacleIdRef.current += 1;\n lastObstacleTimeRef.current = timestamp;\n }\n\n obstaclesRef.current = movedObstacles;\n setObstacles([...movedObstacles]);\n\n for (const obstacle of movedObstacles) {\n if (checkCollision(nextShrimp.yPosition, obstacle)) {\n gameStatusRef.current = \"dead\";\n setGameStatus(\"dead\");\n setHighScore((previousHighScore: number) =>\n Math.max(previousHighScore, scoreRef.current),\n );\n animationFrameRef.current = requestAnimationFrame(gameTick);\n return;\n }\n }\n\n if (timestamp - lastScoreTickRef.current > SCORE_TICK_MS) {\n scoreRef.current += 1;\n setScore(scoreRef.current);\n lastScoreTickRef.current = timestamp;\n }\n\n animationFrameRef.current = requestAnimationFrame(gameTick);\n }\n\n animationFrameRef.current = requestAnimationFrame(gameTick);\n\n return () => {\n cancelAnimationFrame(animationFrameRef.current);\n };\n }, []);\n\n useEffect(() => {\n function handleKeyDown(keyboardEvent: KeyboardEvent): void {\n if (keyboardEvent.code === \"Space\") {\n keyboardEvent.preventDefault();\n jump();\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown);\n\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [jump]);\n\n const shrimpBottomOffset = GROUND_STRIP_HEIGHT + shrimp.yPosition;\n const isDead = gameStatus === \"dead\";\n const isIdle = gameStatus === \"idle\";\n const isRunning = gameStatus === \"running\";\n\n return (\n <div className=\"flex flex-col items-start gap-4 py-4\">\n <div className=\"flex flex-wrap items-center gap-8\">\n <span className=\"font-mono text-xl font-bold tabular-nums text-red-600\">\n Score: {score}\n </span>\n {highScore > 0 && (\n <span className=\"text-sm text-slate-400\">Best: {highScore}</span>\n )}\n </div>\n\n <button\n type=\"button\"\n className=\"relative block max-w-full cursor-pointer select-none overflow-hidden rounded-2xl border-2 border-red-600/30 bg-[#0e111a] p-0 text-left focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-500\"\n aria-label=\"ShrimpRun game area. Click or press Space to jump.\"\n onClick={jump}\n onKeyDown={(keyboardEvent: import(\"react\").KeyboardEvent) => {\n if (keyboardEvent.code === \"Space\") {\n keyboardEvent.preventDefault();\n jump();\n }\n }}\n style={{\n width: CANVAS_WIDTH,\n height: CANVAS_HEIGHT,\n }}\n >\n <span\n className=\"absolute bottom-0 left-0 w-full rounded-sm bg-red-600\"\n style={{\n height: GROUND_STRIP_HEIGHT,\n }}\n />\n\n <span\n className=\"absolute\"\n style={{\n left: SHRIMP_START_X,\n bottom: shrimpBottomOffset,\n width: SHRIMP_WIDTH,\n height: SHRIMP_HEIGHT,\n }}\n >\n <RaktaShrimpMascot isJumping={shrimp.isJumping} isDead={isDead} />\n </span>\n\n {obstacles.map((obstacle) => (\n <span\n key={obstacle.id}\n className=\"absolute rounded-t bg-red-600\"\n style={{\n left: obstacle.xPosition,\n bottom: GROUND_STRIP_HEIGHT,\n width: obstacle.width,\n height: obstacle.height,\n }}\n />\n ))}\n\n {isIdle && (\n <span className=\"pointer-events-none absolute inset-0 flex items-center justify-center text-sm text-slate-400\">\n Press Space or click to start\n </span>\n )}\n\n {isDead && (\n <span className=\"absolute inset-0 flex flex-col items-center justify-center gap-2 bg-black/75\">\n <span className=\"text-lg font-bold tracking-widest text-red-600\">\n GAME OVER\n </span>\n <span className=\"text-sm text-slate-400\">Score: {score}</span>\n </span>\n )}\n\n {isRunning && score > 0 && score % 50 === 0 && (\n <span className=\"absolute right-3 top-2 text-xs font-bold tracking-widest text-red-600 opacity-80\">\n {score}!\n </span>\n )}\n </button>\n\n <p className=\"min-h-5 text-sm text-slate-400\">\n {isIdle && \"🦐 Click or press Space to make the shrimp jump!\"}\n {isRunning && \"🦐 Don't hit the obstacles!\"}\n {isDead && \"The shrimp got cooked. Try again!\"}\n </p>\n\n {isDead && (\n <button\n type=\"button\"\n className=\"w-fit rounded-lg bg-red-600 px-6 py-2 font-semibold text-white transition hover:bg-red-700 active:bg-red-800 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-500\"\n onClick={resetGame}\n >\n Restart\n </button>\n )}\n </div>\n );\n}\n`;\n}\n\nfunction generateFullstackHomePage(projectName: string): string {\n\treturn `import React from \"react\";\n\nexport default function HomePage() {\n return (\n <main className=\"page-shell\">\n <section className=\"hero-card\">\n <p className=\"eyebrow\">THE RED ROUTER FRAMEWORK</p>\n <h1>Welcome to ${projectName}</h1>\n <p>\n Built with Rakta.js — Small in size. Fierce in speed. Alive in every route.\n </p>\n <div className=\"button-row\">\n <a href=\"/about\">About</a>\n <a href=\"/blog\">Blog</a>\n </div>\n </section>\n </main>\n );\n}\n`;\n}\n\n// ─── Database helpers ─────────────────────────────────────────────────────────\n\nfunction getDatabaseDependencies(\n\tselectedDatabase: Database,\n): Record<string, string> {\n\tswitch (selectedDatabase) {\n\t\tcase \"postgresql\":\n\t\t\treturn { postgres: \"^3.4.4\" };\n\t\tcase \"mysql\":\n\t\tcase \"mariadb\":\n\t\t\treturn { mysql2: \"^3.9.8\" };\n\t\tcase \"mongodb\":\n\t\t\treturn { mongodb: \"^6.8.0\" };\n\t\tcase \"firebase\":\n\t\t\treturn { \"firebase-admin\": \"^12.7.0\" };\n\t\tcase \"sqlite\":\n\t\t\treturn {};\n\t\tcase \"redis\":\n\t\t\treturn { ioredis: \"^5.4.1\" };\n\t\tcase \"planetscale\":\n\t\t\treturn { \"@planetscale/database\": \"^1.18.0\" };\n\t\tcase \"neon\":\n\t\t\treturn { \"@neondatabase/serverless\": \"^0.9.4\" };\n\t\tcase \"turso\":\n\t\t\treturn { \"@libsql/client\": \"^0.6.2\" };\n\t\tdefault:\n\t\t\treturn {};\n\t}\n}\n\nfunction getDatabaseConfig(selectedDatabase: Database): string {\n\tswitch (selectedDatabase) {\n\t\tcase \"sqlite\":\n\t\t\treturn `export const databaseConfig = {\\n path: process.env[\"DATABASE_PATH\"] ?? \"./database.sqlite\",\\n provider: \"sqlite\" as const,\\n} as const;\\n`;\n\t\tcase \"firebase\":\n\t\t\treturn `export const databaseConfig = {\\n projectId: process.env[\"FIREBASE_PROJECT_ID\"] ?? \"\",\\n clientEmail: process.env[\"FIREBASE_CLIENT_EMAIL\"] ?? \"\",\\n privateKey: process.env[\"FIREBASE_PRIVATE_KEY\"]?.replace(/\\\\\\\\\\\\\\\\n/g, \"\\\\\\\\n\") ?? \"\",\\n databaseUrl: process.env[\"FIREBASE_DATABASE_URL\"] ?? \"\",\\n provider: \"firebase\" as const,\\n} as const;\\n`;\n\t\tcase \"turso\":\n\t\t\treturn `export const databaseConfig = {\\n url: process.env[\"TURSO_DATABASE_URL\"] ?? \"\",\\n authToken: process.env[\"TURSO_AUTH_TOKEN\"] ?? \"\",\\n provider: \"turso\" as const,\\n} as const;\\n`;\n\t\tdefault:\n\t\t\treturn `import { env } from \"../env\";\\n\\nexport const databaseConfig = {\\n url: env.databaseUrl,\\n provider: \"${selectedDatabase}\" as const,\\n} as const;\\n`;\n\t}\n}\n\nfunction getDatabaseClient(selectedDatabase: Database): string {\n\tswitch (selectedDatabase) {\n\t\tcase \"postgresql\":\n\t\t\treturn `import postgres from \"postgres\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const sql = databaseConfig.url ? postgres(databaseConfig.url) : null;\\n`;\n\t\tcase \"mysql\":\n\t\tcase \"mariadb\":\n\t\t\treturn `import mysql from \"mysql2/promise\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const pool = databaseConfig.url\\n ? mysql.createPool({ uri: databaseConfig.url, connectionLimit: 10 })\\n : null;\\n`;\n\t\tcase \"mongodb\":\n\t\t\treturn `import { MongoClient } from \"mongodb\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const mongoClient = databaseConfig.url\\n ? new MongoClient(databaseConfig.url)\\n : null;\\n`;\n\t\tcase \"firebase\":\n\t\t\treturn `import { cert, getApps, initializeApp } from \"firebase-admin/app\";\\nimport { getFirestore } from \"firebase-admin/firestore\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nconst credentialReady =\\n databaseConfig.projectId.length > 0 &&\\n databaseConfig.clientEmail.length > 0 &&\\n databaseConfig.privateKey.length > 0;\\n\\nexport const firebaseApp = getApps()[0] ?? initializeApp(\\n credentialReady\\n ? {\\n credential: cert({\\n projectId: databaseConfig.projectId,\\n clientEmail: databaseConfig.clientEmail,\\n privateKey: databaseConfig.privateKey,\\n }),\\n databaseURL: databaseConfig.databaseUrl || undefined,\\n }\\n : undefined\\n);\\n\\nexport const firestore = getFirestore(firebaseApp);\\n`;\n\t\tcase \"sqlite\":\n\t\t\treturn `import { Database } from \"bun:sqlite\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const db = new Database(databaseConfig.path, { create: true });\\n`;\n\t\tcase \"redis\":\n\t\t\treturn `import Redis from \"ioredis\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const redis = databaseConfig.url ? new Redis(databaseConfig.url) : null;\\n`;\n\t\tcase \"planetscale\":\n\t\t\treturn `import { connect } from \"@planetscale/database\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const connection = databaseConfig.url\\n ? connect({ url: databaseConfig.url })\\n : null;\\n`;\n\t\tcase \"neon\":\n\t\t\treturn `import { neon } from \"@neondatabase/serverless\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const sql = databaseConfig.url ? neon(databaseConfig.url) : null;\\n`;\n\t\tcase \"turso\":\n\t\t\treturn `import { createClient } from \"@libsql/client\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const db =\\n databaseConfig.url && databaseConfig.authToken\\n ? createClient({ url: databaseConfig.url, authToken: databaseConfig.authToken })\\n : null;\\n`;\n\t\tdefault:\n\t\t\treturn `export const databaseClient = null;\\n`;\n\t}\n}\n\nfunction getDatabaseEnvExample(selectedDatabase: Database): string {\n\tconst baseEnv = `NODE_ENV=development\\nPORT=4000\\nCORS_ORIGIN=http://localhost:3000\\n`;\n\n\tswitch (selectedDatabase) {\n\t\tcase \"postgresql\":\n\t\t\treturn `${baseEnv}DATABASE_URL=postgresql://user:password@localhost:5432/dbname\\n`;\n\t\tcase \"mysql\":\n\t\t\treturn `${baseEnv}DATABASE_URL=mysql://user:password@localhost:3306/dbname\\n`;\n\t\tcase \"mariadb\":\n\t\t\treturn `${baseEnv}DATABASE_URL=mysql://user:password@localhost:3306/dbname\\n`;\n\t\tcase \"mongodb\":\n\t\t\treturn `${baseEnv}DATABASE_URL=mongodb://localhost:27017/dbname\\n`;\n\t\tcase \"firebase\":\n\t\t\treturn `${baseEnv}FIREBASE_PROJECT_ID=your-project-id\\nFIREBASE_CLIENT_EMAIL=firebase-adminsdk@your-project.iam.gserviceaccount.com\\nFIREBASE_PRIVATE_KEY=\"-----BEGIN PRIVATE KEY-----\\\\nyour-key\\\\n-----END PRIVATE KEY-----\\\\n\"\\nFIREBASE_DATABASE_URL=https://your-project.firebaseio.com\\n`;\n\t\tcase \"sqlite\":\n\t\t\treturn `${baseEnv}DATABASE_PATH=./database.sqlite\\n`;\n\t\tcase \"redis\":\n\t\t\treturn `${baseEnv}DATABASE_URL=redis://localhost:6379\\n`;\n\t\tcase \"planetscale\":\n\t\t\treturn `${baseEnv}DATABASE_URL=mysql://user:password@aws.connect.psdb.cloud/dbname\\n`;\n\t\tcase \"neon\":\n\t\t\treturn `${baseEnv}DATABASE_URL=postgresql://user:password@ep-xxx.neon.tech/neondb?sslmode=require\\n`;\n\t\tcase \"turso\":\n\t\t\treturn `${baseEnv}TURSO_DATABASE_URL=libsql://your-db.turso.io\\nTURSO_AUTH_TOKEN=your-auth-token\\n`;\n\t\tdefault:\n\t\t\treturn `${baseEnv}DATABASE_URL=\\n`;\n\t}\n}\n\n// ─── README ──────────────────────────────────────────────────────────────────\n\nfunction generateProjectReadme(projectConfig: ProjectConfig): string {\n\tconst { projectName, projectMode } = projectConfig;\n\n\tif (projectMode === \"frontend-only\") {\n\t\treturn `# ${projectName}\\n\\nBuilt with Rakta.js — Small in size. Fierce in speed. Alive in every route.\\n\\n## Stack\\n\\n| Layer | Technology |\\n| --- | --- |\\n| Frontend | Rakta.js + React + TypeScript |\\n| CSS | ${CSS_DISPLAY[projectConfig.cssFramework]} |\\n| Runtime | Bun |\\n\\n## Run\\n\\n\\`\\`\\`bash\\nbun install\\nbun run dev\\n\\`\\`\\`\\n\\n## ShrimpRun\\n\\nYour starter includes ShrimpRun — an interactive game where a shrimp dodges obstacles. Press Space or click to jump!\\n`;\n\t}\n\n\treturn `# ${projectName}\\n\\nBuilt with Rakta.js — Small in size. Fierce in speed. Alive in every route.\\n\\n## Stack\\n\\n| Layer | Technology |\\n| --- | --- |\\n| Frontend | Rakta.js + React + TypeScript |\\n| CSS | ${CSS_DISPLAY[projectConfig.cssFramework]} |\\n| Backend | ${BACKEND_DISPLAY[projectConfig.backendFramework]} |\\n| Database | ${DATABASE_DISPLAY[projectConfig.database]} |\\n| Runtime | Bun |\\n\\n## Run\\n\\n\\`\\`\\`bash\\nbun install\\n\\n# Terminal 1\\nbun run dev:frontend\\n\\n# Terminal 2\\nbun run dev:backend\\n\\`\\`\\`\\n\\n## Endpoints\\n\\n- Frontend: http://localhost:3000\\n- Backend: http://localhost:4000\\n`;\n}\n\n// ─── Main export ─────────────────────────────────────────────────────────────\n\nexport function generateProjectFiles(\n\tprojectConfig: ProjectConfig,\n): ProjectFile[] {\n\tif (projectConfig.projectMode === \"frontend-only\") {\n\t\treturn [\n\t\t\t...getRootFiles(projectConfig),\n\t\t\t...getFrontendOnlyFiles(projectConfig),\n\t\t];\n\t}\n\n\treturn [\n\t\t...getRootFiles(projectConfig),\n\t\t...getFullstackFrontendFiles(projectConfig),\n\t\t...getBackendFiles(projectConfig),\n\t\t...getSharedFiles(projectConfig),\n\t];\n}\n",
18
- "import * as clack from \"@clack/prompts\";\nimport type {\n\tBackendFramework,\n\tCssFramework,\n\tDatabase,\n\tProjectConfig,\n\tProjectMode,\n\tRenderMode,\n} from \"./types\";\nimport {\n\tBACKEND_DISPLAY,\n\tCSS_DISPLAY,\n\tDATABASE_DISPLAY,\n\tPROJECT_MODE_DISPLAY,\n\tRENDER_MODE_DISPLAY,\n} from \"./types\";\n\nfunction getPromptValue<TValue>(promptResult: TValue | symbol): TValue {\n\tif (clack.isCancel(promptResult)) {\n\t\tclack.cancel(\"Setup cancelled.\");\n\t\tprocess.exit(0);\n\t}\n\n\treturn promptResult;\n}\n\nexport async function promptProjectName(fallbackName: string): Promise<string> {\n\tconst promptResult = await clack.text({\n\t\tmessage: \"Project name:\",\n\t\tplaceholder: fallbackName,\n\t\tdefaultValue: fallbackName,\n\t\tvalidate(inputValue) {\n\t\t\tconst trimmedInput = (inputValue ?? \"\").trim();\n\n\t\t\tif (trimmedInput.length === 0) {\n\t\t\t\treturn \"Project name cannot be empty.\";\n\t\t\t}\n\n\t\t\tif (!/^[a-z0-9-_]+$/i.test(trimmedInput)) {\n\t\t\t\treturn \"Use only letters, numbers, hyphens, and underscores.\";\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t},\n\t});\n\n\treturn getPromptValue(promptResult).trim();\n}\n\nexport async function promptProjectMode(): Promise<ProjectMode> {\n\tconst promptResult = await clack.select<ProjectMode>({\n\t\tmessage: \"What do you want to create?\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"frontend-only\",\n\t\t\t\tlabel: PROJECT_MODE_DISPLAY[\"frontend-only\"],\n\t\t\t\thint: \"recommended for starters\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"fullstack\",\n\t\t\t\tlabel: PROJECT_MODE_DISPLAY.fullstack,\n\t\t\t},\n\t\t],\n\t\tinitialValue: \"frontend-only\",\n\t});\n\n\treturn getPromptValue(promptResult);\n}\n\nexport async function promptCssFramework(): Promise<CssFramework> {\n\tconst promptResult = await clack.select<CssFramework>({\n\t\tmessage: \"Choose a CSS framework:\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"tailwind\",\n\t\t\t\tlabel: CSS_DISPLAY.tailwind,\n\t\t\t\thint: \"recommended\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"bootstrap\",\n\t\t\t\tlabel: CSS_DISPLAY.bootstrap,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"sass\",\n\t\t\t\tlabel: CSS_DISPLAY.sass,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"none\",\n\t\t\t\tlabel: CSS_DISPLAY.none,\n\t\t\t},\n\t\t],\n\t\tinitialValue: \"tailwind\",\n\t});\n\n\treturn getPromptValue(promptResult);\n}\n\nexport async function promptRenderMode(): Promise<RenderMode> {\n\tconst promptResult = await clack.select<RenderMode>({\n\t\tmessage: \"Choose a render mode:\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"csr\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.csr,\n\t\t\t\thint: \"recommended\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"spa\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.spa,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"hybrid\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.hybrid,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"ssr\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.ssr,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"ssg\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.ssg,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"csg\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.csg,\n\t\t\t},\n\t\t],\n\t\tinitialValue: \"csr\",\n\t});\n\n\treturn getPromptValue(promptResult);\n}\n\nexport async function promptBackendFramework(): Promise<BackendFramework> {\n\tconst promptResult = await clack.select<BackendFramework>({\n\t\tmessage: \"Choose a backend framework:\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"gaman\",\n\t\t\t\tlabel: BACKEND_DISPLAY.gaman,\n\t\t\t\thint: \"recommended\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"express\",\n\t\t\t\tlabel: BACKEND_DISPLAY.express,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"nest\",\n\t\t\t\tlabel: BACKEND_DISPLAY.nest,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"adonis\",\n\t\t\t\tlabel: BACKEND_DISPLAY.adonis,\n\t\t\t},\n\t\t],\n\t\tinitialValue: \"gaman\",\n\t});\n\n\treturn getPromptValue(promptResult);\n}\n\nexport async function promptDatabase(): Promise<Database> {\n\tconst promptResult = await clack.select<Database>({\n\t\tmessage: \"Choose a database:\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"postgresql\",\n\t\t\t\tlabel: DATABASE_DISPLAY.postgresql,\n\t\t\t\thint: \"recommended\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"mysql\",\n\t\t\t\tlabel: DATABASE_DISPLAY.mysql,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"mongodb\",\n\t\t\t\tlabel: DATABASE_DISPLAY.mongodb,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"firebase\",\n\t\t\t\tlabel: DATABASE_DISPLAY.firebase,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"sqlite\",\n\t\t\t\tlabel: DATABASE_DISPLAY.sqlite,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"mariadb\",\n\t\t\t\tlabel: DATABASE_DISPLAY.mariadb,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"redis\",\n\t\t\t\tlabel: DATABASE_DISPLAY.redis,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"planetscale\",\n\t\t\t\tlabel: DATABASE_DISPLAY.planetscale,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"neon\",\n\t\t\t\tlabel: DATABASE_DISPLAY.neon,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"turso\",\n\t\t\t\tlabel: DATABASE_DISPLAY.turso,\n\t\t\t},\n\t\t],\n\t\tinitialValue: \"postgresql\",\n\t});\n\n\treturn getPromptValue(promptResult);\n}\n\nexport async function runPrompts(\n\tsuggestedName: string,\n): Promise<ProjectConfig> {\n\tconst projectName = await promptProjectName(suggestedName);\n\tconst projectMode = await promptProjectMode();\n\tconst cssFramework = await promptCssFramework();\n\tconst renderMode = await promptRenderMode();\n\n\tif (projectMode === \"frontend-only\") {\n\t\treturn {\n\t\t\tprojectName,\n\t\t\tprojectMode,\n\t\t\tcssFramework,\n\t\t\trenderMode,\n\t\t\tbackendFramework: \"gaman\",\n\t\t\tdatabase: \"postgresql\",\n\t\t};\n\t}\n\n\tconst backendFramework = await promptBackendFramework();\n\tconst selectedDatabase = await promptDatabase();\n\n\treturn {\n\t\tprojectName,\n\t\tprojectMode,\n\t\tcssFramework,\n\t\trenderMode,\n\t\tbackendFramework,\n\t\tdatabase: selectedDatabase,\n\t};\n}\n"
17
+ "import type {\n\tBackendFramework,\n\tCssFramework,\n\tDatabase,\n\tProjectConfig,\n\tProjectFile,\n} from \"./types\";\nimport { BACKEND_DISPLAY, CSS_DISPLAY, DATABASE_DISPLAY } from \"./types\";\n\n// ─── Root files ─────────────────────────────────────────────────────────────\n\nfunction getRootFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\tconst { projectName, projectMode } = projectConfig;\n\n\tconst workspaces =\n\t\tprojectMode === \"fullstack\" ? [\"frontend\", \"backend\", \"shared\"] : [];\n\n\treturn [\n\t\t{\n\t\t\tpath: \"package.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tname: projectName,\n\t\t\t\t\tversion: \"0.1.0\",\n\t\t\t\t\tprivate: true,\n\t\t\t\t\t...(projectMode === \"fullstack\" ? { workspaces } : {}),\n\t\t\t\t\tscripts:\n\t\t\t\t\t\tprojectMode === \"fullstack\"\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\"dev:frontend\": \"cd frontend && bun run dev\",\n\t\t\t\t\t\t\t\t\t\"dev:backend\": \"cd backend && bun run dev\",\n\t\t\t\t\t\t\t\t\t\"build:frontend\": \"cd frontend && bun run build\",\n\t\t\t\t\t\t\t\t\t\"build:backend\": \"cd backend && bun run build\",\n\t\t\t\t\t\t\t\t\tbuild: \"bun run build:frontend && bun run build:backend\",\n\t\t\t\t\t\t\t\t\tstart: \"cd backend && bun run start\",\n\t\t\t\t\t\t\t\t\ttypecheck:\n\t\t\t\t\t\t\t\t\t\t\"cd frontend && bun run typecheck && cd ../backend && bun run typecheck\",\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\tdev: \"rakta dev\",\n\t\t\t\t\t\t\t\t\tbuild: \"rakta build\",\n\t\t\t\t\t\t\t\t\tstart: \"rakta start\",\n\t\t\t\t\t\t\t\t\ttypecheck: \"tsc --noEmit\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\tdescription: `${projectName} — built with Rakta.js`,\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"tsconfig.base.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tcompilerOptions: {\n\t\t\t\t\t\ttarget: \"ESNext\",\n\t\t\t\t\t\tmodule: \"ESNext\",\n\t\t\t\t\t\tmoduleResolution: \"Bundler\",\n\t\t\t\t\t\tjsx: \"react-jsx\",\n\t\t\t\t\t\tlib: [\"ESNext\", \"DOM\", \"DOM.Iterable\"],\n\t\t\t\t\t\tstrict: true,\n\t\t\t\t\t\tnoUncheckedIndexedAccess: true,\n\t\t\t\t\t\texactOptionalPropertyTypes: true,\n\t\t\t\t\t\tskipLibCheck: true,\n\t\t\t\t\t\tesModuleInterop: true,\n\t\t\t\t\t\tallowSyntheticDefaultImports: true,\n\t\t\t\t\t\tresolveJsonModule: true,\n\t\t\t\t\t\tverbatimModuleSyntax: true,\n\t\t\t\t\t\tisolatedModules: true,\n\t\t\t\t\t},\n\t\t\t\t\texclude: [\"node_modules\", \"dist\", \"**/dist/**\"],\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"bunfig.toml\",\n\t\t\tcontent: `[install]\\nauto = \"fallback\"\\nexact = false\\nregistry = \"https://registry.npmjs.org/\"\\n\\n[run]\\nbun = true\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \".npmrc\",\n\t\t\tcontent: `registry=https://registry.npmjs.org/\\nstrict-ssl=true\\nfetch-retries=5\\nfetch-retry-mintimeout=20000\\nfetch-retry-maxtimeout=120000\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \".env.example\",\n\t\t\tcontent: `NODE_ENV=development\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \".gitignore\",\n\t\t\tcontent: `node_modules/\\ndist/\\n.env\\n.env.*\\n!.env.example\\n.DS_Store\\n*.log\\n.rakta/\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"README.md\",\n\t\t\tcontent: generateProjectReadme(projectConfig),\n\t\t},\n\t];\n}\n\n// ─── Frontend-only starter (ShrimpRun game) ─────────────────────────────────\n\nfunction getFrontendOnlyFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\tconst { projectName, cssFramework } = projectConfig;\n\tconst styleFileName =\n\t\tcssFramework === \"sass\" ? \"globals.scss\" : \"globals.css\";\n\n\treturn [\n\t\t{\n\t\t\tpath: \"package.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tname: projectName,\n\t\t\t\t\tversion: \"0.1.0\",\n\t\t\t\t\tprivate: true,\n\t\t\t\t\ttype: \"module\",\n\t\t\t\t\tscripts: {\n\t\t\t\t\t\tdev: \"rakta dev\",\n\t\t\t\t\t\tbuild: \"rakta build\",\n\t\t\t\t\t\tstart: \"rakta start\",\n\t\t\t\t\t\troutes: \"rakta routes\",\n\t\t\t\t\t\ttypecheck: \"tsc --noEmit\",\n\t\t\t\t\t},\n\t\t\t\t\tdependencies: {\n\t\t\t\t\t\traktajs: \"^0.1.2\",\n\t\t\t\t\t\treact: \"^19.2.7\",\n\t\t\t\t\t\t\"react-dom\": \"^19.2.7\",\n\t\t\t\t\t\t...getCssDependencies(cssFramework),\n\t\t\t\t\t},\n\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t\"@types/react\": \"^19.2.17\",\n\t\t\t\t\t\t\"@types/react-dom\": \"^19.2.3\",\n\t\t\t\t\t\ttypescript: \"^6.0.3\",\n\t\t\t\t\t\t...getCssDevDependencies(cssFramework),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"tsconfig.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\textends: \"./tsconfig.base.json\",\n\t\t\t\t\tcompilerOptions: {\n\t\t\t\t\t\toutDir: \"./dist\",\n\t\t\t\t\t\trootDir: \"./\",\n\t\t\t\t\t\ttypes: [\"react\", \"react-dom\"],\n\t\t\t\t\t},\n\t\t\t\t\tinclude: [\n\t\t\t\t\t\t\"rakta-env.d.ts\",\n\t\t\t\t\t\t\"app/**/*\",\n\t\t\t\t\t\t\"components/**/*\",\n\t\t\t\t\t\t\"styles/**/*\",\n\t\t\t\t\t\t\"rakta.config.ts\",\n\t\t\t\t\t],\n\t\t\t\t\texclude: [\"node_modules\", \"dist\"],\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"rakta-env.d.ts\",\n\t\t\tcontent: generateFrontendOnlyRaktaEnv(),\n\t\t},\n\t\t{\n\t\t\tpath: \"rakta.config.ts\",\n\t\t\tcontent: `import { defineRaktaConfig } from \"raktajs\";\\n\\nexport default defineRaktaConfig({\\n appName: \"${projectName}\",\\n render: {\\n defaultMode: \"csr\",\\n routes: {},\\n },\\n});\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"app/layout.tsx\",\n\t\t\tcontent: generateFrontendOnlyLayout(),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/page.tsx\",\n\t\t\tcontent: generateFrontendOnlyPage(projectName),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/loading.tsx\",\n\t\t\tcontent: generateFrontendOnlyLoading(),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/error.tsx\",\n\t\t\tcontent: generateFrontendOnlyError(),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/notFound.tsx\",\n\t\t\tcontent: generateFrontendOnlyNotFound(),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/components/raktaShrimpMascot.tsx\",\n\t\t\tcontent: generateShrimpMascotComponent(),\n\t\t},\n\t\t{\n\t\t\tpath: \"app/components/shrimpRunGame.tsx\",\n\t\t\tcontent: generateShrimpRunGameComponent(),\n\t\t},\n\t\t{\n\t\t\tpath: `styles/${styleFileName}`,\n\t\t\tcontent: getFrontendOnlyCssGlobals(cssFramework),\n\t\t},\n\t\t{\n\t\t\tpath: \"public/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t];\n}\n\n// ─── Fullstack frontend files ────────────────────────────────────────────────\n\nfunction getFullstackFrontendFiles(\n\tprojectConfig: ProjectConfig,\n): ProjectFile[] {\n\tconst { projectName, cssFramework } = projectConfig;\n\tconst styleFileName =\n\t\tcssFramework === \"sass\" ? \"globals.scss\" : \"globals.css\";\n\n\treturn [\n\t\t{\n\t\t\tpath: \"frontend/package.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\tname: `${projectName}-frontend`,\n\t\t\t\t\tversion: \"0.1.0\",\n\t\t\t\t\tprivate: true,\n\t\t\t\t\tscripts: {\n\t\t\t\t\t\tdev: \"rakta dev\",\n\t\t\t\t\t\tbuild: \"rakta build\",\n\t\t\t\t\t\tstart: \"rakta start\",\n\t\t\t\t\t\troutes: \"rakta routes\",\n\t\t\t\t\t\t\"imports:generate\": \"rakta imports:generate\",\n\t\t\t\t\t\t\"rpc:types\": \"rakta rpc:types\",\n\t\t\t\t\t\ttypecheck: \"tsc --noEmit\",\n\t\t\t\t\t},\n\t\t\t\t\tdependencies: {\n\t\t\t\t\t\trakta: \"^0.1.0\",\n\t\t\t\t\t\treact: \"^19.2.7\",\n\t\t\t\t\t\t\"react-dom\": \"^19.2.7\",\n\t\t\t\t\t\t...getCssDependencies(cssFramework),\n\t\t\t\t\t},\n\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t\"@types/react\": \"^19.2.17\",\n\t\t\t\t\t\t\"@types/react-dom\": \"^19.2.3\",\n\t\t\t\t\t\ttypescript: \"^6.0.3\",\n\t\t\t\t\t\t...getCssDevDependencies(cssFramework),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/tsconfig.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\textends: \"../tsconfig.base.json\",\n\t\t\t\t\tcompilerOptions: {\n\t\t\t\t\t\toutDir: \"./dist\",\n\t\t\t\t\t\trootDir: \"./\",\n\t\t\t\t\t},\n\t\t\t\t\tinclude: [\n\t\t\t\t\t\t\"app/**/*\",\n\t\t\t\t\t\t\"components/**/*\",\n\t\t\t\t\t\t\"lib/**/*\",\n\t\t\t\t\t\t\"stores/**/*\",\n\t\t\t\t\t\t\"schemas/**/*\",\n\t\t\t\t\t\t\"rakta.config.ts\",\n\t\t\t\t\t],\n\t\t\t\t\texclude: [\"node_modules\", \"dist\"],\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/rakta.config.ts\",\n\t\t\tcontent: `import { defineRaktaConfig } from \"raktajs\";\\n\\nexport default defineRaktaConfig({\\n appName: \"${projectName}\",\\n render: {\\n defaultMode: \"csr\",\\n routes: {\\n \"/\": \"ssg\",\\n \"/about\": \"ssg\",\\n \"/blog\": \"csg\",\\n \"/blog/:slug\": \"csg\",\\n \"/dashboard\": \"csr\"\\n }\\n }\\n});\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/layout.tsx\",\n\t\t\tcontent: `import React from \"react\";\\nimport \"../styles/${styleFileName}\";\\n\\ninterface RootLayoutProps {\\n readonly children: React.ReactNode;\\n}\\n\\nexport default function RootLayout({ children }: RootLayoutProps) {\\n return (\\n <html lang=\"en\">\\n <body>{children}</body>\\n </html>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/page.tsx\",\n\t\t\tcontent: generateFullstackHomePage(projectName),\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/about/page.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\nexport default function AboutPage() {\\n return (\\n <main className=\"page-shell\">\\n <section className=\"hero-card\">\\n <p className=\"eyebrow\">ABOUT</p>\\n <h1>About ${projectName}</h1>\\n <p>This project is built with Rakta.js, React, Bun, and TypeScript.</p>\\n <a href=\"/\">Back to home</a>\\n </section>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/blog/page.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\nconst BLOG_POSTS = [\\n { slug: \"getting-started\", title: \"Getting started with Rakta.js\" },\\n { slug: \"file-based-routing\", title: \"File-based routing explained\" },\\n { slug: \"type-safe-rpc\", title: \"Type-safe API with CarubanWire\" },\\n];\\n\\nexport default function BlogPage() {\\n return (\\n <main className=\"page-shell\">\\n <section className=\"hero-card\">\\n <p className=\"eyebrow\">BLOG</p>\\n <h1>Articles</h1>\\n <ul>\\n {BLOG_POSTS.map((post) => (\\n <li key={post.slug}>\\n <a href={\\`/blog/\\${post.slug}\\`}>{post.title}</a>\\n </li>\\n ))}\\n </ul>\\n </section>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/blog/[slug]/page.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\ninterface BlogPostPageProps {\\n readonly params: {\\n readonly slug?: string;\\n };\\n}\\n\\nexport default function BlogPostPage({ params }: BlogPostPageProps) {\\n const postTitle = params.slug?.replaceAll(\"-\", \" \") ?? \"Article\";\\n\\n return (\\n <main className=\"page-shell\">\\n <section className=\"hero-card\">\\n <p className=\"eyebrow\">BLOG POST</p>\\n <h1>{postTitle}</h1>\\n <p>Slug: <code>{params.slug}</code></p>\\n <a href=\"/blog\">Back to blog</a>\\n </section>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/loading.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\nexport default function Loading() {\\n return (\\n <main className=\"page-shell\">\\n <p>Loading...</p>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/error.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\ninterface ErrorPageProps {\\n readonly error: Error;\\n readonly reset: () => void;\\n}\\n\\nexport default function ErrorPage({ error, reset }: ErrorPageProps) {\\n return (\\n <main className=\"page-shell\">\\n <section className=\"hero-card\">\\n <h1>Something went wrong</h1>\\n <p>{error.message}</p>\\n <button type=\"button\" onClick={reset}>Try again</button>\\n </section>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/not-found.tsx\",\n\t\t\tcontent: `import React from \"react\";\\n\\nexport default function NotFound() {\\n return (\\n <main className=\"page-shell\">\\n <section className=\"hero-card\">\\n <h1>404</h1>\\n <p>The page you are looking for does not exist.</p>\\n <a href=\"/\">Return home</a>\\n </section>\\n </main>\\n );\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/app/api/hello/route.ts\",\n\t\t\tcontent: `export async function GET(request: Request): Promise<Response> {\\n const requestUrl = new URL(request.url);\\n\\n return Response.json({\\n message: \"Hello from Rakta.js API\",\\n pathname: requestUrl.pathname,\\n timestamp: new Date().toISOString(),\\n });\\n}\\n\\nexport async function POST(request: Request): Promise<Response> {\\n const requestBody = await request.json() as Record<string, unknown>;\\n\\n return Response.json({\\n received: requestBody,\\n timestamp: new Date().toISOString(),\\n });\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/lib/http.ts\",\n\t\t\tcontent: `export const API_URL = process.env[\"API_URL\"] ?? \"http://localhost:4000\";\\n\\nexport async function apiGet<TData>(path: string): Promise<TData> {\\n const response = await fetch(\\`\\${API_URL}\\${path}\\`);\\n\\n if (!response.ok) {\\n throw new Error(\\`Request failed with status \\${response.status}\\`);\\n }\\n\\n return response.json() as Promise<TData>;\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/lib/routes.ts\",\n\t\t\tcontent: `export const ROUTES = {\\n home: \"/\",\\n about: \"/about\",\\n blog: \"/blog\",\\n blogPost: (slug: string) => \\`/blog/\\${slug}\\`,\\n apiHello: \"/api/hello\",\\n} as const;\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/lib/utils.ts\",\n\t\t\tcontent: `export function cn(...classNames: Array<string | undefined | null | false>): string {\\n return classNames.filter(Boolean).join(\" \");\\n}\\n\\nexport function slugify(text: string): string {\\n return text\\n .toLowerCase()\\n .replace(/[^a-z0-9]+/g, \"-\")\\n .replace(/(^-|-$)/g, \"\");\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/stores/counter.store.ts\",\n\t\t\tcontent: `import { createRaktaStore } from \"raktajs\";\\n\\ninterface CounterState {\\n readonly count: number;\\n readonly increment: () => void;\\n readonly decrement: () => void;\\n}\\n\\nexport const useCounterStore = createRaktaStore<CounterState>((setState, getState) => ({\\n count: 0,\\n increment: () => setState({ count: getState().count + 1 }),\\n decrement: () => setState({ count: getState().count - 1 }),\\n}));\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/schemas/user.schema.ts\",\n\t\t\tcontent: `import { object, string, number } from \"raktajs\";\\n\\nexport const userSchema = object({\\n name: string().min(1),\\n email: string().min(5),\\n age: number().min(0).max(120),\\n});\\n\\nexport type UserSchema = typeof userSchema;\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: `frontend/styles/${styleFileName}`,\n\t\t\tcontent: getCssGlobals(cssFramework),\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/public/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/components/ui/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"frontend/components/layout/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t];\n}\n\n// ─── Backend files ───────────────────────────────────────────────────────────\n\nfunction getBackendFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t...getBackendCommonFiles(projectConfig),\n\t\t...getBackendFrameworkFiles(projectConfig.backendFramework, projectConfig),\n\t];\n}\n\nfunction getBackendCommonFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"backend/src/env.ts\",\n\t\t\tcontent: `function optionalEnv(envKey: string, fallbackValue: string): string {\\n return process.env[envKey] ?? fallbackValue;\\n}\\n\\nexport const env = {\\n port: Number(optionalEnv(\"PORT\", \"4000\")),\\n nodeEnv: optionalEnv(\"NODE_ENV\", \"development\"),\\n corsOrigin: optionalEnv(\"CORS_ORIGIN\", \"http://localhost:3000\"),\\n databaseUrl: optionalEnv(\"DATABASE_URL\", \"\"),\\n} as const;\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/config/app.config.ts\",\n\t\t\tcontent: `import { env } from \"../env\";\\n\\nexport const appConfig = {\\n name: \"${projectConfig.projectName} API\",\\n version: \"0.1.0\",\\n port: env.port,\\n nodeEnv: env.nodeEnv,\\n corsOrigin: env.corsOrigin,\\n isDev: env.nodeEnv === \"development\",\\n} as const;\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/config/database.config.ts\",\n\t\t\tcontent: getDatabaseConfig(projectConfig.database),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/database/client.ts\",\n\t\t\tcontent: getDatabaseClient(projectConfig.database),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/controllers/hello.controller.ts\",\n\t\t\tcontent: `export interface HelloResponse {\\n readonly success: boolean;\\n readonly message: string;\\n readonly framework: string;\\n readonly version: string;\\n readonly timestamp: string;\\n}\\n\\nexport function helloController(): HelloResponse {\\n return {\\n success: true,\\n message: \"Hello from ${projectConfig.projectName} API\",\\n framework: \"${BACKEND_DISPLAY[projectConfig.backendFramework]}\",\\n version: \"0.1.0\",\\n timestamp: new Date().toISOString(),\\n };\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/.env.example\",\n\t\t\tcontent: getDatabaseEnvExample(projectConfig.database),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/tsconfig.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\textends: \"../tsconfig.base.json\",\n\t\t\t\t\tcompilerOptions: {\n\t\t\t\t\t\toutDir: \"./dist\",\n\t\t\t\t\t\trootDir: \"./src\",\n\t\t\t\t\t\ttypes: [\"node\", \"bun\"],\n\t\t\t\t\t},\n\t\t\t\t\tinclude: [\"src/**/*\"],\n\t\t\t\t\texclude: [\"node_modules\", \"dist\"],\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/database/schema/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t];\n}\n\nfunction getBackendFrameworkFiles(\n\tselectedFramework: BackendFramework,\n\tprojectConfig: ProjectConfig,\n): ProjectFile[] {\n\tswitch (selectedFramework) {\n\t\tcase \"gaman\":\n\t\t\treturn getGamanFiles(projectConfig);\n\t\tcase \"express\":\n\t\t\treturn getExpressFiles(projectConfig);\n\t\tcase \"nest\":\n\t\t\treturn getNestFiles(projectConfig);\n\t\tcase \"adonis\":\n\t\t\treturn getAdonisFiles(projectConfig);\n\t\tdefault:\n\t\t\treturn getGamanFiles(projectConfig);\n\t}\n}\n\nfunction getGamanFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"backend/package.json\",\n\t\t\tcontent: getBackendPackageJson(projectConfig, {\n\t\t\t\tdependencies: { ...getDatabaseDependencies(projectConfig.database) },\n\t\t\t\tdevDependencies: { \"@types/bun\": \"^1.3.14\" },\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/app.ts\",\n\t\t\tcontent: `import { appConfig } from \"./config/app.config\";\\nimport { helloController } from \"./controllers/hello.controller\";\\n\\nconst corsHeaders = {\\n \"Access-Control-Allow-Origin\": appConfig.corsOrigin,\\n \"Access-Control-Allow-Methods\": \"GET, POST, PUT, PATCH, DELETE, OPTIONS\",\\n \"Access-Control-Allow-Headers\": \"Content-Type, Authorization\",\\n};\\n\\nconst server = Bun.serve({\\n port: appConfig.port,\\n fetch(request: Request): Response {\\n const requestUrl = new URL(request.url);\\n\\n if (request.method === \"OPTIONS\") {\\n return new Response(null, { status: 204, headers: corsHeaders });\\n }\\n\\n if (requestUrl.pathname === \"/api/hello\" && request.method === \"GET\") {\\n return Response.json(helloController(), { headers: corsHeaders });\\n }\\n\\n return Response.json(\\n { success: false, error: \"Not found\" },\\n { status: 404, headers: corsHeaders }\\n );\\n },\\n});\\n\\nconsole.log(\\`[${projectConfig.projectName}] Backend running at http://localhost:\\${server.port}\\`);\\n`,\n\t\t},\n\t];\n}\n\nfunction getExpressFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"backend/package.json\",\n\t\t\tcontent: getBackendPackageJson(projectConfig, {\n\t\t\t\tdependencies: {\n\t\t\t\t\texpress: \"^4.19.2\",\n\t\t\t\t\tcors: \"^2.8.5\",\n\t\t\t\t\t...getDatabaseDependencies(projectConfig.database),\n\t\t\t\t},\n\t\t\t\tdevDependencies: {\n\t\t\t\t\t\"@types/express\": \"^4.17.21\",\n\t\t\t\t\t\"@types/cors\": \"^2.8.17\",\n\t\t\t\t\t\"@types/node\": \"^26.0.1\",\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/app.ts\",\n\t\t\tcontent: `import cors from \"cors\";\\nimport express from \"express\";\\nimport { appConfig } from \"./config/app.config\";\\nimport { helloController } from \"./controllers/hello.controller\";\\n\\nconst app = express();\\n\\napp.use(cors({ origin: appConfig.corsOrigin }));\\napp.use(express.json());\\n\\napp.get(\"/api/hello\", (_request, response) => {\\n response.json(helloController());\\n});\\n\\napp.use((_request, response) => {\\n response.status(404).json({ success: false, error: \"Not found\" });\\n});\\n\\napp.listen(appConfig.port, () => {\\n console.log(\\`[${projectConfig.projectName}] Backend running at http://localhost:\\${appConfig.port}\\`);\\n});\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/middlewares/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/routes/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/services/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t];\n}\n\nfunction getNestFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"backend/package.json\",\n\t\t\tcontent: getBackendPackageJson(projectConfig, {\n\t\t\t\tdependencies: {\n\t\t\t\t\t\"@nestjs/common\": \"^10.3.0\",\n\t\t\t\t\t\"@nestjs/core\": \"^10.3.0\",\n\t\t\t\t\t\"@nestjs/platform-express\": \"^10.3.0\",\n\t\t\t\t\t\"reflect-metadata\": \"^0.2.2\",\n\t\t\t\t\t...getDatabaseDependencies(projectConfig.database),\n\t\t\t\t},\n\t\t\t\tdevDependencies: {\n\t\t\t\t\t\"@types/node\": \"^26.0.1\",\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/nest-cli.json\",\n\t\t\tcontent: JSON.stringify(\n\t\t\t\t{\n\t\t\t\t\t$schema: \"https://json.schemastore.org/nest-cli\",\n\t\t\t\t\tcollection: \"@nestjs/schematics\",\n\t\t\t\t\tsourceRoot: \"src\",\n\t\t\t\t},\n\t\t\t\tnull,\n\t\t\t\t2,\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/app.module.ts\",\n\t\t\tcontent: `import { Module } from \"@nestjs/common\";\\nimport { AppController } from \"./app.controller\";\\n\\n@Module({\\n controllers: [AppController],\\n})\\nexport class AppModule {}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/app.controller.ts\",\n\t\t\tcontent: `import { Controller, Get } from \"@nestjs/common\";\\nimport { helloController } from \"./controllers/hello.controller\";\\n\\n@Controller(\"api\")\\nexport class AppController {\\n @Get(\"hello\")\\n hello() {\\n return helloController();\\n }\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/main.ts\",\n\t\t\tcontent: `import \"reflect-metadata\";\\nimport { NestFactory } from \"@nestjs/core\";\\nimport { AppModule } from \"./app.module\";\\nimport { appConfig } from \"./config/app.config\";\\n\\nasync function bootstrap(): Promise<void> {\\n const app = await NestFactory.create(AppModule);\\n app.enableCors({ origin: appConfig.corsOrigin });\\n await app.listen(appConfig.port);\\n console.log(\\`[${projectConfig.projectName}] Backend running at http://localhost:\\${appConfig.port}\\`);\\n}\\n\\nbootstrap().catch(console.error);\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/modules/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/common/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t];\n}\n\nfunction getAdonisFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"backend/package.json\",\n\t\t\tcontent: getBackendPackageJson(projectConfig, {\n\t\t\t\tdependencies: {\n\t\t\t\t\t\"@adonisjs/core\": \"^6.9.0\",\n\t\t\t\t\t...getDatabaseDependencies(projectConfig.database),\n\t\t\t\t},\n\t\t\t\tdevDependencies: {\n\t\t\t\t\t\"@adonisjs/assembler\": \"^7.7.0\",\n\t\t\t\t\t\"@types/node\": \"^26.0.1\",\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/app/controllers/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/app/middleware/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/app/services/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/start/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/config/.gitkeep\",\n\t\t\tcontent: \"\",\n\t\t},\n\t\t{\n\t\t\tpath: \"backend/src/app.ts\",\n\t\t\tcontent: `import { appConfig } from \"./config/app.config\";\\nimport { helloController } from \"./controllers/hello.controller\";\\n\\nconst corsHeaders = {\\n \"Access-Control-Allow-Origin\": appConfig.corsOrigin,\\n \"Access-Control-Allow-Methods\": \"GET, POST, PUT, PATCH, DELETE, OPTIONS\",\\n \"Access-Control-Allow-Headers\": \"Content-Type, Authorization\",\\n};\\n\\nconst server = Bun.serve({\\n port: appConfig.port,\\n fetch(request: Request): Response {\\n const requestUrl = new URL(request.url);\\n\\n if (request.method === \"OPTIONS\") {\\n return new Response(null, { status: 204, headers: corsHeaders });\\n }\\n\\n if (requestUrl.pathname === \"/api/hello\" && request.method === \"GET\") {\\n return Response.json(helloController(), { headers: corsHeaders });\\n }\\n\\n return Response.json(\\n { success: false, error: \"Not found\" },\\n { status: 404, headers: corsHeaders }\\n );\\n },\\n});\\n\\nconsole.log(\\`[${projectConfig.projectName}] Backend running at http://localhost:\\${server.port}\\`);\\n`,\n\t\t},\n\t];\n}\n\nfunction getBackendPackageJson(\n\tprojectConfig: ProjectConfig,\n\tpackageDeps: {\n\t\treadonly dependencies: Record<string, string>;\n\t\treadonly devDependencies: Record<string, string>;\n\t},\n): string {\n\treturn JSON.stringify(\n\t\t{\n\t\t\tname: `${projectConfig.projectName}-backend`,\n\t\t\tversion: \"0.1.0\",\n\t\t\tprivate: true,\n\t\t\ttype: \"module\",\n\t\t\tscripts: {\n\t\t\t\tdev: \"bun run --watch src/app.ts\",\n\t\t\t\tbuild: \"bun build src/app.ts --outfile dist/app.js --target bun\",\n\t\t\t\tstart: \"bun run dist/app.js\",\n\t\t\t\ttypecheck: \"tsc --noEmit\",\n\t\t\t},\n\t\t\tdependencies: {\n\t\t\t\t...packageDeps.dependencies,\n\t\t\t},\n\t\t\tdevDependencies: {\n\t\t\t\t\"@types/bun\": \"^1.3.14\",\n\t\t\t\ttypescript: \"^6.0.3\",\n\t\t\t\t...packageDeps.devDependencies,\n\t\t\t},\n\t\t},\n\t\tnull,\n\t\t2,\n\t);\n}\n\n// ─── Shared files (fullstack only) ──────────────────────────────────────────\n\nfunction getSharedFiles(projectConfig: ProjectConfig): ProjectFile[] {\n\treturn [\n\t\t{\n\t\t\tpath: \"shared/types/index.ts\",\n\t\t\tcontent: `export interface ApiResponse<TData = unknown> {\\n readonly success: boolean;\\n readonly data?: TData;\\n readonly error?: string;\\n readonly message?: string;\\n}\\n\\nexport interface User {\\n readonly id: string;\\n readonly name: string;\\n readonly email: string;\\n readonly createdAt: string;\\n readonly updatedAt: string;\\n}\\n`,\n\t\t},\n\t\t{\n\t\t\tpath: \"shared/constants/index.ts\",\n\t\t\tcontent: `export const APP_NAME = \"${projectConfig.projectName}\";\\nexport const API_VERSION = \"v1\";\\nexport const DEFAULT_PAGE_SIZE = 20;\\n`,\n\t\t},\n\t];\n}\n\n// ─── CSS helpers ─────────────────────────────────────────────────────────────\n\nfunction getCssDependencies(\n\tcssFramework: CssFramework,\n): Record<string, string> {\n\tswitch (cssFramework) {\n\t\tcase \"tailwind\":\n\t\t\treturn { tailwindcss: \"^4.3.1\" };\n\t\tcase \"bootstrap\":\n\t\t\treturn { bootstrap: \"^5.3.3\" };\n\t\tcase \"sass\":\n\t\tcase \"none\":\n\t\t\treturn {};\n\t}\n}\n\nfunction getCssDevDependencies(\n\tcssFramework: CssFramework,\n): Record<string, string> {\n\tswitch (cssFramework) {\n\t\tcase \"sass\":\n\t\t\treturn { sass: \"^1.77.0\" };\n\t\tdefault:\n\t\t\treturn {};\n\t}\n}\n\nfunction getFrontendOnlyCssGlobals(cssFramework: CssFramework): string {\n\tconst cssImport =\n\t\tcssFramework === \"tailwind\"\n\t\t\t? `@import \"tailwindcss\";\\n\\n`\n\t\t\t: cssFramework === \"bootstrap\"\n\t\t\t\t? `@import url(\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css\");\\n\\n`\n\t\t\t\t: cssFramework === \"sass\"\n\t\t\t\t\t? `$color-primary: #dc2626;\\n$color-background: #050505;\\n$color-foreground: #f8fafc;\\n\\n`\n\t\t\t\t\t: \"\";\n\n\treturn `${cssImport}:root {\n --color-primary: #dc2626;\n --color-background: #050505;\n --color-foreground: #f8fafc;\n --color-surface: #0e111a;\n --color-border: rgba(255, 255, 255, 0.1);\n --color-muted: #94a3b8;\n color-scheme: dark;\n}\n\nhtml {\n scroll-behavior: smooth;\n}\n\nbody {\n margin: 0;\n min-width: 320px;\n min-height: 100vh;\n color: var(--color-foreground);\n background: var(--color-background);\n font-family:\n ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\",\n Roboto, sans-serif;\n -webkit-font-smoothing: antialiased;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@keyframes shrimpLegs {\n 0% {\n transform: translateY(0);\n }\n\n 50% {\n transform: translateY(2px);\n }\n}\n`;\n}\n\nfunction getCssGlobals(cssFramework: CssFramework): string {\n\tconst sharedBase = `\n:root {\n --color-primary: #dc2626;\n --color-background: #050505;\n --color-foreground: #f8fafc;\n}\n\n* {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n color: var(--color-foreground);\n background: var(--color-background);\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n}\n\n.page-shell {\n width: min(100% - 2rem, 960px);\n margin: 0 auto;\n padding: 4rem 0;\n}\n\n.hero-card,\n.feature-card {\n border: 1px solid rgba(255, 255, 255, 0.1);\n background: #0e111a;\n border-radius: 24px;\n padding: 2rem;\n margin-bottom: 1.5rem;\n}\n\n.eyebrow {\n color: #dc2626;\n font-weight: 700;\n letter-spacing: 0.12em;\n font-size: 0.75rem;\n text-transform: uppercase;\n}\n\n.button-row {\n display: flex;\n gap: 0.75rem;\n flex-wrap: wrap;\n margin-top: 1rem;\n}\n\na {\n color: #dc2626;\n}\n\nbutton {\n cursor: pointer;\n}\n`;\n\n\tswitch (cssFramework) {\n\t\tcase \"tailwind\":\n\t\t\treturn `@import \"tailwindcss\";\\n${sharedBase}`;\n\t\tcase \"bootstrap\":\n\t\t\treturn `@import url(\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css\");\\n${sharedBase}`;\n\t\tcase \"sass\":\n\t\t\treturn `$color-primary: #dc2626;\\n$color-background: #050505;\\n$color-foreground: #f8fafc;\\n${sharedBase}`;\n\t\tcase \"none\":\n\t\t\treturn sharedBase;\n\t}\n}\n\n// ─── Inline template generators ──────────────────────────────────────────────\n\nfunction generateFrontendOnlyRaktaEnv(): string {\n\treturn `declare module \"*.css\";\ndeclare module \"*.scss\";\ndeclare module \"*.sass\";\n\ntype RaktaClickAttributes = Omit<\n import(\"react\").AnchorHTMLAttributes<HTMLAnchorElement>,\n \"href\"\n> & {\n readonly to: string;\n};\n\ndeclare global {\n namespace JSX {\n interface IntrinsicElements {\n click: RaktaClickAttributes;\n }\n }\n\n const useCallback: typeof import(\"react\").useCallback;\n const useEffect: typeof import(\"react\").useEffect;\n const useRef: typeof import(\"react\").useRef;\n const useState: typeof import(\"react\").useState;\n\n const ShrimpRunGame: typeof import(\"./app/components/shrimpRunGame\").default;\n const RaktaShrimpMascot: typeof import(\"./app/components/raktaShrimpMascot\").default;\n}\n\ndeclare module \"react/jsx-runtime\" {\n namespace JSX {\n interface IntrinsicElements {\n click: RaktaClickAttributes;\n }\n }\n}\n\ndeclare module \"react/jsx-dev-runtime\" {\n namespace JSX {\n interface IntrinsicElements {\n click: RaktaClickAttributes;\n }\n }\n}\n\nexport {};\n`;\n}\n\nfunction generateFrontendOnlyLayout(): string {\n\treturn `interface RootLayoutProps {\n readonly children: import(\"react\").ReactNode;\n}\n\nexport default function RootLayout({ children }: RootLayoutProps) {\n return (\n <html lang=\"en\">\n <head>\n <meta charSet=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Rakta.js App</title>\n </head>\n <body className=\"min-h-screen bg-[#050505] text-slate-50 antialiased\">\n {children}\n </body>\n </html>\n );\n}\n`;\n}\n\nfunction generateFrontendOnlyPage(projectName: string): string {\n\treturn `export default function HomePage() {\n return (\n <main className=\"mx-auto flex min-h-screen w-full max-w-4xl flex-col gap-6 px-4 py-16 sm:px-6 lg:px-8\">\n <section className=\"rounded-3xl border border-white/10 bg-[#0e111a] p-8 shadow-2xl shadow-red-950/20\">\n <p className=\"mb-2 text-xs font-bold uppercase tracking-[0.3em] text-red-600\">\n THE RED ROUTER FRAMEWORK\n </p>\n <h1 className=\"mb-3 text-4xl font-extrabold leading-tight text-white md:text-6xl\">\n Welcome to ${projectName}\n </h1>\n <p className=\"max-w-2xl text-base leading-7 text-slate-400\">\n Built with Rakta.js — Small in size. Fierce in speed. Alive in every route.\n </p>\n\n <div className=\"mt-6 flex flex-wrap gap-3\">\n <click\n to=\"/offline\"\n className=\"rounded-xl border border-red-500/40 px-4 py-2 text-sm font-semibold text-red-400 transition hover:border-red-400 hover:text-red-300\"\n >\n Open offline page\n </click>\n <click\n to=\"/dashboard\"\n className=\"rounded-xl bg-red-600 px-4 py-2 text-sm font-semibold text-white transition hover:bg-red-700\"\n >\n View dashboard\n </click>\n </div>\n </section>\n\n <section className=\"rounded-3xl border border-white/10 bg-[#0e111a] p-8 shadow-2xl shadow-red-950/20\">\n <p className=\"mb-2 text-xs font-bold uppercase tracking-[0.3em] text-red-600\">\n SHRIMPRUN\n </p>\n <h2 className=\"mb-1 text-2xl font-bold text-white\">Play ShrimpRun</h2>\n <p className=\"mb-6 text-sm leading-6 text-slate-400\">\n Press Space or click the game area to jump. Avoid the red obstacles!\n </p>\n\n <ShrimpRunGame />\n </section>\n </main>\n );\n}\n`;\n}\n\nfunction generateFrontendOnlyLoading(): string {\n\treturn `export default function Loading() {\n return (\n <main className=\"flex min-h-screen items-center justify-center bg-[#050505] px-4\">\n <p className=\"text-sm font-medium text-slate-400\">Loading...</p>\n </main>\n );\n}\n`;\n}\n\nfunction generateFrontendOnlyError(): string {\n\treturn `interface ErrorPageProps {\n readonly error: Error;\n readonly reset: () => void;\n}\n\nexport default function ErrorPage({ error, reset }: ErrorPageProps) {\n return (\n <main className=\"mx-auto flex min-h-screen w-full max-w-3xl items-center px-4 py-16\">\n <section className=\"w-full rounded-3xl border border-white/10 bg-[#0e111a] p-8 shadow-2xl shadow-red-950/20\">\n <p className=\"mb-2 text-xs font-bold uppercase tracking-[0.3em] text-red-600\">\n ERROR\n </p>\n <h1 className=\"mb-3 text-3xl font-extrabold text-white\">\n Something went wrong\n </h1>\n <p className=\"mb-6 wrap-break-word text-sm leading-6 text-slate-400\">\n {error.message}\n </p>\n <button\n type=\"button\"\n onClick={reset}\n className=\"rounded-lg bg-red-600 px-6 py-2 font-semibold text-white transition hover:bg-red-700 active:bg-red-800 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-500\"\n >\n Try again\n </button>\n </section>\n </main>\n );\n}\n`;\n}\n\nfunction generateFrontendOnlyNotFound(): string {\n\treturn `export default function NotFound() {\n return (\n <main className=\"mx-auto flex min-h-screen w-full max-w-3xl items-center px-4 py-16\">\n <section className=\"w-full rounded-3xl border border-white/10 bg-[#0e111a] p-8 shadow-2xl shadow-red-950/20\">\n <p className=\"mb-2 text-xs font-bold uppercase tracking-[0.3em] text-red-600\">\n 404\n </p>\n <h1 className=\"mb-3 text-3xl font-extrabold text-white\">\n Page not found\n </h1>\n <p className=\"mb-6 text-sm leading-6 text-slate-400\">\n The page you are looking for does not exist.\n </p>\n <click\n to=\"/\"\n className=\"font-semibold text-red-500 underline-offset-4 transition hover:text-red-400 hover:underline\"\n >\n Return home\n </click>\n </section>\n </main>\n );\n}\n`;\n}\n\nfunction generateShrimpMascotComponent(): string {\n\treturn `interface RaktaShrimpMascotProps {\n readonly isJumping: boolean;\n readonly isDead: boolean;\n readonly style?: import(\"react\").CSSProperties;\n}\n\n/**\n * RaktaShrimpMascot — The animated shrimp hero of ShrimpRun.\n * Drawn entirely with inline SVG. No external assets required.\n */\nexport default function RaktaShrimpMascot({\n isJumping,\n isDead,\n style,\n}: RaktaShrimpMascotProps) {\n const bodyColor = isDead ? \"#6b7280\" : \"#dc2626\";\n const eyeColor = isDead ? \"#374151\" : \"#fff\";\n const legAnimation =\n isJumping || isDead ? \"none\" : \"shrimpLegs 0.3s steps(2) infinite\";\n\n return (\n <svg\n viewBox=\"0 0 48 48\"\n width=\"48\"\n height=\"48\"\n style={{ display: \"block\", ...style }}\n aria-label={\n isDead ? \"dead shrimp\" : isJumping ? \"shrimp jumping\" : \"running shrimp\"\n }\n role=\"img\"\n >\n <style>{\\`\n @keyframes shrimpLegs {\n 0% { transform: translateY(0); }\n 50% { transform: translateY(2px); }\n }\n \\`}</style>\n\n {/* Body */}\n <path\n d=\"M8 30 Q10 14 24 12 Q38 10 40 22 Q42 32 32 36 Q20 40 8 30Z\"\n fill={bodyColor}\n />\n\n {/* Shell segments */}\n <path\n d=\"M12 28 Q16 20 24 18 Q30 17 34 22\"\n stroke=\"#b91c1c\"\n strokeWidth=\"1.5\"\n fill=\"none\"\n opacity={isDead ? 0.3 : 0.6}\n />\n <path\n d=\"M14 32 Q19 24 28 22 Q33 21 36 26\"\n stroke=\"#b91c1c\"\n strokeWidth=\"1.5\"\n fill=\"none\"\n opacity={isDead ? 0.3 : 0.6}\n />\n\n {/* Eye */}\n <circle cx=\"34\" cy=\"18\" r=\"4\" fill=\"#1e293b\" />\n <circle cx=\"35\" cy=\"17\" r=\"2\" fill={eyeColor} />\n\n {isDead && (\n <>\n <line\n x1=\"32\"\n y1=\"16\"\n x2=\"36\"\n y2=\"20\"\n stroke=\"#374151\"\n strokeWidth=\"1.5\"\n />\n <line\n x1=\"36\"\n y1=\"16\"\n x2=\"32\"\n y2=\"20\"\n stroke=\"#374151\"\n strokeWidth=\"1.5\"\n />\n </>\n )}\n\n {/* Antennae */}\n <line\n x1=\"34\"\n y1=\"14\"\n x2=\"40\"\n y2=\"6\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"32\"\n y1=\"13\"\n x2=\"36\"\n y2=\"4\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n\n {/* Tail */}\n <path\n d=\"M10 30 Q4 26 6 20\"\n stroke={bodyColor}\n strokeWidth=\"2\"\n fill=\"none\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M10 30 Q2 30 4 36\"\n stroke={bodyColor}\n strokeWidth=\"2\"\n fill=\"none\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M10 30 Q6 34 8 40\"\n stroke={bodyColor}\n strokeWidth=\"2\"\n fill=\"none\"\n strokeLinecap=\"round\"\n />\n\n {/* Legs */}\n <g\n style={{\n animation: legAnimation,\n transformOrigin: \"24px 36px\",\n }}\n >\n <line\n x1=\"18\"\n y1=\"36\"\n x2=\"14\"\n y2=\"44\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"22\"\n y1=\"38\"\n x2=\"18\"\n y2=\"46\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"26\"\n y1=\"38\"\n x2=\"24\"\n y2=\"46\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <line\n x1=\"30\"\n y1=\"37\"\n x2=\"28\"\n y2=\"45\"\n stroke={bodyColor}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </g>\n </svg>\n );\n}\n`;\n}\n\nfunction generateShrimpRunGameComponent(): string {\n\treturn `// ─── Types ────────────────────────────────────────────────────────────────────\n\ntype GameStatus = \"idle\" | \"running\" | \"dead\";\n\ninterface ObstacleState {\n readonly id: number;\n readonly xPosition: number;\n readonly width: number;\n readonly height: number;\n}\n\ninterface ShrimpState {\n readonly yPosition: number;\n readonly velocityY: number;\n readonly isJumping: boolean;\n}\n\n// ─── Constants ────────────────────────────────────────────────────────────────\n\nconst CANVAS_WIDTH = 640;\nconst CANVAS_HEIGHT = 160;\nconst GROUND_STRIP_HEIGHT = 4;\nconst SHRIMP_START_X = 60;\nconst SHRIMP_WIDTH = 48;\nconst SHRIMP_HEIGHT = 48;\nconst GRAVITY = 1.4;\nconst JUMP_VELOCITY = -18;\nconst INITIAL_OBSTACLE_SPEED = 5;\nconst SPEED_INCREMENT_PER_SCORE = 0.003;\nconst OBSTACLE_SPAWN_INTERVAL_MS = 1600;\nconst SCORE_TICK_MS = 80;\nconst COLLISION_MARGIN = 8;\nconst MAX_CONCURRENT_OBSTACLES = 3;\nconst FRAME_SKIP_THRESHOLD_MS = 100;\n\n// ─── Physics helpers ──────────────────────────────────────────────────────────\n\nfunction getObstacleSpeed(currentScore: number): number {\n return INITIAL_OBSTACLE_SPEED + currentScore * SPEED_INCREMENT_PER_SCORE;\n}\n\nfunction checkCollision(\n shrimpYPosition: number,\n obstacle: ObstacleState,\n): boolean {\n const shrimpLeft = SHRIMP_START_X + COLLISION_MARGIN;\n const shrimpRight = SHRIMP_START_X + SHRIMP_WIDTH - COLLISION_MARGIN;\n const shrimpTop =\n CANVAS_HEIGHT -\n GROUND_STRIP_HEIGHT -\n shrimpYPosition -\n SHRIMP_HEIGHT +\n COLLISION_MARGIN;\n const shrimpBottom = CANVAS_HEIGHT - GROUND_STRIP_HEIGHT - shrimpYPosition;\n\n const obstacleLeft = obstacle.xPosition + COLLISION_MARGIN;\n const obstacleRight = obstacle.xPosition + obstacle.width - COLLISION_MARGIN;\n const obstacleTop = CANVAS_HEIGHT - GROUND_STRIP_HEIGHT - obstacle.height;\n const obstacleBottom = CANVAS_HEIGHT - GROUND_STRIP_HEIGHT;\n\n return (\n shrimpLeft < obstacleRight &&\n shrimpRight > obstacleLeft &&\n shrimpTop < obstacleBottom &&\n shrimpBottom > obstacleTop\n );\n}\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\n/**\n * ShrimpRun — Default Rakta.js interactive starter game.\n *\n * Like the Chrome offline Dino game, but the dinosaur is an animated shrimp.\n * Press Space or click the game canvas to jump. Avoid the red obstacles!\n *\n * Features:\n * - React state only — no external game library\n * - requestAnimationFrame game loop\n * - Physics: gravity + jump velocity\n * - Score that increases over time\n * - Speed ramps up as score grows\n * - Collision detection with margin\n * - High score tracked in component state\n * - Keyboard (Space) and click/tap support\n * - Accessible button game canvas\n * - SVG shrimp mascot — no external assets\n */\nexport default function ShrimpRunGame() {\n const [gameStatus, setGameStatus] = useState<GameStatus>(\"idle\");\n const [score, setScore] = useState(0);\n const [highScore, setHighScore] = useState(0);\n const [obstacles, setObstacles] = useState<ObstacleState[]>([]);\n const [shrimp, setShrimp] = useState<ShrimpState>({\n yPosition: 0,\n velocityY: 0,\n isJumping: false,\n });\n\n const gameStatusRef = useRef<GameStatus>(\"idle\");\n const scoreRef = useRef(0);\n const shrimpRef = useRef<ShrimpState>({\n yPosition: 0,\n velocityY: 0,\n isJumping: false,\n });\n const obstaclesRef = useRef<ObstacleState[]>([]);\n const obstacleIdRef = useRef(0);\n const animationFrameRef = useRef<number>(0);\n const lastObstacleTimeRef = useRef(0);\n const lastScoreTickRef = useRef(0);\n\n const jump = useCallback((): void => {\n if (gameStatusRef.current === \"dead\") {\n return;\n }\n\n if (gameStatusRef.current === \"idle\") {\n gameStatusRef.current = \"running\";\n setGameStatus(\"running\");\n }\n\n if (!shrimpRef.current.isJumping) {\n const nextShrimp: ShrimpState = {\n ...shrimpRef.current,\n velocityY: JUMP_VELOCITY,\n isJumping: true,\n };\n\n shrimpRef.current = nextShrimp;\n setShrimp(nextShrimp);\n }\n }, []);\n\n const resetGame = useCallback((): void => {\n const freshShrimp: ShrimpState = {\n yPosition: 0,\n velocityY: 0,\n isJumping: false,\n };\n\n shrimpRef.current = freshShrimp;\n obstaclesRef.current = [];\n obstacleIdRef.current = 0;\n scoreRef.current = 0;\n gameStatusRef.current = \"idle\";\n lastObstacleTimeRef.current = 0;\n lastScoreTickRef.current = 0;\n\n setShrimp(freshShrimp);\n setObstacles([]);\n setScore(0);\n setGameStatus(\"idle\");\n }, []);\n\n useEffect(() => {\n let previousTimestamp = 0;\n\n function gameTick(timestamp: number): void {\n if (gameStatusRef.current !== \"running\") {\n animationFrameRef.current = requestAnimationFrame(gameTick);\n return;\n }\n\n const deltaTime = timestamp - previousTimestamp;\n previousTimestamp = timestamp;\n\n if (deltaTime > FRAME_SKIP_THRESHOLD_MS) {\n animationFrameRef.current = requestAnimationFrame(gameTick);\n return;\n }\n\n const currentShrimp = shrimpRef.current;\n let nextVelocityY = currentShrimp.velocityY + GRAVITY;\n let nextYPosition = currentShrimp.yPosition - nextVelocityY;\n\n if (nextYPosition <= 0) {\n nextYPosition = 0;\n nextVelocityY = 0;\n }\n\n const nextShrimp: ShrimpState = {\n yPosition: nextYPosition,\n velocityY: nextVelocityY,\n isJumping: nextYPosition > 0,\n };\n\n shrimpRef.current = nextShrimp;\n setShrimp(nextShrimp);\n\n const obstacleSpeed = getObstacleSpeed(scoreRef.current);\n\n const movedObstacles = obstaclesRef.current\n .map(\n (obstacle): ObstacleState => ({\n ...obstacle,\n xPosition: obstacle.xPosition - obstacleSpeed,\n }),\n )\n .filter((obstacle) => obstacle.xPosition + obstacle.width > -10);\n\n if (\n timestamp - lastObstacleTimeRef.current > OBSTACLE_SPAWN_INTERVAL_MS &&\n movedObstacles.length < MAX_CONCURRENT_OBSTACLES\n ) {\n const obstacleHeight = 30 + Math.floor(Math.random() * 30);\n const obstacleWidth = 20 + Math.floor(Math.random() * 20);\n\n movedObstacles.push({\n id: obstacleIdRef.current,\n xPosition: CANVAS_WIDTH + 20,\n width: obstacleWidth,\n height: obstacleHeight,\n });\n\n obstacleIdRef.current += 1;\n lastObstacleTimeRef.current = timestamp;\n }\n\n obstaclesRef.current = movedObstacles;\n setObstacles([...movedObstacles]);\n\n for (const obstacle of movedObstacles) {\n if (checkCollision(nextShrimp.yPosition, obstacle)) {\n gameStatusRef.current = \"dead\";\n setGameStatus(\"dead\");\n setHighScore((previousHighScore: number) =>\n Math.max(previousHighScore, scoreRef.current),\n );\n animationFrameRef.current = requestAnimationFrame(gameTick);\n return;\n }\n }\n\n if (timestamp - lastScoreTickRef.current > SCORE_TICK_MS) {\n scoreRef.current += 1;\n setScore(scoreRef.current);\n lastScoreTickRef.current = timestamp;\n }\n\n animationFrameRef.current = requestAnimationFrame(gameTick);\n }\n\n animationFrameRef.current = requestAnimationFrame(gameTick);\n\n return () => {\n cancelAnimationFrame(animationFrameRef.current);\n };\n }, []);\n\n useEffect(() => {\n function handleKeyDown(keyboardEvent: KeyboardEvent): void {\n if (keyboardEvent.code === \"Space\") {\n keyboardEvent.preventDefault();\n jump();\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown);\n\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [jump]);\n\n const shrimpBottomOffset = GROUND_STRIP_HEIGHT + shrimp.yPosition;\n const isDead = gameStatus === \"dead\";\n const isIdle = gameStatus === \"idle\";\n const isRunning = gameStatus === \"running\";\n\n return (\n <div className=\"flex flex-col items-start gap-4 py-4\">\n <div className=\"flex flex-wrap items-center gap-8\">\n <span className=\"font-mono text-xl font-bold tabular-nums text-red-600\">\n Score: {score}\n </span>\n {highScore > 0 && (\n <span className=\"text-sm text-slate-400\">Best: {highScore}</span>\n )}\n </div>\n\n <button\n type=\"button\"\n className=\"relative block max-w-full cursor-pointer select-none overflow-hidden rounded-2xl border-2 border-red-600/30 bg-[#0e111a] p-0 text-left focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-500\"\n aria-label=\"ShrimpRun game area. Click or press Space to jump.\"\n onClick={jump}\n onKeyDown={(keyboardEvent: import(\"react\").KeyboardEvent) => {\n if (keyboardEvent.code === \"Space\") {\n keyboardEvent.preventDefault();\n jump();\n }\n }}\n style={{\n width: CANVAS_WIDTH,\n height: CANVAS_HEIGHT,\n }}\n >\n <span\n className=\"absolute bottom-0 left-0 w-full rounded-sm bg-red-600\"\n style={{\n height: GROUND_STRIP_HEIGHT,\n }}\n />\n\n <span\n className=\"absolute\"\n style={{\n left: SHRIMP_START_X,\n bottom: shrimpBottomOffset,\n width: SHRIMP_WIDTH,\n height: SHRIMP_HEIGHT,\n }}\n >\n <RaktaShrimpMascot isJumping={shrimp.isJumping} isDead={isDead} />\n </span>\n\n {obstacles.map((obstacle) => (\n <span\n key={obstacle.id}\n className=\"absolute rounded-t bg-red-600\"\n style={{\n left: obstacle.xPosition,\n bottom: GROUND_STRIP_HEIGHT,\n width: obstacle.width,\n height: obstacle.height,\n }}\n />\n ))}\n\n {isIdle && (\n <span className=\"pointer-events-none absolute inset-0 flex items-center justify-center text-sm text-slate-400\">\n Press Space or click to start\n </span>\n )}\n\n {isDead && (\n <span className=\"absolute inset-0 flex flex-col items-center justify-center gap-2 bg-black/75\">\n <span className=\"text-lg font-bold tracking-widest text-red-600\">\n GAME OVER\n </span>\n <span className=\"text-sm text-slate-400\">Score: {score}</span>\n </span>\n )}\n\n {isRunning && score > 0 && score % 50 === 0 && (\n <span className=\"absolute right-3 top-2 text-xs font-bold tracking-widest text-red-600 opacity-80\">\n {score}!\n </span>\n )}\n </button>\n\n <p className=\"min-h-5 text-sm text-slate-400\">\n {isIdle && \"🦐 Click or press Space to make the shrimp jump!\"}\n {isRunning && \"🦐 Don't hit the obstacles!\"}\n {isDead && \"The shrimp got cooked. Try again!\"}\n </p>\n\n {isDead && (\n <button\n type=\"button\"\n className=\"w-fit rounded-lg bg-red-600 px-6 py-2 font-semibold text-white transition hover:bg-red-700 active:bg-red-800 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-500\"\n onClick={resetGame}\n >\n Restart\n </button>\n )}\n </div>\n );\n}\n`;\n}\n\nfunction generateFullstackHomePage(projectName: string): string {\n\treturn `import React from \"react\";\n\nexport default function HomePage() {\n return (\n <main className=\"page-shell\">\n <section className=\"hero-card\">\n <p className=\"eyebrow\">THE RED ROUTER FRAMEWORK</p>\n <h1>Welcome to ${projectName}</h1>\n <p>\n Built with Rakta.js — Small in size. Fierce in speed. Alive in every route.\n </p>\n <div className=\"button-row\">\n <a href=\"/about\">About</a>\n <a href=\"/blog\">Blog</a>\n </div>\n </section>\n </main>\n );\n}\n`;\n}\n\n// ─── Database helpers ─────────────────────────────────────────────────────────\n\nfunction getDatabaseDependencies(\n\tselectedDatabase: Database,\n): Record<string, string> {\n\tswitch (selectedDatabase) {\n\t\tcase \"postgresql\":\n\t\t\treturn { postgres: \"^3.4.4\" };\n\t\tcase \"mysql\":\n\t\tcase \"mariadb\":\n\t\t\treturn { mysql2: \"^3.9.8\" };\n\t\tcase \"mongodb\":\n\t\t\treturn { mongodb: \"^6.8.0\" };\n\t\tcase \"firebase\":\n\t\t\treturn { \"firebase-admin\": \"^12.7.0\" };\n\t\tcase \"sqlite\":\n\t\t\treturn {};\n\t\tcase \"redis\":\n\t\t\treturn { ioredis: \"^5.4.1\" };\n\t\tcase \"planetscale\":\n\t\t\treturn { \"@planetscale/database\": \"^1.18.0\" };\n\t\tcase \"neon\":\n\t\t\treturn { \"@neondatabase/serverless\": \"^0.9.4\" };\n\t\tcase \"turso\":\n\t\t\treturn { \"@libsql/client\": \"^0.6.2\" };\n\t\tdefault:\n\t\t\treturn {};\n\t}\n}\n\nfunction getDatabaseConfig(selectedDatabase: Database): string {\n\tswitch (selectedDatabase) {\n\t\tcase \"sqlite\":\n\t\t\treturn `export const databaseConfig = {\\n path: process.env[\"DATABASE_PATH\"] ?? \"./database.sqlite\",\\n provider: \"sqlite\" as const,\\n} as const;\\n`;\n\t\tcase \"firebase\":\n\t\t\treturn `export const databaseConfig = {\\n projectId: process.env[\"FIREBASE_PROJECT_ID\"] ?? \"\",\\n clientEmail: process.env[\"FIREBASE_CLIENT_EMAIL\"] ?? \"\",\\n privateKey: process.env[\"FIREBASE_PRIVATE_KEY\"]?.replace(/\\\\\\\\\\\\\\\\n/g, \"\\\\\\\\n\") ?? \"\",\\n databaseUrl: process.env[\"FIREBASE_DATABASE_URL\"] ?? \"\",\\n provider: \"firebase\" as const,\\n} as const;\\n`;\n\t\tcase \"turso\":\n\t\t\treturn `export const databaseConfig = {\\n url: process.env[\"TURSO_DATABASE_URL\"] ?? \"\",\\n authToken: process.env[\"TURSO_AUTH_TOKEN\"] ?? \"\",\\n provider: \"turso\" as const,\\n} as const;\\n`;\n\t\tdefault:\n\t\t\treturn `import { env } from \"../env\";\\n\\nexport const databaseConfig = {\\n url: env.databaseUrl,\\n provider: \"${selectedDatabase}\" as const,\\n} as const;\\n`;\n\t}\n}\n\nfunction getDatabaseClient(selectedDatabase: Database): string {\n\tswitch (selectedDatabase) {\n\t\tcase \"postgresql\":\n\t\t\treturn `import postgres from \"postgres\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const sql = databaseConfig.url ? postgres(databaseConfig.url) : null;\\n`;\n\t\tcase \"mysql\":\n\t\tcase \"mariadb\":\n\t\t\treturn `import mysql from \"mysql2/promise\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const pool = databaseConfig.url\\n ? mysql.createPool({ uri: databaseConfig.url, connectionLimit: 10 })\\n : null;\\n`;\n\t\tcase \"mongodb\":\n\t\t\treturn `import { MongoClient } from \"mongodb\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const mongoClient = databaseConfig.url\\n ? new MongoClient(databaseConfig.url)\\n : null;\\n`;\n\t\tcase \"firebase\":\n\t\t\treturn `import { cert, getApps, initializeApp } from \"firebase-admin/app\";\\nimport { getFirestore } from \"firebase-admin/firestore\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nconst credentialReady =\\n databaseConfig.projectId.length > 0 &&\\n databaseConfig.clientEmail.length > 0 &&\\n databaseConfig.privateKey.length > 0;\\n\\nexport const firebaseApp = getApps()[0] ?? initializeApp(\\n credentialReady\\n ? {\\n credential: cert({\\n projectId: databaseConfig.projectId,\\n clientEmail: databaseConfig.clientEmail,\\n privateKey: databaseConfig.privateKey,\\n }),\\n databaseURL: databaseConfig.databaseUrl || undefined,\\n }\\n : undefined\\n);\\n\\nexport const firestore = getFirestore(firebaseApp);\\n`;\n\t\tcase \"sqlite\":\n\t\t\treturn `import { Database } from \"bun:sqlite\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const db = new Database(databaseConfig.path, { create: true });\\n`;\n\t\tcase \"redis\":\n\t\t\treturn `import Redis from \"ioredis\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const redis = databaseConfig.url ? new Redis(databaseConfig.url) : null;\\n`;\n\t\tcase \"planetscale\":\n\t\t\treturn `import { connect } from \"@planetscale/database\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const connection = databaseConfig.url\\n ? connect({ url: databaseConfig.url })\\n : null;\\n`;\n\t\tcase \"neon\":\n\t\t\treturn `import { neon } from \"@neondatabase/serverless\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const sql = databaseConfig.url ? neon(databaseConfig.url) : null;\\n`;\n\t\tcase \"turso\":\n\t\t\treturn `import { createClient } from \"@libsql/client\";\\nimport { databaseConfig } from \"../config/database.config\";\\n\\nexport const db =\\n databaseConfig.url && databaseConfig.authToken\\n ? createClient({ url: databaseConfig.url, authToken: databaseConfig.authToken })\\n : null;\\n`;\n\t\tdefault:\n\t\t\treturn `export const databaseClient = null;\\n`;\n\t}\n}\n\nfunction getDatabaseEnvExample(selectedDatabase: Database): string {\n\tconst baseEnv = `NODE_ENV=development\\nPORT=4000\\nCORS_ORIGIN=http://localhost:3000\\n`;\n\n\tswitch (selectedDatabase) {\n\t\tcase \"postgresql\":\n\t\t\treturn `${baseEnv}DATABASE_URL=postgresql://user:password@localhost:5432/dbname\\n`;\n\t\tcase \"mysql\":\n\t\t\treturn `${baseEnv}DATABASE_URL=mysql://user:password@localhost:3306/dbname\\n`;\n\t\tcase \"mariadb\":\n\t\t\treturn `${baseEnv}DATABASE_URL=mysql://user:password@localhost:3306/dbname\\n`;\n\t\tcase \"mongodb\":\n\t\t\treturn `${baseEnv}DATABASE_URL=mongodb://localhost:27017/dbname\\n`;\n\t\tcase \"firebase\":\n\t\t\treturn `${baseEnv}FIREBASE_PROJECT_ID=your-project-id\\nFIREBASE_CLIENT_EMAIL=firebase-adminsdk@your-project.iam.gserviceaccount.com\\nFIREBASE_PRIVATE_KEY=\"-----BEGIN PRIVATE KEY-----\\\\nyour-key\\\\n-----END PRIVATE KEY-----\\\\n\"\\nFIREBASE_DATABASE_URL=https://your-project.firebaseio.com\\n`;\n\t\tcase \"sqlite\":\n\t\t\treturn `${baseEnv}DATABASE_PATH=./database.sqlite\\n`;\n\t\tcase \"redis\":\n\t\t\treturn `${baseEnv}DATABASE_URL=redis://localhost:6379\\n`;\n\t\tcase \"planetscale\":\n\t\t\treturn `${baseEnv}DATABASE_URL=mysql://user:password@aws.connect.psdb.cloud/dbname\\n`;\n\t\tcase \"neon\":\n\t\t\treturn `${baseEnv}DATABASE_URL=postgresql://user:password@ep-xxx.neon.tech/neondb?sslmode=require\\n`;\n\t\tcase \"turso\":\n\t\t\treturn `${baseEnv}TURSO_DATABASE_URL=libsql://your-db.turso.io\\nTURSO_AUTH_TOKEN=your-auth-token\\n`;\n\t\tdefault:\n\t\t\treturn `${baseEnv}DATABASE_URL=\\n`;\n\t}\n}\n\n// ─── README ──────────────────────────────────────────────────────────────────\n\nfunction generateProjectReadme(projectConfig: ProjectConfig): string {\n\tconst { projectName, projectMode } = projectConfig;\n\n\tif (projectMode === \"frontend-only\") {\n\t\treturn `# ${projectName}\\n\\nBuilt with Rakta.js — Small in size. Fierce in speed. Alive in every route.\\n\\n## Stack\\n\\n| Layer | Technology |\\n| --- | --- |\\n| Frontend | Rakta.js + React + TypeScript |\\n| CSS | ${CSS_DISPLAY[projectConfig.cssFramework]} |\\n| Runtime | Bun |\\n\\n## Run\\n\\n\\`\\`\\`bash\\nbun install\\nbun run dev\\n\\`\\`\\`\\n\\n## ShrimpRun\\n\\nYour starter includes ShrimpRun — an interactive game where a shrimp dodges obstacles. Press Space or click to jump!\\n`;\n\t}\n\n\treturn `# ${projectName}\\n\\nBuilt with Rakta.js — Small in size. Fierce in speed. Alive in every route.\\n\\n## Stack\\n\\n| Layer | Technology |\\n| --- | --- |\\n| Frontend | Rakta.js + React + TypeScript |\\n| CSS | ${CSS_DISPLAY[projectConfig.cssFramework]} |\\n| Backend | ${BACKEND_DISPLAY[projectConfig.backendFramework]} |\\n| Database | ${DATABASE_DISPLAY[projectConfig.database]} |\\n| Runtime | Bun |\\n\\n## Run\\n\\n\\`\\`\\`bash\\nbun install\\n\\n# Terminal 1\\nbun run dev:frontend\\n\\n# Terminal 2\\nbun run dev:backend\\n\\`\\`\\`\\n\\n## Endpoints\\n\\n- Frontend: http://localhost:3000\\n- Backend: http://localhost:4000\\n`;\n}\n\n// ─── Main export ─────────────────────────────────────────────────────────────\n\nexport function generateProjectFiles(\n\tprojectConfig: ProjectConfig,\n): ProjectFile[] {\n\tif (projectConfig.projectMode === \"frontend-only\") {\n\t\treturn [\n\t\t\t...getRootFiles(projectConfig),\n\t\t\t...getFrontendOnlyFiles(projectConfig),\n\t\t];\n\t}\n\n\treturn [\n\t\t...getRootFiles(projectConfig),\n\t\t...getFullstackFrontendFiles(projectConfig),\n\t\t...getBackendFiles(projectConfig),\n\t\t...getSharedFiles(projectConfig),\n\t];\n}\n",
18
+ "import * as clack from \"@clack/prompts\";\nimport type {\n\tBackendFramework,\n\tCssFramework,\n\tDatabase,\n\tProjectConfig,\n\tProjectMode,\n\tRenderMode,\n} from \"./types\";\nimport {\n\tBACKEND_DISPLAY,\n\tCSS_DISPLAY,\n\tDATABASE_DISPLAY,\n\tPROJECT_MODE_DISPLAY,\n\tRENDER_MODE_DISPLAY,\n} from \"./types\";\n\nfunction getPromptValue<TValue>(promptResult: TValue | symbol): TValue {\n\tif (clack.isCancel(promptResult)) {\n\t\tclack.cancel(\"Setup cancelled.\");\n\t\tprocess.exit(0);\n\t}\n\n\treturn promptResult;\n}\n\nexport async function promptProjectName(fallbackName: string): Promise<string> {\n\tconst promptResult = await clack.text({\n\t\tmessage: \"Project name:\",\n\t\tplaceholder: fallbackName,\n\t\tdefaultValue: fallbackName,\n\t\tvalidate(inputValue) {\n\t\t\tconst trimmedInput = (inputValue ?? \"\").trim();\n\n\t\t\tif (trimmedInput.length === 0) {\n\t\t\t\treturn \"Project name cannot be empty.\";\n\t\t\t}\n\n\t\t\tif (!/^[a-z0-9-_]+$/i.test(trimmedInput)) {\n\t\t\t\treturn \"Use only letters, numbers, hyphens, and underscores.\";\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t},\n\t});\n\n\treturn getPromptValue(promptResult).trim();\n}\n\nexport async function promptProjectMode(): Promise<ProjectMode> {\n\tconst promptResult = await clack.select<ProjectMode>({\n\t\tmessage: \"What do you want to create?\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"frontend-only\",\n\t\t\t\tlabel: PROJECT_MODE_DISPLAY[\"frontend-only\"],\n\t\t\t\thint: \"recommended for starters\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"fullstack\",\n\t\t\t\tlabel: PROJECT_MODE_DISPLAY.fullstack,\n\t\t\t},\n\t\t],\n\t\tinitialValue: \"frontend-only\",\n\t});\n\n\treturn getPromptValue(promptResult);\n}\n\nexport async function promptCssFramework(): Promise<CssFramework> {\n\tconst promptResult = await clack.select<CssFramework>({\n\t\tmessage: \"Choose a CSS framework:\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"tailwind\",\n\t\t\t\tlabel: CSS_DISPLAY.tailwind,\n\t\t\t\thint: \"recommended\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"bootstrap\",\n\t\t\t\tlabel: CSS_DISPLAY.bootstrap,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"sass\",\n\t\t\t\tlabel: CSS_DISPLAY.sass,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"none\",\n\t\t\t\tlabel: CSS_DISPLAY.none,\n\t\t\t},\n\t\t],\n\t\tinitialValue: \"tailwind\",\n\t});\n\n\treturn getPromptValue(promptResult);\n}\n\nexport async function promptRenderMode(): Promise<RenderMode> {\n\tconst promptResult = await clack.select<RenderMode>({\n\t\tmessage: \"Choose a render mode:\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"csr\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.csr,\n\t\t\t\thint: \"recommended\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"spa\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.spa,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"hybrid\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.hybrid,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"ssr\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.ssr,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"ssg\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.ssg,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"csg\",\n\t\t\t\tlabel: RENDER_MODE_DISPLAY.csg,\n\t\t\t},\n\t\t],\n\t\tinitialValue: \"csr\",\n\t});\n\n\treturn getPromptValue(promptResult);\n}\n\nexport async function promptBackendFramework(): Promise<BackendFramework> {\n\tconst promptResult = await clack.select<BackendFramework>({\n\t\tmessage: \"Choose a backend framework:\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"gaman\",\n\t\t\t\tlabel: BACKEND_DISPLAY.gaman,\n\t\t\t\thint: \"recommended\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"express\",\n\t\t\t\tlabel: BACKEND_DISPLAY.express,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"nest\",\n\t\t\t\tlabel: BACKEND_DISPLAY.nest,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"adonis\",\n\t\t\t\tlabel: BACKEND_DISPLAY.adonis,\n\t\t\t},\n\t\t],\n\t\tinitialValue: \"gaman\",\n\t});\n\n\treturn getPromptValue(promptResult);\n}\n\nexport async function promptDatabase(): Promise<Database> {\n\tconst promptResult = await clack.select<Database>({\n\t\tmessage: \"Choose a database:\",\n\t\toptions: [\n\t\t\t{\n\t\t\t\tvalue: \"postgresql\",\n\t\t\t\tlabel: DATABASE_DISPLAY.postgresql,\n\t\t\t\thint: \"recommended\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"mysql\",\n\t\t\t\tlabel: DATABASE_DISPLAY.mysql,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"mongodb\",\n\t\t\t\tlabel: DATABASE_DISPLAY.mongodb,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"firebase\",\n\t\t\t\tlabel: DATABASE_DISPLAY.firebase,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"sqlite\",\n\t\t\t\tlabel: DATABASE_DISPLAY.sqlite,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"mariadb\",\n\t\t\t\tlabel: DATABASE_DISPLAY.mariadb,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"redis\",\n\t\t\t\tlabel: DATABASE_DISPLAY.redis,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"planetscale\",\n\t\t\t\tlabel: DATABASE_DISPLAY.planetscale,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"neon\",\n\t\t\t\tlabel: DATABASE_DISPLAY.neon,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"turso\",\n\t\t\t\tlabel: DATABASE_DISPLAY.turso,\n\t\t\t},\n\t\t],\n\t\tinitialValue: \"postgresql\",\n\t});\n\n\treturn getPromptValue(promptResult);\n}\n\nexport async function runPrompts(projectName: string): Promise<ProjectConfig> {\n\tconst projectMode = await promptProjectMode();\n\tconst cssFramework = await promptCssFramework();\n\tconst renderMode = await promptRenderMode();\n\n\tif (projectMode === \"frontend-only\") {\n\t\treturn {\n\t\t\tprojectName,\n\t\t\tprojectMode,\n\t\t\tcssFramework,\n\t\t\trenderMode,\n\t\t\tbackendFramework: \"gaman\",\n\t\t\tdatabase: \"postgresql\",\n\t\t};\n\t}\n\n\tconst backendFramework = await promptBackendFramework();\n\tconst selectedDatabase = await promptDatabase();\n\n\treturn {\n\t\tprojectName,\n\t\tprojectMode,\n\t\tcssFramework,\n\t\trenderMode,\n\t\tbackendFramework,\n\t\tdatabase: selectedDatabase,\n\t};\n}\n"
19
19
  ],
20
- "mappings": "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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkLR,SAAS,8BAA8B,GAAW;AAAA,EACjD,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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",
21
- "debugId": "B9AF63AAAD27EC1C64756E2164756E21",
20
+ "mappings": "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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkLR,SAAS,8BAA8B,GAAW;AAAA,EACjD,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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",
21
+ "debugId": "FC808A244B764D0164756E2164756E21",
22
22
  "names": []
23
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-rakta-app",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Create a fullstack Rakta.js application with frontend, backend, database, rendering mode, and CSS framework choices.",
5
5
  "type": "module",
6
6
  "license": "MIT",