popeye-cli 1.9.2 → 1.9.4

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.
@@ -27,6 +27,10 @@ export declare function generateRootPackageJson(projectName: string): string;
27
27
  /**
28
28
  * Generate docker-compose.yml for "all" projects
29
29
  */
30
+ /**
31
+ * Generate docker-compose.yml for "all" projects (FE + BE only).
32
+ * Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
33
+ */
30
34
  export declare function generateAllDockerCompose(projectName: string): string;
31
35
  /**
32
36
  * Generate design tokens package
@@ -1 +1 @@
1
- {"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/generators/all.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAMlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sEAAsE;IACtE,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAuBD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAmFpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA4BnE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAmDpE;AA4HD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,iBAAiB,GAC9B;IACD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,CAEA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG;IACtD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,CAEA;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAsI3B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA2ChE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC,CAqCD"}
1
+ {"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/generators/all.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAMlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sEAAsE;IACtE,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAuBD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA+EpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA4BnE;AAED;;GAEG;AACH;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAoCpE;AA4HD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,iBAAiB,GAC9B;IACD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,CAEA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG;IACtD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,CAEA;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAsI3B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA2ChE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC,CAqCD"}
@@ -85,11 +85,7 @@ export function generateAllWorkspaceJson(projectName) {
85
85
  dev: 'npm run dev',
86
86
  typecheck: 'npm run typecheck',
87
87
  },
88
- docker: {
89
- dockerfile: 'apps/website/Dockerfile',
90
- imageName: `${projectName}-website`,
91
- context: 'apps/website',
92
- },
88
+ // No docker — website runs outside Docker (npm run dev / npm start)
93
89
  dependsOn: ['packages/design-tokens'],
94
90
  contextRoots: ['apps/website/src'],
95
91
  },
@@ -141,10 +137,12 @@ export function generateRootPackageJson(projectName) {
141
137
  /**
142
138
  * Generate docker-compose.yml for "all" projects
143
139
  */
