-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathengine_input.json
More file actions
19 lines (19 loc) · 2.05 KB
/
Copy pathengine_input.json
File metadata and controls
19 lines (19 loc) · 2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"target": {
"repo": "codeFafnir/monolith-to-microservices",
"ref": "master",
"goal": "monolith_to_microservices",
"instructions": "Decompose the monolith Express server at monolith/src/server.js into three independent Node.js/Express microservices.\n\n1. ORDERS SERVICE — microservices/src/orders/\n - Implement GET /service/orders and GET /service/orders/:id.\n - Load order data from a local data/orders.json file (copy monolith/data/orders.json).\n - Listen on PORT env var, default 8081.\n - Own package.json with express dependency, a Dockerfile, and k8s/deployment.yml + k8s/service.yml.\n\n2. PRODUCTS SERVICE — microservices/src/products/\n - Implement GET /service/products and GET /service/products/:id.\n - Load product data from a local data/products.json file (copy monolith/data/products.json).\n - Listen on PORT env var, default 8082.\n - Own package.json with express dependency, a Dockerfile, and k8s/deployment.yml + k8s/service.yml.\n\n3. FRONTEND SERVICE — microservices/src/frontend/\n - Serve the pre-built React static files from a public/ directory (same content as monolith/public).\n - Proxy GET /service/orders* to the ORDERS_HOST env var (default http://localhost:8081).\n - Proxy GET /service/products* to the PRODUCTS_HOST env var (default http://localhost:8082).\n - Use http-proxy-middleware for proxying.\n - Serve public/index.html for all other routes (client-side routing support).\n - Listen on PORT env var, default 8080.\n - Own package.json with express and http-proxy-middleware dependencies, a Dockerfile, and k8s/deployment.yml + k8s/service.yml.\n\nAll three services are structurally independent — no shared code between them. The monolith files under monolith/ must not be modified or deleted.",
"scope": ["monolith"],
"guidelines_repo": null,
"guidelines_doc_url": null
},
"config": {
"nia_api_key": "<NIA_API_KEY>",
"llm_api_key": "<LLM_API_KEY>",
"llm_provider": "gemini",
"llm_model": "gemini-2.5-flash",
"max_files_per_step": 10,
"dry_run": false
}
}