@factiii/stack 0.1.35 → 0.1.36

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.
@@ -157,43 +157,43 @@ function generateFactiiiYmlTemplate(plugins = null) {
157
157
  noRefs: true,
158
158
  });
159
159
  // Add helpful comments after YAML generation
160
- const comments = `
161
- # ============================================================
162
- # ADDITIONAL ENVIRONMENTS
163
- # ============================================================
164
- # You can add as many environments as needed (staging2, prod2, qa, demo, etc.)
165
- # Each environment must specify a 'server' plugin and can have server-specific configs.
166
- #
167
- # Example - Additional staging environment:
168
- # staging2:
169
- # server: mac
170
- # domain: staging2.yourdomain.com
171
- # env_file: .env.staging2
172
- #
173
- # Example - Additional prod environment:
174
- # prod2:
175
- # server: ubuntu
176
- # pipeline: aws
177
- # domain: app2.yourdomain.com
178
- # config: free-tier
179
- # access_key_id: EXAMPLE_AKIAXXXXXXXX
180
- # region: us-west-2
181
-
182
- # ============================================================
183
- # ENVIRONMENT OPTIONS
184
- # ============================================================
185
- # All environments support these optional fields:
186
- # ssh_user: ubuntu # Override SSH user (defaults to stackAuto.yml ssh_user)
187
- # env_file: .env.{environment} # Override env file name
188
-
189
- # ============================================================
190
- # CONTAINER EXCLUSIONS
191
- # ============================================================
192
- # Exclude Docker containers from unmanaged container cleanup
193
- # Uncomment and add container names to keep them running:
194
- # container_exclusions:
195
- # - factiii_postgres
196
- # - legacy_container
160
+ const comments = `
161
+ # ============================================================
162
+ # ADDITIONAL ENVIRONMENTS
163
+ # ============================================================
164
+ # You can add as many environments as needed (staging2, prod2, qa, demo, etc.)
165
+ # Each environment must specify a 'server' plugin and can have server-specific configs.
166
+ #
167
+ # Example - Additional staging environment:
168
+ # staging2:
169
+ # server: mac
170
+ # domain: staging2.yourdomain.com
171
+ # env_file: .env.staging2
172
+ #
173
+ # Example - Additional prod environment:
174
+ # prod2:
175
+ # server: ubuntu
176
+ # pipeline: aws
177
+ # domain: app2.yourdomain.com
178
+ # config: free-tier
179
+ # access_key_id: EXAMPLE_AKIAXXXXXXXX
180
+ # region: us-west-2
181
+
182
+ # ============================================================
183
+ # ENVIRONMENT OPTIONS
184
+ # ============================================================
185
+ # All environments support these optional fields:
186
+ # ssh_user: ubuntu # Override SSH user (defaults to stackAuto.yml ssh_user)
187
+ # env_file: .env.{environment} # Override env file name
188
+
189
+ # ============================================================
190
+ # CONTAINER EXCLUSIONS
191
+ # ============================================================
192
+ # Exclude Docker containers from unmanaged container cleanup
193
+ # Uncomment and add container names to keep them running:
194
+ # container_exclusions:
195
+ # - factiii_postgres
196
+ # - legacy_container
197
197
  `;
198
198
  return yamlContent + comments;
199
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/openclaw/scanfix/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,GAAG,EAA2B,MAAM,4BAA4B,CAAC;AA0L/E,eAAO,MAAM,aAAa,EAAE,GAAG,EAwO9B,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/addons/openclaw/scanfix/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,GAAG,EAA2B,MAAM,4BAA4B,CAAC;AA8L/E,eAAO,MAAM,aAAa,EAAE,GAAG,EAqQ9B,CAAC"}
@@ -28,14 +28,20 @@ const DEFAULT_MODEL = 'qwen2.5-coder:7b';
28
28
  */
29
29
  function getOpenClawConfig(config, rootDir) {
30
30
  const defaults = { model: DEFAULT_MODEL };
31
- // Check stack.yml
32
- const globalConf = config.openclaw;
33
- // Check stack.local.yml
31
+ // Check stack.yml (supports openclaw: true shorthand)
32
+ const rawGlobal = config.openclaw;
33
+ const globalConf = (typeof rawGlobal === 'object' && rawGlobal !== null)
34
+ ? rawGlobal
35
+ : undefined;
36
+ // Check stack.local.yml (supports openclaw: true shorthand)
34
37
  let localConf;
35
38
  try {
36
39
  const { loadLocalConfig } = require('../../../../utils/config-helpers.js');
37
40
  const local = loadLocalConfig(rootDir);
38
- localConf = local.openclaw;
41
+ const rawLocal = local.openclaw;
42
+ localConf = (typeof rawLocal === 'object' && rawLocal !== null)
43
+ ? rawLocal
44
+ : undefined;
39
45
  }
40
46
  catch {
41
47
  // No local config
@@ -417,8 +423,8 @@ exports.openclawFixes = [
417
423
  stage: 'dev',
418
424
  os: 'mac',
419
425
  severity: 'warning',
420
- description: 'OpenClaw is not configured inside the Tart VM',
421
- scan: async (_config, _rootDir) => {
426
+ description: 'OpenClaw is not configured to use local Ollama model inside the Tart VM',
427
+ scan: async (config, rootDir) => {
422
428
  const ip = getReadyVmIp();
423
429
  if (!ip)
424
430
  return false;
@@ -426,16 +432,44 @@ exports.openclawFixes = [
426
432
  return false;
427
433
  try {
428
434
  sshVm(ip, 'test -f ~/.openclaw/openclaw.json');
429
- return false; // Config exists, no issue
435
+ // Config exists check if it points to the correct model
436
+ const content = sshVm(ip, 'cat ~/.openclaw/openclaw.json');
437
+ const model = getModelName(config, rootDir);
438
+ return !content.includes(model);
430
439
  }
431
440
  catch {
432
441
  return true; // Config missing
433
442
  }
434
443
  },
435
- fix: null,
436
- manualFix: 'SSH into VM and run the onboarding wizard:\n' +
437
- ' ssh admin@$(tart ip <vm-name>)\n' +
438
- ' openclaw onboard --install-daemon',
444
+ fix: async (config, rootDir) => {
445
+ const ip = getReadyVmIp();
446
+ if (!ip)
447
+ return false;
448
+ const model = getModelName(config, rootDir);
449
+ try {
450
+ // Create config directory
451
+ sshVm(ip, 'mkdir -p ~/.openclaw');
452
+ // Write OpenClaw config pointing to local Ollama
453
+ const configJson = JSON.stringify({
454
+ provider: 'ollama',
455
+ model: model,
456
+ baseUrl: 'http://localhost:11434',
457
+ }, null, 2);
458
+ // Escape double quotes for SSH command
459
+ const escaped = configJson.replace(/"/g, '\\"');
460
+ (0, child_process_1.execSync)('ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 admin@' + ip +
461
+ " 'echo \"" + escaped + "\" > ~/.openclaw/openclaw.json'", { stdio: ['pipe', 'pipe', 'pipe'], timeout: 10000 });
462
+ console.log(' Configured OpenClaw to use Ollama model: ' + model);
463
+ console.log(' Config written to ~/.openclaw/openclaw.json inside VM');
464
+ return true;
465
+ }
466
+ catch (e) {
467
+ console.log(' Failed to write config: ' + (e instanceof Error ? e.message : String(e)));
468
+ return false;
469
+ }
470
+ },
471
+ manualFix: 'SSH into VM and create ~/.openclaw/openclaw.json with:\n' +
472
+ ' { "provider": "ollama", "model": "' + DEFAULT_MODEL + '", "baseUrl": "http://localhost:11434" }',
439
473
  },
440
474
  ];
441
475
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/openclaw/scanfix/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../src/plugins/addons/openclaw/scanfix/setup.ts"],"names":[],"mappings":"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"}
@@ -179,17 +179,17 @@ class AWSPipeline {
179
179
  'free-tier': free_tier_js_1.default,
180
180
  };
181
181
  static helpText = {
182
- SSH: `
183
- SSH private key for accessing the EC2 instance.
184
-
185
- Option A: Auto-generate via AWS (recommended)
186
- - Factiii will create an EC2 Key Pair via AWS API
187
-
188
- Option B: Use existing key
182
+ SSH: `
183
+ SSH private key for accessing the EC2 instance.
184
+
185
+ Option A: Auto-generate via AWS (recommended)
186
+ - Factiii will create an EC2 Key Pair via AWS API
187
+
188
+ Option B: Use existing key
189
189
  ssh-keygen -t ed25519 -C "deploy-key" -f ~/.ssh/deploy_key`,
