@stackweld/templates 0.2.0

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.
Files changed (117) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-lint.log +694 -0
  3. package/.turbo/turbo-test.log +15 -0
  4. package/.turbo/turbo-typecheck.log +4 -0
  5. package/dist/__tests__/templates.test.d.ts +2 -0
  6. package/dist/__tests__/templates.test.d.ts.map +1 -0
  7. package/dist/__tests__/templates.test.js +81 -0
  8. package/dist/__tests__/templates.test.js.map +1 -0
  9. package/dist/index.d.ts +36 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +68 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/templates/astro-landing.d.ts +3 -0
  14. package/dist/templates/astro-landing.d.ts.map +1 -0
  15. package/dist/templates/astro-landing.js +36 -0
  16. package/dist/templates/astro-landing.js.map +1 -0
  17. package/dist/templates/django-react.d.ts +3 -0
  18. package/dist/templates/django-react.d.ts.map +1 -0
  19. package/dist/templates/django-react.js +123 -0
  20. package/dist/templates/django-react.js.map +1 -0
  21. package/dist/templates/django-rest-api.d.ts +3 -0
  22. package/dist/templates/django-rest-api.d.ts.map +1 -0
  23. package/dist/templates/django-rest-api.js +95 -0
  24. package/dist/templates/django-rest-api.js.map +1 -0
  25. package/dist/templates/express-api.d.ts +3 -0
  26. package/dist/templates/express-api.d.ts.map +1 -0
  27. package/dist/templates/express-api.js +142 -0
  28. package/dist/templates/express-api.js.map +1 -0
  29. package/dist/templates/fastapi-react.d.ts +3 -0
  30. package/dist/templates/fastapi-react.d.ts.map +1 -0
  31. package/dist/templates/fastapi-react.js +120 -0
  32. package/dist/templates/fastapi-react.js.map +1 -0
  33. package/dist/templates/go-microservice.d.ts +3 -0
  34. package/dist/templates/go-microservice.d.ts.map +1 -0
  35. package/dist/templates/go-microservice.js +131 -0
  36. package/dist/templates/go-microservice.js.map +1 -0
  37. package/dist/templates/hono-microservice.d.ts +3 -0
  38. package/dist/templates/hono-microservice.d.ts.map +1 -0
  39. package/dist/templates/hono-microservice.js +80 -0
  40. package/dist/templates/hono-microservice.js.map +1 -0
  41. package/dist/templates/htmx-django.d.ts +3 -0
  42. package/dist/templates/htmx-django.d.ts.map +1 -0
  43. package/dist/templates/htmx-django.js +96 -0
  44. package/dist/templates/htmx-django.js.map +1 -0
  45. package/dist/templates/laravel-app.d.ts +3 -0
  46. package/dist/templates/laravel-app.d.ts.map +1 -0
  47. package/dist/templates/laravel-app.js +95 -0
  48. package/dist/templates/laravel-app.js.map +1 -0
  49. package/dist/templates/mern-stack.d.ts +3 -0
  50. package/dist/templates/mern-stack.d.ts.map +1 -0
  51. package/dist/templates/mern-stack.js +122 -0
  52. package/dist/templates/mern-stack.js.map +1 -0
  53. package/dist/templates/monorepo-starter.d.ts +3 -0
  54. package/dist/templates/monorepo-starter.d.ts.map +1 -0
  55. package/dist/templates/monorepo-starter.js +136 -0
  56. package/dist/templates/monorepo-starter.js.map +1 -0
  57. package/dist/templates/nestjs-api.d.ts +3 -0
  58. package/dist/templates/nestjs-api.d.ts.map +1 -0
  59. package/dist/templates/nestjs-api.js +111 -0
  60. package/dist/templates/nestjs-api.js.map +1 -0
  61. package/dist/templates/nuxt3-app.d.ts +3 -0
  62. package/dist/templates/nuxt3-app.d.ts.map +1 -0
  63. package/dist/templates/nuxt3-app.js +77 -0
  64. package/dist/templates/nuxt3-app.js.map +1 -0
  65. package/dist/templates/python-ai-lab.d.ts +3 -0
  66. package/dist/templates/python-ai-lab.d.ts.map +1 -0
  67. package/dist/templates/python-ai-lab.js +152 -0
  68. package/dist/templates/python-ai-lab.js.map +1 -0
  69. package/dist/templates/remix-fullstack.d.ts +3 -0
  70. package/dist/templates/remix-fullstack.d.ts.map +1 -0
  71. package/dist/templates/remix-fullstack.js +79 -0
  72. package/dist/templates/remix-fullstack.js.map +1 -0
  73. package/dist/templates/saas-starter.d.ts +3 -0
  74. package/dist/templates/saas-starter.d.ts.map +1 -0
  75. package/dist/templates/saas-starter.js +128 -0
  76. package/dist/templates/saas-starter.js.map +1 -0
  77. package/dist/templates/solidstart-app.d.ts +3 -0
  78. package/dist/templates/solidstart-app.d.ts.map +1 -0
  79. package/dist/templates/solidstart-app.js +72 -0
  80. package/dist/templates/solidstart-app.js.map +1 -0
  81. package/dist/templates/sveltekit-fullstack.d.ts +3 -0
  82. package/dist/templates/sveltekit-fullstack.d.ts.map +1 -0
  83. package/dist/templates/sveltekit-fullstack.js +89 -0
  84. package/dist/templates/sveltekit-fullstack.js.map +1 -0
  85. package/dist/templates/t3-stack.d.ts +3 -0
  86. package/dist/templates/t3-stack.d.ts.map +1 -0
  87. package/dist/templates/t3-stack.js +92 -0
  88. package/dist/templates/t3-stack.js.map +1 -0
  89. package/dist/templates/tauri-desktop.d.ts +3 -0
  90. package/dist/templates/tauri-desktop.d.ts.map +1 -0
  91. package/dist/templates/tauri-desktop.js +55 -0
  92. package/dist/templates/tauri-desktop.js.map +1 -0
  93. package/package.json +33 -0
  94. package/src/__tests__/templates.test.ts +98 -0
  95. package/src/index.ts +97 -0
  96. package/src/templates/astro-landing.ts +40 -0
  97. package/src/templates/django-react.ts +127 -0
  98. package/src/templates/django-rest-api.ts +99 -0
  99. package/src/templates/express-api.ts +147 -0
  100. package/src/templates/fastapi-react.ts +122 -0
  101. package/src/templates/go-microservice.ts +133 -0
  102. package/src/templates/hono-microservice.ts +81 -0
  103. package/src/templates/htmx-django.ts +100 -0
  104. package/src/templates/laravel-app.ts +96 -0
  105. package/src/templates/mern-stack.ts +126 -0
  106. package/src/templates/monorepo-starter.ts +138 -0
  107. package/src/templates/nestjs-api.ts +112 -0
  108. package/src/templates/nuxt3-app.ts +78 -0
  109. package/src/templates/python-ai-lab.ts +155 -0
  110. package/src/templates/remix-fullstack.ts +80 -0
  111. package/src/templates/saas-starter.ts +131 -0
  112. package/src/templates/solidstart-app.ts +73 -0
  113. package/src/templates/sveltekit-fullstack.ts +90 -0
  114. package/src/templates/t3-stack.ts +94 -0
  115. package/src/templates/tauri-desktop.ts +57 -0
  116. package/tsconfig.json +10 -0
  117. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,142 @@