140
+ /**
141
+ * Generate docker-compose.yml for "all" projects (FE + BE only).
142
+ * Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
143
+ */
144
144
  export function generateAllDockerCompose(projectName) {
145
- return `version: '3.8'
146
-
147
- services:
145
+ return `services:
148
146
  frontend:
149
147
  build:
150
148
  context: apps/frontend
@@ -167,24 +165,11 @@ services:
167
165
  environment:
168
166
  - DEBUG=false
169
167
  - FRONTEND_URL=http://frontend:80
170
- - WEBSITE_URL=http://website:3000
171
168
  volumes:
172
169
  - backend-data:/app/data
173
170
  networks:
174
171
  - ${projectName}-network
175
172
 
176
- website:
177
- build:
178
- context: apps/website
179
- dockerfile: Dockerfile
180
- ports:
181
- - "3001:3000"
182
- environment:
183
- - NODE_ENV=production
184
- - NEXT_PUBLIC_APP_URL=http://localhost:3000
185
- networks:
186
- - ${projectName}-network
187
-
188
173
  networks:
189
174
  ${projectName}-network:
190
175
  driver: bridge
@@ -379,7 +364,7 @@ export async function generateAllProject(spec, outputDir, options = {}) {
379
364
  const websiteResult = await generateWebsiteProject(spec, projectDir, {
380
365
  baseDir: path.join(projectDir, 'apps', 'website'),
381
366
  workspaceMode: true,
382
- skipDocker: false, // Website needs its own Dockerfile
367
+ skipDocker: true, // Website runs outside Docker (npm run dev / npm start)
383
368
  skipReadme: false,
384
369
  contentContext: contentContext,
385
370
  });
@@ -423,7 +408,7 @@ export async function generateAllProject(spec, outputDir, options = {}) {
423
408
  path: path.join(projectDir, '.popeye', 'workspace.json'),
424
409
  content: generateAllWorkspaceJson(projectName),
425
410
  },
426
- // Docker compose (override to include website + postgres)
411
+ // Docker compose (FE + BE + postgres; website runs outside Docker)
427
412
  {
428
413
  path: path.join(projectDir, 'docker-compose.yml'),
429
414
  content: generateAllDockerComposeWithDb(projectName),
@@ -1 +1 @@
1
- {"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/generators/all.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/generators/all.ts"],"names":[],"mappings":"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"}
@@ -70,16 +70,16 @@ export async function generateFullstackProject(spec, outputDir) {
70
70
  // Docker
71
71
  {
72
72
  path: path.join(projectDir, 'infra', 'docker', 'docker-compose.yml'),
73
- content: generateDockerComposeWithDb(projectName),
73
+ content: generateDockerComposeWithDb(projectName, packageName),
74
74
  },
75
75
  {
76
76
  path: path.join(projectDir, 'docker-compose.yml'),
77
- content: generateDockerComposeWithDb(projectName),
77
+ content: generateDockerComposeWithDb(projectName, packageName),
78
78
  },
79
79
  // Documentation
80
80
  {
81
81
  path: path.join(projectDir, 'README.md'),
82
- content: generateRootReadme(projectName, spec.idea),
82
+ content: generateRootReadme(projectName, spec.idea, packageName),
83
83
  },
84
84
  {
85
85
  path: path.join(projectDir, '.gitignore'),
@@ -228,7 +228,7 @@ export async function generateFullstackProject(spec, outputDir) {
228
228
  },
229
229
  {
230
230
  path: path.join(backendDir, 'tests', 'conftest.py'),
231
- content: generateConftest(),
231
+ content: generateConftest(packageName),
232
232
  },
233
233
  {
234
234
  path: path.join(backendDir, 'tests', 'test_main.py'),
@@ -242,7 +242,7 @@ export async function generateFullstackProject(spec, outputDir) {
242
242
  // Documentation
243
243
  {
244
244
  path: path.join(backendDir, 'README.md'),
245
- content: generateBackendReadme(projectName),
245
+ content: generateBackendReadme(projectName, packageName),
246
246
  },
247
247
  // Environment
248
248
  {
@@ -303,7 +303,7 @@ license = {text = "MIT"}
303
303
  dependencies = [
304
304
  "fastapi>=0.109.0",
305
305
  "uvicorn[standard]>=0.27.0",
306
- "pydantic>=2.5.0",
306
+ "pydantic[email]>=2.5.0",
307
307
  "pydantic-settings>=2.1.0",
308
308
  ]
309
309
 
@@ -334,7 +334,7 @@ select = ["E", "F", "I", "N", "W"]
334
334
  /**
335
335
  * Generate conftest.py for backend tests
336
336
  */
337
- function generateConftest() {
337
+ function generateConftest(packageName) {
338
338
  return `"""
339
339
  Test configuration and fixtures.
340
340
  """
@@ -353,7 +353,7 @@ def anyio_backend():
353
353
  @pytest.fixture
354
354
  async def client():
355
355
  """Create async test client."""
356
- from src.backend.main import app
356
+ from src.${packageName}.main import app
357
357
 
358
358
  transport = ASGITransport(app=app)
359
359
  async with AsyncClient(transport=transport, base_url="http://test") as client:
@@ -1 +1 @@
1
- {"version":3,"file":"fullstack.js","sourceRoot":"","sources":["../../src/generators/fullstack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fullstack.js","sourceRoot":"","sources":["../../src/generators/fullstack.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,10 @@ export declare function generatePostgresServiceYaml(projectName: string): string
11
11
  * Preserves all 4 existing services (frontend, backend, frontend-dev, backend-dev)
12
12
  * and adds postgres service with proper depends_on
13
13
  */
14
- export declare function generateDockerComposeWithDb(projectName: string): string;
14
+ export declare function generateDockerComposeWithDb(projectName: string, packageName?: string): string;
15
15
  /**
16
- * Generate full docker-compose.yml for "all" projects (FE + BE + Website + Postgres)
16
+ * Generate full docker-compose.yml for "all" projects (FE + BE + Postgres)
17
+ * Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
17
18
  */
18
19
  export declare function generateAllDockerComposeWithDb(projectName: string): string;
19
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"database-docker.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/database-docker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAkBvE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAwFvE;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA8E1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiBhE"}
1
+ {"version":3,"file":"database-docker.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/database-docker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAkBvE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAyF7F;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA+D1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiBhE"}
@@ -29,7 +29,8 @@ export function generatePostgresServiceYaml(projectName) {
29
29
  * Preserves all 4 existing services (frontend, backend, frontend-dev, backend-dev)
30
30
  * and adds postgres service with proper depends_on
31
31
  */
32
- export function generateDockerComposeWithDb(projectName) {
32
+ export function generateDockerComposeWithDb(projectName, packageName) {
33
+ const pyPkg = packageName || projectName.replace(/-/g, '_');
33
34
  const dbName = projectName.replace(/-/g, '_') + '_db';
34
35
  return `version: "3.8"
35
36
 
@@ -107,7 +108,7 @@ services:
107
108
  - ./apps/backend/tests:/app/tests
108
109
  environment:
109
110
  - DATABASE_URL=postgresql+asyncpg://postgres:postgres@postgres:5432/${dbName}
110
- command: ["uvicorn", "src.backend.main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]
111
+ command: ["uvicorn", "src.${pyPkg}.main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]
111
112
  depends_on:
112
113
  postgres:
113
114
  condition: service_healthy
@@ -118,13 +119,12 @@ volumes:
118
119
  `;
119
120
  }
120
121
  /**
121
- * Generate full docker-compose.yml for "all" projects (FE + BE + Website + Postgres)
122
+ * Generate full docker-compose.yml for "all" projects (FE + BE + Postgres)
123
+ * Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
122
124
  */
123
125
  export function generateAllDockerComposeWithDb(projectName) {
124
126
  const dbName = projectName.replace(/-/g, '_') + '_db';
125
- return `version: '3.8'
126
-
127
- services:
127
+ return `services:
128
128
  frontend:
129
129
  build:
130
130
  context: apps/frontend
@@ -147,7 +147,6 @@ services:
147
147
  environment:
148
148
  - DEBUG=false
149
149
  - FRONTEND_URL=http://frontend:80
150
- - WEBSITE_URL=http://website:3000
151
150
  - DATABASE_URL=postgresql+asyncpg://postgres:postgres@postgres:5432/${dbName}
152
151
  volumes:
153
152
  - backend-data:/app/data
@@ -157,18 +156,6 @@ services:
157
156
  networks:
158
157
  - ${projectName}-network
159
158
 
160
- website:
161
- build:
162
- context: apps/website
163
- dockerfile: Dockerfile
164
- ports:
165
- - "3001:3000"
166
- environment:
167
- - NODE_ENV=production
168
- - NEXT_PUBLIC_APP_URL=http://localhost:3000
169
- networks:
170
- - ${projectName}-network
171
-
172
159
  postgres:
173
160
  image: postgres:16-alpine
174
161
  container_name: ${projectName}-postgres
@@ -1 +1 @@
1
- {"version":3,"file":"database-docker.js","sourceRoot":"","sources":["../../../src/generators/templates/database-docker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,OAAO;;sBAEa,WAAW;;;;;sBAKX,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;;;;;;;;iBASnC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAEtD,OAAO;;;;;;;sBAOa,WAAW;;;;;;;;;;;;sBAYX,WAAW;;;;;;;4EAO2C,MAAM;;;;;;;;;sBAS5D,WAAW;;;;;sBAKX,MAAM;;;;;;;;;;;;;;;sBAeN,WAAW;;;;;;;;;;;;;sBAaX,WAAW;;;;;;;4EAO2C,MAAM;;;;;;;;;CASjF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAEtD,OAAO;;;;;;;;;;;;;;UAcC,WAAW;;;;;;;;;;;;4EAYuD,MAAM;;;;;;;UAOxE,WAAW;;;;;;;;;;;;UAYX,WAAW;;;;sBAIC,WAAW;;;;;sBAKX,MAAM;;;;;;;;;;;UAWlB,WAAW;;;IAGjB,WAAW;;;;;;CAMd,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAEtD,OAAO;;;qEAG4D,MAAM;;;cAG7D,MAAM;;;;;;;CAOnB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"database-docker.js","sourceRoot":"","sources":["../../../src/generators/templates/database-docker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,OAAO;;sBAEa,WAAW;;;;;sBAKX,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;;;;;;;;iBASnC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB,EAAE,WAAoB;IACnF,MAAM,KAAK,GAAG,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAEtD,OAAO;;;;;;;sBAOa,WAAW;;;;;;;;;;;;sBAYX,WAAW;;;;;;;4EAO2C,MAAM;;;;;;;;;sBAS5D,WAAW;;;;;sBAKX,MAAM;;;;;;;;;;;;;;;sBAeN,WAAW;;;;;;;;;;;;;sBAaX,WAAW;;;;;;;4EAO2C,MAAM;gCAClD,KAAK;;;;;;;;CAQpC,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAEtD,OAAO;;;;;;;;;;;;UAYC,WAAW;;;;;;;;;;;4EAWuD,MAAM;;;;;;;UAOxE,WAAW;;;;sBAIC,WAAW;;;;;sBAKX,MAAM;;;;;;;;;;;UAWlB,WAAW;;;IAGjB,WAAW;;;;;;CAMd,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAEtD,OAAO;;;qEAG4D,MAAM;;;cAG7D,MAAM;;;;;;;CAOnB,CAAC;AACF,CAAC"}
@@ -9,7 +9,7 @@ import type { WorkspaceConfig } from '../../types/project.js';
9
9
  * @param projectName - The project name
10
10
  * @returns Workspace configuration object
11
11
  */
12
- export declare function generateWorkspaceConfig(projectName: string): WorkspaceConfig;
12
+ export declare function generateWorkspaceConfig(projectName: string, packageName?: string): WorkspaceConfig;
13
13
  /**
14
14
  * Generate workspace.json file content as string
15
15
  */
@@ -17,11 +17,11 @@ export declare function generateWorkspaceJson(projectName: string): string;
17
17
  /**
18
18
  * Generate root docker-compose.yml for fullstack project
19
19
  */
20
- export declare function generateRootDockerCompose(projectName: string): string;
20
+ export declare function generateRootDockerCompose(projectName: string, packageName?: string): string;
21
21
  /**
22
22
  * Generate root README.md for fullstack project
23
23
  */
24
- export declare function generateRootReadme(projectName: string, description?: string): string;
24
+ export declare function generateRootReadme(projectName: string, description?: string, packageName?: string): string;
25
25
  /**
26
26
  * Generate root .gitignore for fullstack project
27
27
  */
@@ -33,7 +33,7 @@ export declare function generateFrontendReadme(projectName: string): string;
33
33
  /**
34
34
  * Generate backend-specific README for fullstack project
35
35
  */
36
- export declare function generateBackendReadme(projectName: string): string;
36
+ export declare function generateBackendReadme(projectName: string, packageName?: string): string;
37
37
  /**
38
38
  * Generate UI spec placeholder for fullstack project
39
39
  */
@@ -105,7 +105,7 @@ export declare function generateFastAPIMain(projectName: string): string;
105
105
  /**
106
106
  * Generate backend Dockerfile for FastAPI
107
107
  */
108
- export declare function generateBackendDockerfile(_projectName: string): string;
108
+ export declare function generateBackendDockerfile(projectName: string): string;
109
109
  /**
110
110
  * Generate backend requirements.txt for FastAPI
111
111
  */
@@ -1 +1 @@
1
- {"version":3,"file":"fullstack.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/fullstack.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAmD5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAyDrE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CA0KpF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAoD9C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAoDlE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA6DjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA4B1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CA4BhD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CA4B/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAQ9C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAUxC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAkE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAYxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAe7D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA0CvE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CA6BjD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAgBrD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAkCnD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CA6B5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiBhE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAkBrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAgE/D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA+BtE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAapD"}
1
+ {"version":3,"file":"fullstack.d.ts","sourceRoot":"","sources":["../../../src/generators/templates/fullstack.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,CAoDlG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CA0D3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CA2K1G;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAoD9C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAoDlE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CA8DvF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA4B1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CA4BhD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CA4B/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAQ9C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAUxC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAkE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAYxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAe7D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA0CvE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CA6BjD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAgBrD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAkCnD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CA6B5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAiBhE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAkBrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAgE/D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAgCrE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAapD"}
@@ -8,7 +8,8 @@
8
8
  * @param projectName - The project name
9
9
  * @returns Workspace configuration object
10
10
  */
11
- export function generateWorkspaceConfig(projectName) {
11
+ export function generateWorkspaceConfig(projectName, packageName) {
12
+ const pyPkg = packageName || projectName.replace(/-/g, '_');
12
13
  return {
13
14
  version: '1.0',
14
15
  apps: {
@@ -38,14 +39,14 @@ export function generateWorkspaceConfig(projectName) {
38
39
  test: 'python -m pytest tests/ -v',
39
40
  lint: 'ruff check src/ tests/',
40
41
  build: 'pip install -e .',
41
- dev: 'uvicorn src.backend.main:app --reload --port 8000',
42
+ dev: `uvicorn src.${pyPkg}.main:app --reload --port 8000`,
42
43
  },
43
44
  docker: {
44
45
  dockerfile: 'apps/backend/Dockerfile',
45
46
  imageName: `${projectName}-backend`,
46
47
  context: 'apps/backend',
47
48
  },
48
- contextRoots: ['src/backend', 'tests'],
49
+ contextRoots: [`src/${pyPkg}`, 'tests'],
49
50
  },
50
51
  },
51
52
  commands: {
@@ -70,7 +71,8 @@ export function generateWorkspaceJson(projectName) {
70
71
  /**
71
72
  * Generate root docker-compose.yml for fullstack project
72
73
  */
73
- export function generateRootDockerCompose(projectName) {
74
+ export function generateRootDockerCompose(projectName, packageName) {
75
+ const pyPkg = packageName || projectName.replace(/-/g, '_');
74
76
  return `version: "3.8"
75
77
 
76
78
  services:
@@ -122,7 +124,7 @@ services:
122
124
  volumes:
123
125
  - ./apps/backend/src:/app/src
124
126
  - ./apps/backend/tests:/app/tests
125
- command: ["uvicorn", "src.backend.main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]
127
+ command: ["uvicorn", "src.${pyPkg}.main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]
126
128
 
127
129
  volumes:
128
130
  backend-data:
@@ -131,7 +133,8 @@ volumes:
131
133
  /**
132
134
  * Generate root README.md for fullstack project
133
135
  */
134
- export function generateRootReadme(projectName, description) {
136
+ export function generateRootReadme(projectName, description, packageName) {
137
+ const pyPkg = packageName || projectName.replace(/-/g, '_');
135
138
  return `# ${projectName}
136
139
 
137
140
  ${description || 'A fullstack application with React frontend and FastAPI backend.'}
@@ -165,7 +168,7 @@ docker-compose up frontend-dev backend-dev
165
168
  # Terminal 1 - Backend
166
169
  cd apps/backend
167
170
  pip install -e .
168
- uvicorn src.backend.main:app --reload --port 8000
171
+ uvicorn src.${pyPkg}.main:app --reload --port 8000
169
172
 
170
173
  # Terminal 2 - Frontend
171
174
  cd apps/frontend
@@ -417,7 +420,8 @@ npm run test:coverage # With coverage
417
420
  /**
418
421
  * Generate backend-specific README for fullstack project
419
422
  */
420
- export function generateBackendReadme(projectName) {
423
+ export function generateBackendReadme(projectName, packageName) {
424
+ const pyPkg = packageName || projectName.replace(/-/g, '_');
421
425
  return `# ${projectName} - Backend
422
426
 
423
427
  FastAPI backend application.
@@ -429,7 +433,7 @@ FastAPI backend application.
429
433
  pip install -e .
430
434
 
431
435
  # Run development server
432
- uvicorn src.backend.main:app --reload --port 8000
436
+ uvicorn src.${pyPkg}.main:app --reload --port 8000
433
437
  \`\`\`
434
438
 
435
439
  ## Scripts (Makefile)
@@ -799,7 +803,7 @@ FROM node:20-slim as build
799
803
  WORKDIR /app
800
804
 
801
805
  COPY package*.json ./
802
- RUN npm ci
806
+ RUN if [ -f package-lock.json ]; then npm ci; else npm install; fi
803
807
 
804
808
  COPY . .
805
809
  RUN npm run build
@@ -819,7 +823,7 @@ FROM node:20-slim as development
819
823
  WORKDIR /app
820
824
 
821
825
  COPY package*.json ./
822
- RUN npm ci
826
+ RUN if [ -f package-lock.json ]; then npm ci; else npm install; fi
823
827
 
824
828
  COPY . .
825
829
 
@@ -981,7 +985,8 @@ if __name__ == "__main__":
981
985
  /**
982
986
  * Generate backend Dockerfile for FastAPI
983
987
  */
984
- export function generateBackendDockerfile(_projectName) {
988
+ export function generateBackendDockerfile(projectName) {
989
+ const pyPkg = projectName.replace(/-/g, '_');
985
990
  return `# Python base image
986
991
  FROM python:3.11-slim
987
992
 
@@ -1010,7 +1015,7 @@ USER appuser
1010
1015
 
1011
1016
  EXPOSE 8000
1012
1017
 
1013
- CMD ["uvicorn", "src.backend.main:app", "--host", "0.0.0.0", "--port", "8000"]
1018
+ CMD ["uvicorn", "${pyPkg}.main:app", "--host", "0.0.0.0", "--port", "8000"]
1014
1019
  `;
1015
1020
  }
1016
1021
  /**
@@ -1020,7 +1025,7 @@ export function generateFastAPIRequirements() {
1020
1025
  return `# FastAPI and dependencies
1021
1026
  fastapi>=0.109.0
1022
1027
  uvicorn[standard]>=0.27.0
1023
- pydantic>=2.5.0
1028
+ pydantic[email]>=2.5.0
1024
1029
  pydantic-settings>=2.1.0
1025
1030
 
1026
1031
  # Development
@@ -1 +1 @@
1
- {"version":3,"file":"fullstack.js","sourceRoot":"","sources":["../../../src/generators/templates/fullstack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fullstack.js","sourceRoot":"","sources":["../../../src/generators/templates/fullstack.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "popeye-cli",
3
- "version": "1.9.2",
3
+ "version": "1.9.4",
4
4
  "description": "Fully autonomous code generation tool powered by Claude CLI and OpenAI consensus",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
@@ -109,11 +109,7 @@ export function generateAllWorkspaceJson(projectName: string): string {
109
109
  dev: 'npm run dev',
110
110
  typecheck: 'npm run typecheck',
111
111
  },
112
- docker: {
113
- dockerfile: 'apps/website/Dockerfile',
114
- imageName: `${projectName}-website`,
115
- context: 'apps/website',
116
- },
112
+ // No docker — website runs outside Docker (npm run dev / npm start)
117
113
  dependsOn: ['packages/design-tokens'],
118
114
  contextRoots: ['apps/website/src'],
119
115
  },
@@ -176,10 +172,12 @@ export function generateRootPackageJson(projectName: string): string {
176
172
  /**
177
173
  * Generate docker-compose.yml for "all" projects
178
174
  */
175
+ /**
176
+ * Generate docker-compose.yml for "all" projects (FE + BE only).
177
+ * Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
178
+ */
179
179
  export function generateAllDockerCompose(projectName: string): string {
180
- return `version: '3.8'
181
-
182
- services:
180
+ return `services:
183
181
  frontend:
184
182
  build:
185
183
  context: apps/frontend
@@ -202,24 +200,11 @@ services:
202
200
  environment:
203
201
  - DEBUG=false
204
202
  - FRONTEND_URL=http://frontend:80
205
- - WEBSITE_URL=http://website:3000
206
203
  volumes:
207
204
  - backend-data:/app/data
208
205
  networks:
209
206
  - ${projectName}-network
210
207
 
211
- website:
212
- build:
213
- context: apps/website
214
- dockerfile: Dockerfile
215
- ports:
216
- - "3001:3000"
217
- environment:
218
- - NODE_ENV=production
219
- - NEXT_PUBLIC_APP_URL=http://localhost:3000
220
- networks:
221
- - ${projectName}-network
222
-
223
208
  networks:
224
209
  ${projectName}-network:
225
210
  driver: bridge
@@ -434,7 +419,7 @@ export async function generateAllProject(
434
419
  const websiteResult = await generateWebsiteProject(spec, projectDir, {
435
420
  baseDir: path.join(projectDir, 'apps', 'website'),
436
421
  workspaceMode: true,
437
- skipDocker: false, // Website needs its own Dockerfile
422
+ skipDocker: true, // Website runs outside Docker (npm run dev / npm start)
438
423
  skipReadme: false,
439
424
  contentContext: contentContext,
440
425
  });
@@ -482,7 +467,7 @@ export async function generateAllProject(
482
467
  path: path.join(projectDir, '.popeye', 'workspace.json'),
483
468
  content: generateAllWorkspaceJson(projectName),
484
469
  },
485
- // Docker compose (override to include website + postgres)
470
+ // Docker compose (FE + BE + postgres; website runs outside Docker)
486
471
  {
487
472
  path: path.join(projectDir, 'docker-compose.yml'),
488
473
  content: generateAllDockerComposeWithDb(projectName),
@@ -115,16 +115,16 @@ export async function generateFullstackProject(
115
115
  // Docker
116
116
  {
117
117
  path: path.join(projectDir, 'infra', 'docker', 'docker-compose.yml'),
118
- content: generateDockerComposeWithDb(projectName),
118
+ content: generateDockerComposeWithDb(projectName, packageName),
119
119
  },
120
120
  {
121
121
  path: path.join(projectDir, 'docker-compose.yml'),
122
- content: generateDockerComposeWithDb(projectName),
122
+ content: generateDockerComposeWithDb(projectName, packageName),
123
123
  },
124
124
  // Documentation
125
125
  {
126
126
  path: path.join(projectDir, 'README.md'),
127
- content: generateRootReadme(projectName, spec.idea),
127
+ content: generateRootReadme(projectName, spec.idea, packageName),
128
128
  },
129
129
  {
130
130
  path: path.join(projectDir, '.gitignore'),
@@ -277,7 +277,7 @@ export async function generateFullstackProject(
277
277
  },
278
278
  {
279
279
  path: path.join(backendDir, 'tests', 'conftest.py'),
280
- content: generateConftest(),
280
+ content: generateConftest(packageName),
281
281
  },
282
282
  {
283
283
  path: path.join(backendDir, 'tests', 'test_main.py'),
@@ -291,7 +291,7 @@ export async function generateFullstackProject(
291
291
  // Documentation
292
292
  {
293
293
  path: path.join(backendDir, 'README.md'),
294
- content: generateBackendReadme(projectName),
294
+ content: generateBackendReadme(projectName, packageName),
295
295
  },
296
296
  // Environment
297
297
  {
@@ -358,7 +358,7 @@ license = {text = "MIT"}
358
358
  dependencies = [
359
359
  "fastapi>=0.109.0",
360
360
  "uvicorn[standard]>=0.27.0",
361
- "pydantic>=2.5.0",
361
+ "pydantic[email]>=2.5.0",
362
362
  "pydantic-settings>=2.1.0",
363
363
  ]
364
364
 
@@ -390,7 +390,7 @@ select = ["E", "F", "I", "N", "W"]
390
390
  /**
391
391
  * Generate conftest.py for backend tests
392
392
  */
393
- function generateConftest(): string {
393
+ function generateConftest(packageName: string): string {
394
394
  return `"""
395
395
  Test configuration and fixtures.
396
396
  """
@@ -409,7 +409,7 @@ def anyio_backend():
409
409
  @pytest.fixture
410
410
  async def client():
411
411
  """Create async test client."""
412
- from src.backend.main import app
412
+ from src.${packageName}.main import app
413
413
 
414
414
  transport = ASGITransport(app=app)
415
415
  async with AsyncClient(transport=transport, base_url="http://test") as client:
@@ -31,7 +31,8 @@ export function generatePostgresServiceYaml(projectName: string): string {
31
31
  * Preserves all 4 existing services (frontend, backend, frontend-dev, backend-dev)
32
32
  * and adds postgres service with proper depends_on
33
33
  */
34
- export function generateDockerComposeWithDb(projectName: string): string {
34
+ export function generateDockerComposeWithDb(projectName: string, packageName?: string): string {
35
+ const pyPkg = packageName || projectName.replace(/-/g, '_');
35
36
  const dbName = projectName.replace(/-/g, '_') + '_db';
36
37
 
37
38
  return `version: "3.8"
@@ -110,7 +111,7 @@ services:
110
111
  - ./apps/backend/tests:/app/tests
111
112
  environment:
112
113
  - DATABASE_URL=postgresql+asyncpg://postgres:postgres@postgres:5432/${dbName}
113
- command: ["uvicorn", "src.backend.main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]
114
+ command: ["uvicorn", "src.${pyPkg}.main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]
114
115
  depends_on:
115
116
  postgres:
116
117
  condition: service_healthy
@@ -122,14 +123,13 @@ volumes:
122
123
  }
123
124
 
124
125
  /**
125
- * Generate full docker-compose.yml for "all" projects (FE + BE + Website + Postgres)
126
+ * Generate full docker-compose.yml for "all" projects (FE + BE + Postgres)
127
+ * Website runs via `npm run dev` / `npm run build && npm start` outside Docker.
126
128
  */
127
129
  export function generateAllDockerComposeWithDb(projectName: string): string {
128
130
  const dbName = projectName.replace(/-/g, '_') + '_db';
129
131
 
130
- return `version: '3.8'
131
-
132
- services:
132
+ return `services:
133
133
  frontend:
134
134
  build:
135
135
  context: apps/frontend
@@ -152,7 +152,6 @@ services:
152
152
  environment:
153
153
  - DEBUG=false
154
154
  - FRONTEND_URL=http://frontend:80
155
- - WEBSITE_URL=http://website:3000
156
155
  - DATABASE_URL=postgresql+asyncpg://postgres:postgres@postgres:5432/${dbName}
157
156
  volumes:
158
157
  - backend-data:/app/data
@@ -162,18 +161,6 @@ services:
162
161
  networks:
163
162
  - ${projectName}-network
164
163
 
165
- website:
166
- build:
167
- context: apps/website
168
- dockerfile: Dockerfile
169
- ports:
170
- - "3001:3000"
171
- environment:
172
- - NODE_ENV=production
173
- - NEXT_PUBLIC_APP_URL=http://localhost:3000
174
- networks:
175
- - ${projectName}-network
176
-
177
164
  postgres:
178
165
  image: postgres:16-alpine
179
166
  container_name: ${projectName}-postgres
@@ -11,7 +11,8 @@ import type { WorkspaceConfig } from '../../types/project.js';
11
11
  * @param projectName - The project name
12
12
  * @returns Workspace configuration object
13
13
  */
14
- export function generateWorkspaceConfig(projectName: string): WorkspaceConfig {
14
+ export function generateWorkspaceConfig(projectName: string, packageName?: string): WorkspaceConfig {
15
+ const pyPkg = packageName || projectName.replace(/-/g, '_');
15
16
  return {
16
17
  version: '1.0',
17
18
  apps: {
@@ -41,14 +42,14 @@ export function generateWorkspaceConfig(projectName: string): WorkspaceConfig {
41
42
  test: 'python -m pytest tests/ -v',
42
43
  lint: 'ruff check src/ tests/',
43
44
  build: 'pip install -e .',
44
- dev: 'uvicorn src.backend.main:app --reload --port 8000',
45
+ dev: `uvicorn src.${pyPkg}.main:app --reload --port 8000`,
45
46
  },
46
47
  docker: {
47
48
  dockerfile: 'apps/backend/Dockerfile',
48
49
  imageName: `${projectName}-backend`,
49
50
  context: 'apps/backend',
50
51
  },
51
- contextRoots: ['src/backend', 'tests'],
52
+ contextRoots: [`src/${pyPkg}`, 'tests'],
52
53
  },
53
54
  },
54
55
  commands: {
@@ -75,7 +76,8 @@ export function generateWorkspaceJson(projectName: string): string {
75
76
  /**
76
77
  * Generate root docker-compose.yml for fullstack project
77
78
  */
78
- export function generateRootDockerCompose(projectName: string): string {
79
+ export function generateRootDockerCompose(projectName: string, packageName?: string): string {
80
+ const pyPkg = packageName || projectName.replace(/-/g, '_');
79
81
  return `version: "3.8"
80
82
 
81
83
  services:
@@ -127,7 +129,7 @@ services:
127
129
  volumes:
128
130
  - ./apps/backend/src:/app/src
129
131
  - ./apps/backend/tests:/app/tests
130
- command: ["uvicorn", "src.backend.main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]
132
+ command: ["uvicorn", "src.${pyPkg}.main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]
131
133
 
132
134
  volumes:
133
135
  backend-data:
@@ -137,7 +139,8 @@ volumes:
137
139
  /**
138
140
  * Generate root README.md for fullstack project
139
141
  */
140
- export function generateRootReadme(projectName: string, description?: string): string {
142
+ export function generateRootReadme(projectName: string, description?: string, packageName?: string): string {
143
+ const pyPkg = packageName || projectName.replace(/-/g, '_');
141
144
  return `# ${projectName}
142
145
 
143
146
  ${description || 'A fullstack application with React frontend and FastAPI backend.'}
@@ -171,7 +174,7 @@ docker-compose up frontend-dev backend-dev
171
174
  # Terminal 1 - Backend
172
175
  cd apps/backend
173
176
  pip install -e .
174
- uvicorn src.backend.main:app --reload --port 8000
177
+ uvicorn src.${pyPkg}.main:app --reload --port 8000
175
178
 
176
179
  # Terminal 2 - Frontend
177
180
  cd apps/frontend
@@ -426,7 +429,8 @@ npm run test:coverage # With coverage
426
429
  /**
427
430
  * Generate backend-specific README for fullstack project
428
431
  */
429
- export function generateBackendReadme(projectName: string): string {
432
+ export function generateBackendReadme(projectName: string, packageName?: string): string {
433
+ const pyPkg = packageName || projectName.replace(/-/g, '_');
430
434
  return `# ${projectName} - Backend
431
435
 
432
436
  FastAPI backend application.
@@ -438,7 +442,7 @@ FastAPI backend application.
438
442
  pip install -e .
439
443
 
440
444
  # Run development server
441
- uvicorn src.backend.main:app --reload --port 8000
445
+ uvicorn src.${pyPkg}.main:app --reload --port 8000
442
446
  \`\`\`
443
447
 
444
448
  ## Scripts (Makefile)
@@ -836,7 +840,7 @@ FROM node:20-slim as build
836
840
  WORKDIR /app
837
841
 
838
842
  COPY package*.json ./
839
- RUN npm ci
843
+ RUN if [ -f package-lock.json ]; then npm ci; else npm install; fi
840
844
 
841
845
  COPY . .
842
846
  RUN npm run build
@@ -856,7 +860,7 @@ FROM node:20-slim as development
856
860
  WORKDIR /app
857
861
 
858
862
  COPY package*.json ./
859
- RUN npm ci
863
+ RUN if [ -f package-lock.json ]; then npm ci; else npm install; fi
860
864
 
861
865
  COPY . .
862
866
 
@@ -1024,7 +1028,8 @@ if __name__ == "__main__":
1024
1028
  /**
1025
1029
  * Generate backend Dockerfile for FastAPI
1026
1030
  */
1027
- export function generateBackendDockerfile(_projectName: string): string {
1031
+ export function generateBackendDockerfile(projectName: string): string {
1032
+ const pyPkg = projectName.replace(/-/g, '_');
1028
1033
  return `# Python base image
1029
1034
  FROM python:3.11-slim
1030
1035
 
@@ -1053,7 +1058,7 @@ USER appuser
1053
1058
 
1054
1059
  EXPOSE 8000
1055
1060
 
1056
- CMD ["uvicorn", "src.backend.main:app", "--host", "0.0.0.0", "--port", "8000"]
1061
+ CMD ["uvicorn", "${pyPkg}.main:app", "--host", "0.0.0.0", "--port", "8000"]
1057
1062
  `;
1058
1063
  }
1059
1064
 
@@ -1064,7 +1069,7 @@ export function generateFastAPIRequirements(): string {
1064
1069
  return `# FastAPI and dependencies
1065
1070
  fastapi>=0.109.0
1066
1071
  uvicorn[standard]>=0.27.0
1067
- pydantic>=2.5.0
1072
+ pydantic[email]>=2.5.0
1068
1073
  pydantic-settings>=2.1.0
1069
1074
 
1070
1075
  # Development
@@ -299,12 +299,13 @@ describe('generateDockerComposeWithDb', () => {
299
299
  });
300
300
 
301
301
  describe('generateAllDockerComposeWithDb', () => {
302
- it('should include postgres, frontend, backend, and website services', () => {
302
+ it('should include postgres, frontend, and backend services (no website)', () => {
303
303
  const result = generateAllDockerComposeWithDb(TEST_PROJECT);
304
304
  expect(result).toContain('postgres:');
305
305
  expect(result).toContain('frontend:');
306
306
  expect(result).toContain('backend:');
307
- expect(result).toContain('website:');
307
+ // Website runs outside Docker (npm run dev / npm start)
308
+ expect(result).not.toContain('website:');
308
309
  });
309
310
 
310
311
  it('should have backend depends_on postgres with healthy condition', () => {
@@ -328,11 +328,12 @@ describe('Docker Compose: Fullstack service wiring', () => {
328
328
  describe('Docker Compose: All project service wiring', () => {
329
329
  const compose = generateAllDockerComposeWithDb(TEST_PROJECT);
330
330
 
331
- it('should include frontend, backend, website, and postgres services', () => {
331
+ it('should include frontend, backend, and postgres services (no website)', () => {
332
332
  expect(compose).toContain('frontend:');
333
333
  expect(compose).toContain('backend:');
334
- expect(compose).toContain('website:');
335
334
  expect(compose).toContain('postgres:');
335
+ // Website runs outside Docker (npm run dev / npm start)
336
+ expect(compose).not.toContain('website:');
336
337
  });
337
338
 
338
339
  it('backend should depend on postgres with health condition', () => {
@@ -344,7 +345,7 @@ describe('Docker Compose: All project service wiring', () => {
344
345
  expect(compose).toContain(networkName);
345
346
  // Count network references - should appear in services + network definition
346
347
  const networkCount = (compose.match(new RegExp(networkName, 'g')) || []).length;
347
- expect(networkCount).toBeGreaterThanOrEqual(5); // 4 services + 1 definition
348
+ expect(networkCount).toBeGreaterThanOrEqual(4); // 3 services + 1 definition
348
349
  });
349
350
 
350
351
  it('frontend API URL should point to backend service', () => {