190
- AWS_SECRET_ACCESS_KEY: `
191
- AWS Secret Access Key
192
-
190
+ AWS_SECRET_ACCESS_KEY: `
191
+ AWS Secret Access Key
192
+
193
193
  Get from AWS Console: IAM -> Users -> Security credentials`,
194
194
  };
195
195
  // ============================================================
@@ -525,8 +525,8 @@ class AWSPipeline {
525
525
  }
526
526
  try {
527
527
  const repoName = config.name ?? 'app';
528
- await AWSPipeline.sshExec(envConfig, `
529
- cd ~/.factiii && docker compose stop ${repoName}-prod
528
+ await AWSPipeline.sshExec(envConfig, `
529
+ cd ~/.factiii && docker compose stop ${repoName}-prod
530
530
  `);
531
531
  return { success: true, message: 'Production containers stopped' };
532
532
  }
@@ -144,7 +144,7 @@ async function writeEnvFile(envConfig, repoDir, environment, envVarsString) {
144
144
  else {
145
145
  // We're remote - SSH to write
146
146
  console.log(` 📝 Writing ${envFileName} on remote server (${envVars.length} variables)...`);
147
- await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
147
+ await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
148
148
  ${envFileContent}ENVEOF`);
149
149
  }
150
150
  }
@@ -338,10 +338,10 @@ async function deployProd(config, environment = 'prod') {
338
338
  await updateComposeForECR(envConfig, config);
339
339
  // Step 3: Login to ECR and pull latest image
340
340
  console.log(' 🔐 Logging in to ECR and pulling image...');
341
- await sshExecCommand(envConfig, `
342
- aws ecr get-login-password --region ${region} | docker login --username AWS --password-stdin $(aws sts get-caller-identity --query Account --output text).dkr.ecr.${region}.amazonaws.com && \
343
- cd ~/.factiii && \
344
- docker compose pull ${repoName}-prod
341
+ await sshExecCommand(envConfig, `
342
+ aws ecr get-login-password --region ${region} | docker login --username AWS --password-stdin $(aws sts get-caller-identity --query Account --output text).dkr.ecr.${region}.amazonaws.com && \
343
+ cd ~/.factiii && \
344
+ docker compose pull ${repoName}-prod
345
345
  `);
346
346
  // Step 4: Manage SSL certificates
347
347
  console.log(' 🔐 Managing SSL certificates...');
@@ -138,16 +138,16 @@ class MacPlugin {
138
138
  return Object.keys(config).length === 0;
139
139
  }
140
140
  static helpText = {
141
- SSH: `
142
- SSH private key for accessing the server.
143
-
144
- Step 1: Generate a new SSH key pair (if needed):
145
- ssh-keygen -t ed25519 -C "deploy-key" -f ~/.ssh/deploy_key
146
-
147
- Step 2: Add PUBLIC key to server:
148
- ssh-copy-id -i ~/.ssh/deploy_key.pub ubuntu@YOUR_HOST
149
-
150
- Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
141
+ SSH: `
142
+ SSH private key for accessing the server.
143
+
144
+ Step 1: Generate a new SSH key pair (if needed):
145
+ ssh-keygen -t ed25519 -C "deploy-key" -f ~/.ssh/deploy_key
146
+
147
+ Step 2: Add PUBLIC key to server:
148
+ ssh-copy-id -i ~/.ssh/deploy_key.pub ubuntu@YOUR_HOST
149
+
150
+ Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
151
151
  cat ~/.ssh/deploy_key`,
152
152
  };
153
153
  // ============================================================
@@ -238,8 +238,8 @@ class MacPlugin {
238
238
  }
239
239
  try {
240
240
  const repoName = config.name ?? 'app';
241
- await MacPlugin.sshExec(envConfig, `
242
- cd ~/.factiii && docker compose stop ${repoName}-staging
241
+ await MacPlugin.sshExec(envConfig, `
242
+ cd ~/.factiii && docker compose stop ${repoName}-staging
243
243
  `);
244
244
  return { success: true, message: 'Staging containers stopped' };
245
245
  }
@@ -283,7 +283,7 @@ async function writeEnvFile(envConfig, repoDir, environment, envVarsString) {
283
283
  const escapedContent = envFileContent
284
284
  .replace(/'/g, "'\\''")
285
285
  .replace(/\n/g, '\\n');
286
- await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
286
+ await sshExecCommand(envConfig, `cat > ${repoDir}/${envFileName} << 'ENVEOF'
287
287
  ${envFileContent}ENVEOF`);
288
288
  }
289
289
  }
@@ -339,7 +339,7 @@ async function createEnvFromStaging(envConfig, repoDir) {
339
339
  console.log(' 📝 Created .env from .env.staging (with host port replacement)');
340
340
  }
341
341
  else {
342
- await sshExecCommand(envConfig, `cat > ${envPath} << 'ENVEOF'
342
+ await sshExecCommand(envConfig, `cat > ${envPath} << 'ENVEOF'
343
343
  ${updatedContent}ENVEOF`);
344
344
  console.log(' 📝 Created .env from .env.staging on remote server (with host port replacement)');
345
345
  }
@@ -74,7 +74,7 @@ export declare function getUsedPlugins(config: FactiiiConfig): Set<string>;
74
74
  */
75
75
  export interface LocalConfig {
76
76
  dev_os?: 'mac' | 'windows' | 'ubuntu';
77
- openclaw?: {
77
+ openclaw?: boolean | {
78
78
  model?: string;
79
79
  };
80
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/config-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAW1E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sKAWvB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,GACpB,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAgBnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAU9D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAgBnC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAWvE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAajE;AAED;;;;;;;GAOG;AACH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAW5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBnE"}
1
+ {"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/config-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAW1E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sKAWvB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,GACpB,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAgBnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAU9D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAgBnC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAWvE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAajE;AAED;;;;;;;GAOG;AACH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,GAAG;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAW5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBnE"}
@@ -64,16 +64,16 @@ const SECRET_METADATA = {
64
64
  STAGING_SSH: {
65
65
  type: 'ssh_key',
66
66
  description: 'SSH private key for accessing staging server',
67
- helpText: `
68
- Step 1: Generate a new SSH key pair:
69
- ssh-keygen -t ed25519 -C "staging-deploy" -f ~/.ssh/staging_deploy
70
-
71
- Step 2: Add PUBLIC key to your staging server:
72
- ssh-copy-id -i ~/.ssh/staging_deploy.pub ubuntu@YOUR_HOST
73
-
74
- (HOST is configured in stack.yml → environments.staging.host)
75
-
76
- Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
67
+ helpText: `
68
+ Step 1: Generate a new SSH key pair:
69
+ ssh-keygen -t ed25519 -C "staging-deploy" -f ~/.ssh/staging_deploy
70
+
71
+ Step 2: Add PUBLIC key to your staging server:
72
+ ssh-copy-id -i ~/.ssh/staging_deploy.pub ubuntu@YOUR_HOST
73
+
74
+ (HOST is configured in stack.yml → environments.staging.host)
75
+
76
+ Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
77
77
  cat ~/.ssh/staging_deploy`,
78
78
  validation: (value) => {
79
79
  if (!value || value.trim().length === 0) {
@@ -91,16 +91,16 @@ const SECRET_METADATA = {
91
91
  PROD_SSH: {
92
92
  type: 'ssh_key',
93
93
  description: 'SSH private key for accessing production server',
94
- helpText: `
95
- Step 1: Generate a new SSH key pair:
96
- ssh-keygen -t ed25519 -C "production-deploy" -f ~/.ssh/prod_deploy
97
-
98
- Step 2: Add PUBLIC key to your production server:
99
- ssh-copy-id -i ~/.ssh/prod_deploy.pub ubuntu@YOUR_HOST
100
-
101
- (HOST is configured in stack.yml → environments.production.host)
102
-
103
- Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
94
+ helpText: `
95
+ Step 1: Generate a new SSH key pair:
96
+ ssh-keygen -t ed25519 -C "production-deploy" -f ~/.ssh/prod_deploy
97
+
98
+ Step 2: Add PUBLIC key to your production server:
99
+ ssh-copy-id -i ~/.ssh/prod_deploy.pub ubuntu@YOUR_HOST
100
+
101
+ (HOST is configured in stack.yml → environments.production.host)
102
+
103
+ Step 3: Paste the PRIVATE key below (multi-line, end with blank line):
104
104
  cat ~/.ssh/prod_deploy`,
105
105
  validation: (value) => {
106
106
  if (!value || value.trim().length === 0) {
@@ -118,14 +118,14 @@ const SECRET_METADATA = {
118
118
  AWS_SECRET_ACCESS_KEY: {
119
119
  type: 'aws_secret',
120
120
  description: 'AWS Secret Access Key (the only secret AWS value)',
121
- helpText: `
122
- Get from AWS Console: IAM → Users → Security credentials
123
-
124
- This is shown only once when you create the key.
125
- If lost, you must create a new key pair.
126
-
127
- Note: AWS_ACCESS_KEY_ID and AWS_REGION go in stack.yml (not secrets)
128
-
121
+ helpText: `
122
+ Get from AWS Console: IAM → Users → Security credentials
123
+
124
+ This is shown only once when you create the key.
125
+ If lost, you must create a new key pair.
126
+
127
+ Note: AWS_ACCESS_KEY_ID and AWS_REGION go in stack.yml (not secrets)
128
+
129
129
  Enter AWS Secret Access Key:`,
130
130
  validation: (value) => {
131
131
  if (!value || value.trim().length === 0) {
@@ -51,47 +51,47 @@ const env_validator_js_1 = require("./env-validator.js");
51
51
  */
52
52
  function generateEnvExampleTemplate(config) {
53
53
  const repoName = config.name ?? 'myapp';
54
- const template = `# .env.example - Environment variable template
55
- # This file defines all required environment variables across environments.
56
- # Values are descriptive examples - replace with real values in .env.staging and .env.prod
57
- # This file is committed to git as a template.
58
-
59
- # === Application Settings ===
60
- NODE_ENV=development
61
- PORT=3000
62
-
63
- # === Database ===
64
- # PostgreSQL connection string format
65
- DATABASE_URL=postgresql://EXAMPLE_user:EXAMPLE_password@localhost:5432/EXAMPLE_${repoName}-dev
66
-
67
- # === Authentication ===
68
- # 256-bit secret key for JWT signing
69
- JWT_SECRET=EXAMPLE_your-256-bit-secret-key-here
70
- JWT_EXPIRES_IN=7d
71
-
72
- # === External APIs (if needed) ===
73
- # OPENAI_API_KEY=EXAMPLE_sk-proj-abc123xyz789
74
- # STRIPE_SECRET_KEY=EXAMPLE_sk_test_51ABC123xyz
75
- # STRIPE_PUBLISHABLE_KEY=EXAMPLE_pk_test_51ABC123xyz
76
-
77
- # === AWS Configuration (if using S3, SES, etc) ===
78
- # AWS_ACCESS_KEY_ID=EXAMPLE_AKIAIOSFODNN7EXAMPLE
79
- # AWS_SECRET_ACCESS_KEY=EXAMPLE_wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
80
- # AWS_REGION=EXAMPLE_us-east-1
81
- # AWS_BUCKET_NAME=EXAMPLE_${repoName}-assets
82
-
83
- # === Email Configuration (if using SMTP) ===
84
- # SMTP_HOST=EXAMPLE_smtp.gmail.com
85
- # SMTP_PORT=587
86
- # SMTP_USER=EXAMPLE_noreply@yourdomain.com
87
- # SMTP_PASSWORD=EXAMPLE_your-app-password
88
-
89
- # === Application URLs ===
90
- # FRONTEND_URL=EXAMPLE_http://localhost:3000
91
- # API_URL=EXAMPLE_http://localhost:3001
92
-
93
- # === Application-specific settings ===
94
- # Add your custom environment variables below
54
+ const template = `# .env.example - Environment variable template
55
+ # This file defines all required environment variables across environments.
56
+ # Values are descriptive examples - replace with real values in .env.staging and .env.prod
57
+ # This file is committed to git as a template.
58
+
59
+ # === Application Settings ===
60
+ NODE_ENV=development
61
+ PORT=3000
62
+
63
+ # === Database ===
64
+ # PostgreSQL connection string format
65
+ DATABASE_URL=postgresql://EXAMPLE_user:EXAMPLE_password@localhost:5432/EXAMPLE_${repoName}-dev
66
+
67
+ # === Authentication ===
68
+ # 256-bit secret key for JWT signing
69
+ JWT_SECRET=EXAMPLE_your-256-bit-secret-key-here
70
+ JWT_EXPIRES_IN=7d
71
+
72
+ # === External APIs (if needed) ===
73
+ # OPENAI_API_KEY=EXAMPLE_sk-proj-abc123xyz789
74
+ # STRIPE_SECRET_KEY=EXAMPLE_sk_test_51ABC123xyz
75
+ # STRIPE_PUBLISHABLE_KEY=EXAMPLE_pk_test_51ABC123xyz
76
+
77
+ # === AWS Configuration (if using S3, SES, etc) ===
78
+ # AWS_ACCESS_KEY_ID=EXAMPLE_AKIAIOSFODNN7EXAMPLE
79
+ # AWS_SECRET_ACCESS_KEY=EXAMPLE_wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
80
+ # AWS_REGION=EXAMPLE_us-east-1
81
+ # AWS_BUCKET_NAME=EXAMPLE_${repoName}-assets
82
+
83
+ # === Email Configuration (if using SMTP) ===
84
+ # SMTP_HOST=EXAMPLE_smtp.gmail.com
85
+ # SMTP_PORT=587
86
+ # SMTP_USER=EXAMPLE_noreply@yourdomain.com
87
+ # SMTP_PASSWORD=EXAMPLE_your-app-password
88
+
89
+ # === Application URLs ===
90
+ # FRONTEND_URL=EXAMPLE_http://localhost:3000
91
+ # API_URL=EXAMPLE_http://localhost:3001
92
+
93
+ # === Application-specific settings ===
94
+ # Add your custom environment variables below
95
95
  `;
96
96
  return template;
97
97
  }
@@ -103,10 +103,10 @@ JWT_EXPIRES_IN=7d
103
103
  */
104
104
  function generateEnvTemplate(environment, devEnv) {
105
105
  const envUpper = environment.toUpperCase();
106
- let template = `# .env.${environment} - ${envUpper} environment variables
107
- # Fill in all values below. Keys must match .env.example
108
- # This file should ${environment === 'prod' ? 'ALWAYS' : 'optionally'} be in .gitignore
109
-
106
+ let template = `# .env.${environment} - ${envUpper} environment variables
107
+ # Fill in all values below. Keys must match .env.example
108
+ # This file should ${environment === 'prod' ? 'ALWAYS' : 'optionally'} be in .gitignore
109
+
110
110
  `;
111
111
  // Copy keys from .env.example with placeholder values
112
112
  for (const key of Object.keys(devEnv)) {
@@ -120,11 +120,11 @@ function generateEnvTemplate(environment, devEnv) {
120
120
  template += `${key}=<FILL_IN>\n`;
121
121
  }
122
122
  }
123
- template += `
124
- # Instructions:
125
- # 1. Replace all <FILL_IN> values with real ${environment} values
126
- # 2. Ensure all keys match .env.example
127
- # 3. Run: npx stack (to validate)
123
+ template += `
124
+ # Instructions:
125
+ # 1. Replace all <FILL_IN> values with real ${environment} values
126
+ # 2. Ensure all keys match .env.example
127
+ # 3. Run: npx stack (to validate)
128
128
  `;
129
129
  return template;
130
130
  }
@@ -197,27 +197,27 @@ function createEnvTemplates(rootDir, config) {
197
197
  * Generate secrets checklist for display
198
198
  */
199
199
  function generateSecretsChecklist() {
200
- return `
201
- REQUIRED GitHub Secrets (minimal):
202
- ───────────────────────────────────────────────────────
203
- □ STAGING_SSH - SSH private key for staging
204
- □ PROD_SSH - SSH private key for production
205
- □ AWS_SECRET_ACCESS_KEY - AWS secret key (only secret AWS value)
206
-
207
- OPTIONAL GitHub Secrets:
208
- ───────────────────────────────────────────────────────
209
- □ STAGING_ENVS - Environment vars from .env.staging
210
- □ PROD_ENVS - Environment vars from .env.prod
211
-
212
- NOT SECRETS (in stack.yml):
213
- ───────────────────────────────────────────────────────
214
- ✓ environments.{env}.host - Server IP/hostname
215
- ✓ aws.access_key_id - AWS access key ID
216
- ✓ aws.region - AWS region (e.g., us-east-1)
217
-
218
- NOT SECRETS (in factiiiAuto.yml):
219
- ───────────────────────────────────────────────────────
220
- ✓ ssh_user - Defaults to ubuntu
200
+ return `
201
+ REQUIRED GitHub Secrets (minimal):
202
+ ───────────────────────────────────────────────────────
203
+ □ STAGING_SSH - SSH private key for staging
204
+ □ PROD_SSH - SSH private key for production
205
+ □ AWS_SECRET_ACCESS_KEY - AWS secret key (only secret AWS value)
206
+
207
+ OPTIONAL GitHub Secrets:
208
+ ───────────────────────────────────────────────────────
209
+ □ STAGING_ENVS - Environment vars from .env.staging
210
+ □ PROD_ENVS - Environment vars from .env.prod
211
+
212
+ NOT SECRETS (in stack.yml):
213
+ ───────────────────────────────────────────────────────
214
+ ✓ environments.{env}.host - Server IP/hostname
215
+ ✓ aws.access_key_id - AWS access key ID
216
+ ✓ aws.region - AWS region (e.g., us-east-1)
217
+
218
+ NOT SECRETS (in factiiiAuto.yml):
219
+ ───────────────────────────────────────────────────────
220
+ ✓ ssh_user - Defaults to ubuntu
221
221
  `.trim();
222
222
  }
223
223
  //# sourceMappingURL=template-generator.js.map