1
+ export const expressApi = {
2
+ id: "express-api",
3
+ name: "Express API",
4
+ description: "Production-ready Express.js REST API with TypeScript, Prisma, PostgreSQL, Redis, and Docker",
5
+ technologyIds: ["express", "nodejs", "typescript", "prisma", "postgresql", "redis", "docker"],
6
+ profile: "production",
7
+ scaffoldSteps: [
8
+ {
9
+ name: "Create project directory",
10
+ command: "mkdir -p {{projectName}}/src",
11
+ },
12
+ {
13
+ name: "Initialize Node.js project",
14
+ command: "cd {{projectName}} && npm init -y",
15
+ },
16
+ {
17
+ name: "Install dependencies",
18
+ command: "cd {{projectName}} && npm install express cors helmet dotenv ioredis @prisma/client",
19
+ },
20
+ {
21
+ name: "Install dev dependencies",
22
+ command: "cd {{projectName}} && npm install -D typescript @types/node @types/express @types/cors tsx prisma",
23
+ },
24
+ {
25
+ name: "Initialize TypeScript",
26
+ command: "cd {{projectName}} && npx tsc --init --outDir dist --rootDir src --strict --esModuleInterop --resolveJsonModule",
27
+ },
28
+ {
29
+ name: "Initialize Prisma",
30
+ command: "cd {{projectName}} && npx prisma init --datasource-provider postgresql",
31
+ },
32
+ ],
33
+ overrides: [
34
+ {
35
+ path: ".env.example",
36
+ content: [
37
+ "PORT=3000",
38
+ "NODE_ENV=development",
39
+ "DATABASE_URL=postgresql://postgres:postgres@localhost:5432/{{projectName}}",
40
+ "REDIS_URL=redis://localhost:6379",
41
+ "CORS_ORIGIN=http://localhost:5173",
42
+ ].join("\n"),
43
+ },
44
+ {
45
+ path: "docker-compose.yml",
46
+ content: [
47
+ "services:",
48
+ " db:",
49
+ " image: postgres:17",
50
+ " restart: unless-stopped",
51
+ " ports:",
52
+ ' - "5432:5432"',
53
+ " environment:",
54
+ " POSTGRES_USER: postgres",
55
+ " POSTGRES_PASSWORD: postgres",
56
+ " POSTGRES_DB: {{projectName}}",
57
+ " volumes:",
58
+ " - pgdata:/var/lib/postgresql/data",
59
+ " healthcheck:",
60
+ ' test: ["CMD-SHELL", "pg_isready -U postgres"]',
61
+ " interval: 5s",
62
+ " timeout: 5s",
63
+ " retries: 5",
64
+ "",
65
+ " redis:",
66
+ " image: redis:7-alpine",
67
+ " restart: unless-stopped",
68
+ " ports:",
69
+ ' - "6379:6379"',
70
+ " healthcheck:",
71
+ ' test: ["CMD", "redis-cli", "ping"]',
72
+ " interval: 5s",
73
+ " timeout: 5s",
74
+ " retries: 5",
75
+ "",
76
+ "volumes:",
77
+ " pgdata:",
78
+ ].join("\n"),
79
+ },
80
+ {
81
+ path: "Dockerfile",
82
+ content: [
83
+ "FROM node:22-alpine AS builder",
84
+ "WORKDIR /app",
85
+ "COPY package*.json ./",
86
+ "RUN npm ci",
87
+ "COPY . .",
88
+ "RUN npx prisma generate",
89
+ "RUN npx tsc",
90
+ "",
91
+ "FROM node:22-alpine",
92
+ "WORKDIR /app",
93
+ "COPY package*.json ./",
94
+ "RUN npm ci --omit=dev",
95
+ "COPY --from=builder /app/dist ./dist",
96
+ "COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma",
97
+ "COPY prisma ./prisma",
98
+ "EXPOSE 3000",
99
+ 'CMD ["node", "dist/index.js"]',
100
+ ].join("\n"),
101
+ },
102
+ {
103
+ path: "src/index.ts",
104
+ content: [
105
+ 'import express from "express";',
106
+ 'import cors from "cors";',
107
+ 'import helmet from "helmet";',
108
+ 'import dotenv from "dotenv";',
109
+ "",
110
+ "dotenv.config();",
111
+ "",
112
+ "const app = express();",
113
+ "const port = process.env.PORT || 3000;",
114
+ "",
115
+ "app.use(helmet());",
116
+ "app.use(cors({ origin: process.env.CORS_ORIGIN }));",
117
+ "app.use(express.json());",
118
+ "",
119
+ 'app.get("/health", (_req, res) => {',
120
+ ' res.json({ status: "ok" });',
121
+ "});",
122
+ "",
123
+ "app.listen(port, () => {",
124
+ " console.log(`Server running on port ${port}`);",
125
+ "});",
126
+ ].join("\n"),
127
+ },
128
+ ],
129
+ hooks: [
130
+ {
131
+ timing: "post-scaffold",
132
+ name: "Generate Prisma client",
133
+ command: "cd {{projectName}} && npx prisma generate",
134
+ description: "Generate the Prisma client from schema",
135
+ requiresConfirmation: false,
136
+ },
137
+ ],
138
+ variables: {
139
+ projectName: "my-express-api",
140
+ },
141
+ };
142
+ //# sourceMappingURL=express-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express-api.js","sourceRoot":"","sources":["../../src/templates/express-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Template } from "@stackweld/core";
2
+ export declare const fastapiReact: Template;
3
+ //# sourceMappingURL=fastapi-react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastapi-react.d.ts","sourceRoot":"","sources":["../../src/templates/fastapi-react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,YAAY,EAAE,QAuH1B,CAAC"}
@@ -0,0 +1,120 @@
1
+ export const fastapiReact = {
2
+ id: "fastapi-react",
3
+ name: "FastAPI + React",
4
+ description: "Full-stack app with FastAPI backend, React frontend, PostgreSQL, and Docker",
5
+ technologyIds: [
6
+ "fastapi",
7
+ "python",
8
+ "react",
9
+ "nodejs",
10
+ "typescript",
11
+ "postgresql",
12
+ "tailwindcss",
13
+ ],
14
+ profile: "standard",
15
+ scaffoldSteps: [
16
+ {
17
+ name: "Create project directory",
18
+ command: "mkdir -p {{projectName}}/{backend,frontend}",
19
+ },
20
+ {
21
+ name: "Setup Python backend",
22
+ command: "python3 -m venv {{projectName}}/backend/.venv && {{projectName}}/backend/.venv/bin/pip install fastapi uvicorn sqlalchemy psycopg2-binary alembic python-dotenv",
23
+ },
24
+ {
25
+ name: "Create React frontend",
26
+ command: "npx create-vite@latest {{projectName}}/frontend -- --template react-ts",
27
+ },
28
+ {
29
+ name: "Install Tailwind in frontend",
30
+ command: "cd {{projectName}}/frontend && npm install -D tailwindcss @tailwindcss/vite",
31
+ },
32
+ ],
33
+ overrides: [
34
+ {
35
+ path: ".env.example",
36
+ content: [
37
+ "# Backend",
38
+ "DATABASE_URL=postgresql://postgres:postgres@localhost:5432/{{projectName}}",
39
+ "BACKEND_HOST=0.0.0.0",
40
+ "BACKEND_PORT=8000",
41
+ "CORS_ORIGINS=http://localhost:5173",
42
+ "",
43
+ "# Frontend",
44
+ "VITE_API_URL=http://localhost:8000",
45
+ ].join("\n"),
46
+ },
47
+ {
48
+ path: "docker-compose.yml",
49
+ content: [
50
+ "services:",
51
+ " db:",
52
+ " image: postgres:17",
53
+ " restart: unless-stopped",
54
+ " ports:",
55
+ ' - "5432:5432"',
56
+ " environment:",
57
+ " POSTGRES_USER: postgres",
58
+ " POSTGRES_PASSWORD: postgres",
59
+ " POSTGRES_DB: {{projectName}}",
60
+ " volumes:",
61
+ " - pgdata:/var/lib/postgresql/data",
62
+ " healthcheck:",
63
+ ' test: ["CMD-SHELL", "pg_isready -U postgres"]',
64
+ " interval: 5s",
65
+ " timeout: 5s",
66
+ " retries: 5",
67
+ "",
68
+ "volumes:",
69
+ " pgdata:",
70
+ ].join("\n"),
71
+ },
72
+ {
73
+ path: "backend/requirements.txt",
74
+ content: [
75
+ "fastapi>=0.115",
76
+ "uvicorn[standard]>=0.30",
77
+ "sqlalchemy>=2.0",
78
+ "psycopg2-binary>=2.9",
79
+ "alembic>=1.13",
80
+ "python-dotenv>=1.0",
81
+ ].join("\n"),
82
+ },
83
+ {
84
+ path: "backend/main.py",
85
+ content: [
86
+ "from fastapi import FastAPI",
87
+ "from fastapi.middleware.cors import CORSMiddleware",
88
+ "import os",
89
+ "",
90
+ 'app = FastAPI(title="{{projectName}}")',
91
+ "",
92
+ "app.add_middleware(",
93
+ " CORSMiddleware,",
94
+ ' allow_origins=os.getenv("CORS_ORIGINS", "http://localhost:5173").split(","),',
95
+ " allow_credentials=True,",
96
+ ' allow_methods=["*"],',
97
+ ' allow_headers=["*"],',
98
+ ")",
99
+ "",
100
+ "",
101
+ '@app.get("/health")',
102
+ "def health():",
103
+ ' return {"status": "ok"}',
104
+ ].join("\n"),
105
+ },
106
+ ],
107
+ hooks: [
108
+ {
109
+ timing: "post-scaffold",
110
+ name: "Install frontend dependencies",
111
+ command: "cd {{projectName}}/frontend && npm install",
112
+ description: "Install npm dependencies for the React frontend",
113
+ requiresConfirmation: false,
114
+ },
115
+ ],
116
+ variables: {
117
+ projectName: "my-fullstack-app",
118
+ },
119
+ };
120
+ //# sourceMappingURL=fastapi-react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastapi-react.js","sourceRoot":"","sources":["../../src/templates/fastapi-react.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,6EAA6E;IAC1F,aAAa,EAAE;QACb,SAAS;QACT,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,YAAY;QACZ,aAAa;KACd;IACD,OAAO,EAAE,UAAU;IACnB,aAAa,EAAE;QACb;YACE,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,6CAA6C;SACvD;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EACL,iKAAiK;SACpK;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,wEAAwE;SAClF;QACD;YACE,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,6EAA6E;SACvF;KACF;IACD,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE;gBACP,WAAW;gBACX,4EAA4E;gBAC5E,sBAAsB;gBACtB,mBAAmB;gBACnB,oCAAoC;gBACpC,EAAE;gBACF,YAAY;gBACZ,oCAAoC;aACrC,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE;gBACP,WAAW;gBACX,OAAO;gBACP,wBAAwB;gBACxB,6BAA6B;gBAC7B,YAAY;gBACZ,qBAAqB;gBACrB,kBAAkB;gBAClB,+BAA+B;gBAC/B,mCAAmC;gBACnC,oCAAoC;gBACpC,cAAc;gBACd,yCAAyC;gBACzC,kBAAkB;gBAClB,qDAAqD;gBACrD,oBAAoB;gBACpB,mBAAmB;gBACnB,kBAAkB;gBAClB,EAAE;gBACF,UAAU;gBACV,WAAW;aACZ,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE;gBACP,gBAAgB;gBAChB,yBAAyB;gBACzB,iBAAiB;gBACjB,sBAAsB;gBACtB,eAAe;gBACf,oBAAoB;aACrB,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE;gBACP,6BAA6B;gBAC7B,oDAAoD;gBACpD,WAAW;gBACX,EAAE;gBACF,wCAAwC;gBACxC,EAAE;gBACF,qBAAqB;gBACrB,qBAAqB;gBACrB,kFAAkF;gBAClF,6BAA6B;gBAC7B,0BAA0B;gBAC1B,0BAA0B;gBAC1B,GAAG;gBACH,EAAE;gBACF,EAAE;gBACF,qBAAqB;gBACrB,eAAe;gBACf,6BAA6B;aAC9B,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;KACF;IACD,KAAK,EAAE;QACL;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,4CAA4C;YACrD,WAAW,EAAE,iDAAiD;YAC9D,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,SAAS,EAAE;QACT,WAAW,EAAE,kBAAkB;KAChC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Template } from "@stackweld/core";
2
+ export declare const goMicroservice: Template;
3
+ //# sourceMappingURL=go-microservice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go-microservice.d.ts","sourceRoot":"","sources":["../../src/templates/go-microservice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,cAAc,EAAE,QAkI5B,CAAC"}
@@ -0,0 +1,131 @@
1
+ export const goMicroservice = {
2
+ id: "go-microservice",
3
+ name: "Go Microservice",
4
+ description: "Lightweight Go microservice with Gin, PostgreSQL, Docker, and health checks",
5
+ technologyIds: ["go", "gin", "postgresql", "redis", "docker"],
6
+ profile: "production",
7
+ scaffoldSteps: [
8
+ {
9
+ name: "Create project directory",
10
+ command: "mkdir -p {{projectName}}/{cmd/server,internal/{handlers,models,middleware},pkg}",
11
+ },
12
+ {
13
+ name: "Initialize Go module",
14
+ command: "cd {{projectName}} && go mod init {{moduleName}}",
15
+ },
16
+ {
17
+ name: "Install dependencies",
18
+ command: "cd {{projectName}} && go get github.com/gin-gonic/gin github.com/lib/pq github.com/redis/go-redis/v9 github.com/joho/godotenv",
19
+ },
20
+ ],
21
+ overrides: [
22
+ {
23
+ path: ".env.example",
24
+ content: [
25
+ "PORT=8080",
26
+ "GIN_MODE=debug",
27
+ "DATABASE_URL=postgresql://postgres:postgres@localhost:5432/{{projectName}}",
28
+ "REDIS_URL=redis://localhost:6379/0",
29
+ ].join("\n"),
30
+ },
31
+ {
32
+ path: "docker-compose.yml",
33
+ content: [
34
+ "services:",
35
+ " db:",
36
+ " image: postgres:17",
37
+ " restart: unless-stopped",
38
+ " ports:",
39
+ ' - "5432:5432"',
40
+ " environment:",
41
+ " POSTGRES_USER: postgres",
42
+ " POSTGRES_PASSWORD: postgres",
43
+ " POSTGRES_DB: {{projectName}}",
44
+ " volumes:",
45
+ " - pgdata:/var/lib/postgresql/data",
46
+ " healthcheck:",
47
+ ' test: ["CMD-SHELL", "pg_isready -U postgres"]',
48
+ " interval: 5s",
49
+ " timeout: 5s",
50
+ " retries: 5",
51
+ "",
52
+ " redis:",
53
+ " image: redis:7-alpine",
54
+ " restart: unless-stopped",
55
+ " ports:",
56
+ ' - "6379:6379"',
57
+ " healthcheck:",
58
+ ' test: ["CMD", "redis-cli", "ping"]',
59
+ " interval: 5s",
60
+ " timeout: 5s",
61
+ " retries: 5",
62
+ "",
63
+ "volumes:",
64
+ " pgdata:",
65
+ ].join("\n"),
66
+ },
67
+ {
68
+ path: "Dockerfile",
69
+ content: [
70
+ "FROM golang:1.23-alpine AS builder",
71
+ "WORKDIR /app",
72
+ "COPY go.mod go.sum ./",
73
+ "RUN go mod download",
74
+ "COPY . .",
75
+ "RUN CGO_ENABLED=0 go build -o server ./cmd/server",
76
+ "",
77
+ "FROM alpine:3.19",
78
+ "RUN apk --no-cache add ca-certificates",
79
+ "WORKDIR /app",
80
+ "COPY --from=builder /app/server .",
81
+ "EXPOSE 8080",
82
+ 'CMD ["./server"]',
83
+ ].join("\n"),
84
+ },
85
+ {
86
+ path: "cmd/server/main.go",
87
+ content: [
88
+ "package main",
89
+ "",
90
+ "import (",
91
+ '\t"log"',
92
+ '\t"os"',
93
+ "",
94
+ '\t"github.com/gin-gonic/gin"',
95
+ '\t"github.com/joho/godotenv"',
96
+ ")",
97
+ "",
98
+ "func main() {",
99
+ "\tgodotenv.Load()",
100
+ "",
101
+ '\tport := os.Getenv("PORT")',
102
+ '\tif port == "" {',
103
+ '\t\tport = "8080"',
104
+ "\t}",
105
+ "",
106
+ "\tr := gin.Default()",
107
+ "",
108
+ '\tr.GET("/health", func(c *gin.Context) {',
109
+ '\t\tc.JSON(200, gin.H{"status": "ok"})',
110
+ "\t})",
111
+ "",
112
+ '\tlog.Fatal(r.Run(":" + port))',
113
+ "}",
114
+ ].join("\n"),
115
+ },
116
+ ],
117
+ hooks: [
118
+ {
119
+ timing: "post-scaffold",
120
+ name: "Tidy Go modules",
121
+ command: "cd {{projectName}} && go mod tidy",
122
+ description: "Clean up Go module dependencies",
123
+ requiresConfirmation: false,
124
+ },
125
+ ],
126
+ variables: {
127
+ projectName: "my-go-service",
128
+ moduleName: "github.com/user/my-go-service",
129
+ },
130
+ };
131
+ //# sourceMappingURL=go-microservice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go-microservice.js","sourceRoot":"","sources":["../../src/templates/go-microservice.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,6EAA6E;IAC1F,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC7D,OAAO,EAAE,YAAY;IACrB,aAAa,EAAE;QACb;YACE,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,iFAAiF;SAC3F;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,kDAAkD;SAC5D;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EACL,+HAA+H;SAClI;KACF;IACD,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE;gBACP,WAAW;gBACX,gBAAgB;gBAChB,4EAA4E;gBAC5E,oCAAoC;aACrC,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE;gBACP,WAAW;gBACX,OAAO;gBACP,wBAAwB;gBACxB,6BAA6B;gBAC7B,YAAY;gBACZ,qBAAqB;gBACrB,kBAAkB;gBAClB,+BAA+B;gBAC/B,mCAAmC;gBACnC,oCAAoC;gBACpC,cAAc;gBACd,yCAAyC;gBACzC,kBAAkB;gBAClB,qDAAqD;gBACrD,oBAAoB;gBACpB,mBAAmB;gBACnB,kBAAkB;gBAClB,EAAE;gBACF,UAAU;gBACV,2BAA2B;gBAC3B,6BAA6B;gBAC7B,YAAY;gBACZ,qBAAqB;gBACrB,kBAAkB;gBAClB,0CAA0C;gBAC1C,oBAAoB;gBACpB,mBAAmB;gBACnB,kBAAkB;gBAClB,EAAE;gBACF,UAAU;gBACV,WAAW;aACZ,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE;gBACP,oCAAoC;gBACpC,cAAc;gBACd,uBAAuB;gBACvB,qBAAqB;gBACrB,UAAU;gBACV,mDAAmD;gBACnD,EAAE;gBACF,kBAAkB;gBAClB,wCAAwC;gBACxC,cAAc;gBACd,mCAAmC;gBACnC,aAAa;gBACb,kBAAkB;aACnB,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE;gBACP,cAAc;gBACd,EAAE;gBACF,UAAU;gBACV,SAAS;gBACT,QAAQ;gBACR,EAAE;gBACF,8BAA8B;gBAC9B,8BAA8B;gBAC9B,GAAG;gBACH,EAAE;gBACF,eAAe;gBACf,mBAAmB;gBACnB,EAAE;gBACF,6BAA6B;gBAC7B,mBAAmB;gBACnB,mBAAmB;gBACnB,KAAK;gBACL,EAAE;gBACF,sBAAsB;gBACtB,EAAE;gBACF,2CAA2C;gBAC3C,wCAAwC;gBACxC,MAAM;gBACN,EAAE;gBACF,gCAAgC;gBAChC,GAAG;aACJ,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;KACF;IACD,KAAK,EAAE;QACL;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,mCAAmC;YAC5C,WAAW,EAAE,iCAAiC;YAC9C,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,SAAS,EAAE;QACT,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,+BAA+B;KAC5C;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Template } from "@stackweld/core";
2
+ export declare const honoMicroservice: Template;
3
+ //# sourceMappingURL=hono-microservice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hono-microservice.d.ts","sourceRoot":"","sources":["../../src/templates/hono-microservice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,gBAAgB,EAAE,QA8E9B,CAAC"}
@@ -0,0 +1,80 @@
1
+ export const honoMicroservice = {
2
+ id: "hono-microservice",
3
+ name: "Hono Microservice",
4
+ description: "Lightweight Hono microservice with Bun runtime, PostgreSQL, and Docker",
5
+ technologyIds: ["hono", "nodejs", "typescript", "postgresql", "docker"],
6
+ profile: "lightweight",
7
+ scaffoldSteps: [
8
+ {
9
+ name: "Create Hono project",
10
+ command: "npm create hono@latest {{projectName}} -- --template bun",
11
+ },
12
+ {
13
+ name: "Install database dependencies",
14
+ command: "cd {{projectName}} && bun add postgres dotenv",
15
+ },
16
+ ],
17
+ overrides: [
18
+ {
19
+ path: ".env.example",
20
+ content: [
21
+ "PORT=3000",
22
+ "DATABASE_URL=postgresql://postgres:postgres@localhost:5432/{{projectName}}",
23
+ ].join("\n"),
24
+ },
25
+ {
26
+ path: "docker-compose.yml",
27
+ content: [
28
+ "services:",
29
+ " db:",
30
+ " image: postgres:17",
31
+ " restart: unless-stopped",
32
+ " ports:",
33
+ ' - "5432:5432"',
34
+ " environment:",
35
+ " POSTGRES_USER: postgres",
36
+ " POSTGRES_PASSWORD: postgres",
37
+ " POSTGRES_DB: {{projectName}}",
38
+ " volumes:",
39
+ " - pgdata:/var/lib/postgresql/data",
40
+ " healthcheck:",
41
+ ' test: ["CMD-SHELL", "pg_isready -U postgres"]',
42
+ " interval: 5s",
43
+ " timeout: 5s",
44
+ " retries: 5",
45
+ "",
46
+ "volumes:",
47
+ " pgdata:",
48
+ ].join("\n"),
49
+ },
50
+ {
51
+ path: "Dockerfile",
52
+ content: [
53
+ "FROM oven/bun:1 AS builder",
54
+ "WORKDIR /app",
55
+ "COPY package.json bun.lockb ./",
56
+ "RUN bun install --frozen-lockfile",
57
+ "COPY . .",
58
+ "",
59
+ "FROM oven/bun:1-slim",
60
+ "WORKDIR /app",
61
+ "COPY --from=builder /app .",
62
+ "EXPOSE 3000",
63
+ 'CMD ["bun", "run", "src/index.ts"]',
64
+ ].join("\n"),
65
+ },
66
+ ],
67
+ hooks: [
68
+ {
69
+ timing: "post-scaffold",
70
+ name: "Install dependencies",
71
+ command: "cd {{projectName}} && bun install",
72
+ description: "Install all Bun dependencies",
73
+ requiresConfirmation: false,
74
+ },
75
+ ],
76
+ variables: {
77
+ projectName: "my-hono-service",
78
+ },
79
+ };
80
+ //# sourceMappingURL=hono-microservice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hono-microservice.js","sourceRoot":"","sources":["../../src/templates/hono-microservice.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAa;IACxC,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,wEAAwE;IACrF,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC;IACvE,OAAO,EAAE,aAAa;IACtB,aAAa,EAAE;QACb;YACE,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,0DAA0D;SACpE;QACD;YACE,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,+CAA+C;SACzD;KACF;IACD,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE;gBACP,WAAW;gBACX,4EAA4E;aAC7E,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE;gBACP,WAAW;gBACX,OAAO;gBACP,wBAAwB;gBACxB,6BAA6B;gBAC7B,YAAY;gBACZ,qBAAqB;gBACrB,kBAAkB;gBAClB,+BAA+B;gBAC/B,mCAAmC;gBACnC,oCAAoC;gBACpC,cAAc;gBACd,yCAAyC;gBACzC,kBAAkB;gBAClB,qDAAqD;gBACrD,oBAAoB;gBACpB,mBAAmB;gBACnB,kBAAkB;gBAClB,EAAE;gBACF,UAAU;gBACV,WAAW;aACZ,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE;gBACP,4BAA4B;gBAC5B,cAAc;gBACd,gCAAgC;gBAChC,mCAAmC;gBACnC,UAAU;gBACV,EAAE;gBACF,sBAAsB;gBACtB,cAAc;gBACd,4BAA4B;gBAC5B,aAAa;gBACb,oCAAoC;aACrC,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;KACF;IACD,KAAK,EAAE;QACL;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,mCAAmC;YAC5C,WAAW,EAAE,8BAA8B;YAC3C,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,SAAS,EAAE;QACT,WAAW,EAAE,iBAAiB;KAC/B;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Template } from "@stackweld/core";
2
+ export declare const htmxDjango: Template;
3
+ //# sourceMappingURL=htmx-django.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmx-django.d.ts","sourceRoot":"","sources":["../../src/templates/htmx-django.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,UAAU,EAAE,QAiGxB,CAAC"}
@@ -0,0 +1,96 @@
1
+ export const htmxDjango = {
2
+ id: "htmx-django",
3
+ name: "HTMX + Django",
4
+ description: "Server-rendered Django app with HTMX for interactivity, Tailwind CSS, and PostgreSQL — minimal JavaScript",
5
+ technologyIds: ["htmx", "django", "python", "postgresql", "tailwindcss"],
6
+ profile: "lightweight",
7
+ scaffoldSteps: [
8
+ {
9
+ name: "Create project directory",
10
+ command: "mkdir -p {{projectName}}",
11
+ },
12
+ {
13
+ name: "Setup Python virtual environment",
14
+ command: "python3 -m venv {{projectName}}/.venv",
15
+ },
16
+ {
17
+ name: "Install Python dependencies",
18
+ command: "{{projectName}}/.venv/bin/pip install django psycopg2-binary django-htmx python-dotenv gunicorn whitenoise",
19
+ },
20
+ {
21
+ name: "Create Django project",
22
+ command: "{{projectName}}/.venv/bin/django-admin startproject config {{projectName}}",
23
+ },
24
+ {
25
+ name: "Install Tailwind standalone CLI",
26
+ command: "cd {{projectName}} && mkdir -p static/css && curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-linux-x64 && chmod +x tailwindcss-linux-x64",
27
+ },
28
+ ],
29
+ overrides: [
30
+ {
31
+ path: ".env.example",
32
+ content: [
33
+ "DEBUG=True",
34
+ "SECRET_KEY=change-me-in-production",
35
+ "DATABASE_URL=postgresql://postgres:postgres@localhost:5432/{{projectName}}",
36
+ "ALLOWED_HOSTS=localhost,127.0.0.1",
37
+ ].join("\n"),
38
+ },
39
+ {
40
+ path: "docker-compose.yml",
41
+ content: [
42
+ "services:",
43
+ " db:",
44
+ " image: postgres:17",
45
+ " restart: unless-stopped",
46
+ " ports:",
47
+ ' - "5432:5432"',
48
+ " environment:",
49
+ " POSTGRES_USER: postgres",
50
+ " POSTGRES_PASSWORD: postgres",
51
+ " POSTGRES_DB: {{projectName}}",
52
+ " volumes:",
53
+ " - pgdata:/var/lib/postgresql/data",
54
+ " healthcheck:",
55
+ ' test: ["CMD-SHELL", "pg_isready -U postgres"]',
56
+ " interval: 5s",
57
+ " timeout: 5s",
58
+ " retries: 5",
59
+ "",
60
+ "volumes:",
61
+ " pgdata:",
62
+ ].join("\n"),
63
+ },
64
+ {
65
+ path: "requirements.txt",
66
+ content: [
67
+ "django>=5.1",
68
+ "psycopg2-binary>=2.9",
69
+ "django-htmx>=1.19",
70
+ "python-dotenv>=1.0",
71
+ "gunicorn>=22.0",
72
+ "whitenoise>=6.7",
73
+ ].join("\n"),
74
+ },
75
+ ],
76
+ hooks: [
77
+ {
78
+ timing: "post-scaffold",
79
+ name: "Run initial migrations",
80
+ command: "cd {{projectName}} && .venv/bin/python manage.py migrate",
81
+ description: "Run Django migrations (requires running PostgreSQL)",
82
+ requiresConfirmation: true,
83
+ },
84
+ {
85
+ timing: "post-scaffold",
86
+ name: "Freeze requirements",
87
+ command: "cd {{projectName}} && .venv/bin/pip freeze > requirements.lock",
88
+ description: "Generate locked requirements file",
89
+ requiresConfirmation: false,
90
+ },
91
+ ],
92
+ variables: {
93
+ projectName: "my-htmx-app",
94
+ },
95
+ };
96
+ //# sourceMappingURL=htmx-django.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmx-django.js","sourceRoot":"","sources":["../../src/templates/htmx-django.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAa;IAClC,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,2GAA2G;IAC7G,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC;IACxE,OAAO,EAAE,aAAa;IACtB,aAAa,EAAE;QACb;YACE,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,0BAA0B;SACpC;QACD;YACE,IAAI,EAAE,kCAAkC;YACxC,OAAO,EAAE,uCAAuC;SACjD;QACD;YACE,IAAI,EAAE,6BAA6B;YACnC,OAAO,EACL,4GAA4G;SAC/G;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,4EAA4E;SACtF;QACD;YACE,IAAI,EAAE,iCAAiC;YACvC,OAAO,EACL,qLAAqL;SACxL;KACF;IACD,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE;gBACP,YAAY;gBACZ,oCAAoC;gBACpC,4EAA4E;gBAC5E,mCAAmC;aACpC,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE;gBACP,WAAW;gBACX,OAAO;gBACP,wBAAwB;gBACxB,6BAA6B;gBAC7B,YAAY;gBACZ,qBAAqB;gBACrB,kBAAkB;gBAClB,+BAA+B;gBAC/B,mCAAmC;gBACnC,oCAAoC;gBACpC,cAAc;gBACd,yCAAyC;gBACzC,kBAAkB;gBAClB,qDAAqD;gBACrD,oBAAoB;gBACpB,mBAAmB;gBACnB,kBAAkB;gBAClB,EAAE;gBACF,UAAU;gBACV,WAAW;aACZ,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE;gBACP,aAAa;gBACb,sBAAsB;gBACtB,mBAAmB;gBACnB,oBAAoB;gBACpB,gBAAgB;gBAChB,iBAAiB;aAClB,CAAC,IAAI,CAAC,IAAI,CAAC;SACb;KACF;IACD,KAAK,EAAE;QACL;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,0DAA0D;YACnE,WAAW,EAAE,qDAAqD;YAClE,oBAAoB,EAAE,IAAI;SAC3B;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,gEAAgE;YACzE,WAAW,EAAE,mCAAmC;YAChD,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,SAAS,EAAE;QACT,WAAW,EAAE,aAAa;KAC3B;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Template } from "@stackweld/core";
2
+ export declare const laravelApp: Template;
3
+ //# sourceMappingURL=laravel-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"laravel-app.d.ts","sourceRoot":"","sources":["../../src/templates/laravel-app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,UAAU,EAAE,QA6FxB,CAAC"}