pipecraft 0.28.3 → 0.29.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.
@@ -1 +1 @@
1
- {"version":3,"file":"init.tpl.d.ts","sourceRoot":"","sources":["../../src/generators/init.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,aAAa,EAAmD,MAAM,uBAAuB,CAAA;AA4FtG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,2BA0HrC,CAAA"}
1
+ {"version":3,"file":"init.tpl.d.ts","sourceRoot":"","sources":["../../src/generators/init.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,aAAa,EAAqC,MAAM,uBAAuB,CAAA;AA6FxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,QAAQ,GAAU,KAAK,aAAa,2BA+IhD,CAAA"}
@@ -27,8 +27,9 @@
27
27
  * for the initial release to ensure consistent behavior. Future versions will
28
28
  * respect user input and allow customization.
29
29
  */
30
- import { toFile, prompt, writeJSON } from '@featherscloud/pinion';
30
+ import { toFile, writeJSON } from '@featherscloud/pinion';
31
31
  import { existsSync, readFileSync } from 'fs';
32
+ import inquirer from 'inquirer';
32
33
  /**
33
34
  * Default PipeCraft configuration for new projects.
34
35
  *
@@ -152,64 +153,84 @@ const configTemplate = (ctx) => {
152
153
  * - Production branch name
153
154
  * - Branch flow sequence
154
155
  */
155
- export const generate = (ctx) => Promise.resolve(ctx)
156
- .then(prompt([
157
- {
158
- type: 'input',
159
- name: 'projectName',
160
- message: 'What is your project name?',
161
- default: 'my-project'
162
- },
163
- {
164
- type: 'list',
165
- name: 'ciProvider',
166
- message: 'Which CI provider are you using?',
167
- choices: [
168
- { name: 'GitHub Actions', value: 'github' },
169
- { name: 'GitLab CI/CD', value: 'gitlab' }
170
- ],
171
- default: 'github'
172
- },
173
- {
174
- type: 'list',
175
- name: 'mergeStrategy',
176
- message: 'What merge strategy do you prefer?',
177
- choices: [
178
- { name: 'Fast-forward only (recommended)', value: 'fast-forward' },
179
- { name: 'Merge commits', value: 'merge' }
180
- ],
181
- default: 'fast-forward'
182
- },
183
- {
184
- type: 'confirm',
185
- name: 'requireConventionalCommits',
186
- message: 'Require conventional commit format for PR titles?',
187
- default: true
188
- },
189
- {
190
- type: 'input',
191
- name: 'initialBranch',
192
- message: 'What is your development branch name?',
193
- default: 'develop'
194
- },
195
- {
196
- type: 'input',
197
- name: 'finalBranch',
198
- message: 'What is your production branch name?',
199
- default: 'main'
200
- },
201
- {
202
- type: 'input',
203
- name: 'branchFlow',
204
- message: 'Enter your branch flow (comma-separated)',
205
- default: 'develop,staging,main',
206
- filter: (input) => input.split(',').map(b => b.trim())
156
+ export const generate = async (ctx) => {
157
+ const cwd = ctx.cwd || process.cwd();
158
+ // Detect package manager before prompting
159
+ let detectedPackageManager = 'npm';
160
+ if (existsSync(`${cwd}/pnpm-lock.yaml`)) {
161
+ detectedPackageManager = 'pnpm';
162
+ }
163
+ else if (existsSync(`${cwd}/yarn.lock`)) {
164
+ detectedPackageManager = 'yarn';
207
165
  }
208
- ]))
209
- .then((ctx) => {
210
- const mergedCtx = { ...ctx, ...defaultConfig };
166
+ else if (existsSync(`${cwd}/package-lock.json`)) {
167
+ detectedPackageManager = 'npm';
168
+ }
169
+ // Run inquirer prompts
170
+ const answers = await inquirer.prompt([
171
+ {
172
+ type: 'input',
173
+ name: 'projectName',
174
+ message: 'What is your project name?',
175
+ default: 'my-project'
176
+ },
177
+ {
178
+ type: 'list',
179
+ name: 'ciProvider',
180
+ message: 'Which CI provider are you using?',
181
+ choices: [
182
+ { name: 'GitHub Actions', value: 'github' },
183
+ { name: 'GitLab CI/CD', value: 'gitlab' }
184
+ ],
185
+ default: 'github'
186
+ },
187
+ {
188
+ type: 'list',
189
+ name: 'mergeStrategy',
190
+ message: 'What merge strategy do you prefer?',
191
+ choices: [
192
+ { name: 'Fast-forward only (recommended)', value: 'fast-forward' },
193
+ { name: 'Merge commits', value: 'merge' }
194
+ ],
195
+ default: 'fast-forward'
196
+ },
197
+ {
198
+ type: 'confirm',
199
+ name: 'requireConventionalCommits',
200
+ message: 'Require conventional commit format for PR titles?',
201
+ default: true
202
+ },
203
+ {
204
+ type: 'input',
205
+ name: 'initialBranch',
206
+ message: 'What is your development branch name?',
207
+ default: 'develop'
208
+ },
209
+ {
210
+ type: 'input',
211
+ name: 'finalBranch',
212
+ message: 'What is your production branch name?',
213
+ default: 'main'
214
+ },
215
+ {
216
+ type: 'input',
217
+ name: 'branchFlow',
218
+ message: 'Enter your branch flow (comma-separated)',
219
+ default: 'develop,staging,main',
220
+ filter: (input) => input.split(',').map(b => b.trim())
221
+ },
222
+ {
223
+ type: 'list',
224
+ name: 'packageManager',
225
+ message: `Which package manager do you use? (detected: ${detectedPackageManager})`,
226
+ choices: ['npm', 'yarn', 'pnpm'],
227
+ default: detectedPackageManager
228
+ }
229
+ ]);
230
+ // Merge answers with context and defaults
231
+ const mergedCtx = { ...ctx, ...defaultConfig, ...answers };
211
232
  // Detect Nx workspace
212
- const nxJsonPath = `${mergedCtx.cwd || process.cwd()}/nx.json`;
233
+ const nxJsonPath = `${cwd}/nx.json`;
213
234
  let nxConfig = undefined;
214
235
  if (existsSync(nxJsonPath)) {
215
236
  try {
@@ -258,6 +279,7 @@ export const generate = (ctx) => Promise.resolve(ctx)
258
279
  finalBranch: mergedCtx.finalBranch,
259
280
  branchFlow: mergedCtx.branchFlow,
260
281
  autoMerge: mergedCtx.autoMerge,
282
+ packageManager: mergedCtx.packageManager,
261
283
  semver: {
262
284
  bumpRules: mergedCtx.semver.bumpRules
263
285
  },
@@ -268,5 +290,5 @@ export const generate = (ctx) => Promise.resolve(ctx)
268
290
  configData.nx = nxConfig;
269
291
  }
270
292
  return writeJSON(() => configData, toFile('.pipecraftrc.json'))(mergedCtx);
271
- });
293
+ };
272
294
  //# sourceMappingURL=init.tpl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.tpl.js","sourceRoot":"","sources":["../../src/generators/init.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAiB,MAAM,EAAkB,MAAM,EAAQ,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAK7C;;;;;;;;;;;;GAYG;AACH,MAAM,aAAa,GAAG;IACpB,UAAU,EAAE,QAAiB;IAC7B,aAAa,EAAE,cAAuB;IACtC,0BAA0B,EAAE,IAAI;IAChC,aAAa,EAAE,SAAS;IACxB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;IAC1C,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;KACX;IACD,MAAM,EAAE;QACN,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,OAAO;YACZ,QAAQ,EAAE,OAAO;SAClB;KACF;IACD,OAAO,EAAE;QACP,GAAG,EAAE;YACH,KAAK,EAAE,CAAC,aAAa,CAAC;YACtB,WAAW,EAAE,yBAAyB;SACvC;QACD,GAAG,EAAE;YACH,KAAK,EAAE,CAAC,aAAa,CAAC;YACtB,WAAW,EAAE,yBAAyB;SACvC;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,CAAC,SAAS,CAAC;YAClB,WAAW,EAAE,wBAAwB;SACtC;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,CAAC,sBAAsB,CAAC;YAC/B,WAAW,EAAE,6BAA6B;SAC3C;KACF;CACF,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,cAAc,GAAG,CAAC,GAAoB,EAAE,EAAE;IAC9C,MAAM,MAAM,GAAQ;QAClB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,0BAA0B,EAAE,GAAG,CAAC,0BAA0B;QAC1D,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,MAAM,EAAE;YACN,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS;SAChC;QACD,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAA;IAED,uCAAuC;IACvC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QACX,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;IACpB,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AACxC,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE,EAAE,CAC7C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,IAAI,CAAC,MAAM,CAAC;IACX;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE,YAAY;KACtB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,kCAAkC;QAC3C,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC1C;QACD,OAAO,EAAE,QAAQ;KAClB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,cAAc,EAAE;YAClE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE;SAC1C;QACD,OAAO,EAAE,cAAc;KACxB;IACD;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,mDAAmD;QAC5D,OAAO,EAAE,IAAI;KACd;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,uCAAuC;QAChD,OAAO,EAAE,SAAS;KACnB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE,MAAM;KAChB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,sBAAsB;QAC/B,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KAC/D;CACF,CAAC,CAAC;KACF,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACZ,MAAM,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,aAAa,EAAS,CAAA;IAErD,sBAAsB;IACtB,MAAM,UAAU,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,UAAU,CAAA;IAC9D,IAAI,QAAQ,GAAG,SAAS,CAAA;IAExB,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAExC,oCAAoC;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAE7E,+DAA+D;YAC/D,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;YAC1G,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACjC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACjC,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAA;gBACxC,IAAI,IAAI,KAAK,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAA;gBACzB,IAAI,IAAI,KAAK,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAA;gBAC1B,OAAO,IAAI,GAAG,IAAI,CAAA;YACpB,CAAC,CAAC,CAAA;YAEF,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAA;YAChE,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAE3D,QAAQ,GAAG;gBACT,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,IAAI;aAClB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAA;YAChE,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;YAChD,QAAQ,GAAG;gBACT,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC;gBACpD,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,IAAI;aAClB,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAQ;QACtB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,0BAA0B,EAAE,SAAS,CAAC,0BAA0B;QAChE,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS;SACtC;QACD,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAA;IAED,4BAA4B;IAC5B,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAC5E,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"init.tpl.js","sourceRoot":"","sources":["../../src/generators/init.tpl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.tpl.d.ts","sourceRoot":"","sources":["../../src/generators/workflows.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,aAAa,EAA0C,MAAM,uBAAuB,CAAA;AAkD7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,iBAqD5G,CAAA"}
1
+ {"version":3,"file":"workflows.tpl.d.ts","sourceRoot":"","sources":["../../src/generators/workflows.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,aAAa,EAA0C,MAAM,uBAAuB,CAAA;AAmD7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,iBA4D5G,CAAA"}
@@ -46,6 +46,7 @@ import { logger } from '../utils/logger.js';
46
46
  // Import individual workflow templates
47
47
  import { generate as generateTagWorkflow } from '../templates/actions/create-tag.yml.tpl.js';
48
48
  import { generate as generateChangesWorkflow } from '../templates/actions/detect-changes.yml.tpl.js';
49
+ import { generate as generateChangesNxWorkflow } from '../templates/actions/detect-changes-nx.yml.tpl.js';
49
50
  import { generate as generateVersionWorkflow } from '../templates/actions/calculate-version.yml.tpl.js';
50
51
  import { generate as generateCreatePRWorkflow } from '../templates/actions/create-pr.yml.tpl.js';
51
52
  import { generate as generateBranchWorkflow } from '../templates/actions/manage-branch.yml.tpl.js';
@@ -150,7 +151,7 @@ export const generate = (ctx) => Promise.resolve(ctx)
150
151
  })
151
152
  .then((ctx) => {
152
153
  // Generate individual GitHub Actions and release-it config
153
- return Promise.all([
154
+ const generators = [
154
155
  generateChangesWorkflow(ctx),
155
156
  generateTagWorkflow(ctx),
156
157
  generateVersionWorkflow(ctx),
@@ -159,7 +160,12 @@ export const generate = (ctx) => Promise.resolve(ctx)
159
160
  generatePromoteBranchWorkflow(ctx),
160
161
  generateReleaseWorkflow(ctx),
161
162
  generateReleaseItConfig(ctx)
162
- ]).then(() => ctx);
163
+ ];
164
+ // Add Nx-specific action if Nx is enabled
165
+ if (ctx.config?.nx?.enabled) {
166
+ generators.push(generateChangesNxWorkflow(ctx));
167
+ }
168
+ return Promise.all(generators).then(() => ctx);
163
169
  })
164
170
  .then((ctx) => {
165
171
  // Generate the main pipeline (Nx or path-based)
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.tpl.js","sourceRoot":"","sources":["../../src/generators/workflows.tpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflows.tpl.js","sourceRoot":"","sources":["../../src/generators/workflows.tpl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Detect Changes Nx Action Template
3
+ *
4
+ * Generates a GitHub composite action that detects which domains have changed
5
+ * using Nx dependency graph analysis with path-based fallback.
6
+ *
7
+ * ## Purpose
8
+ *
9
+ * For Nx monorepos, this action uses `nx show projects --affected` to leverage
10
+ * the dependency graph for intelligent change detection. It maps affected Nx
11
+ * projects to configured domains and falls back to path-based detection when
12
+ * Nx is unavailable.
13
+ *
14
+ * ## Generated Action Location
15
+ *
16
+ * `.github/actions/detect-changes-nx/action.yml`
17
+ *
18
+ * @module templates/actions/detect-changes-nx.yml.tpl
19
+ */
20
+ import { PinionContext } from '@featherscloud/pinion';
21
+ /**
22
+ * Generator entry point for detect-changes-nx composite action.
23
+ *
24
+ * Generates the `.github/actions/detect-changes-nx/action.yml` file with Nx-aware
25
+ * change detection logic. This action is used by Nx-enabled pipelines.
26
+ *
27
+ * @param {PinionContext} ctx - Pinion generator context
28
+ * @param {Record<string, DomainConfig>} ctx.domains - Domain configurations
29
+ * @returns {Promise<PinionContext>} Updated context after file generation
30
+ */
31
+ export declare const generate: (ctx: PinionContext) => Promise<any>;
32
+ //# sourceMappingURL=detect-changes-nx.yml.tpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-changes-nx.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/actions/detect-changes-nx.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAmN7E;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,aAAa,iBAU+D,CAAA"}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * Detect Changes Nx Action Template
3
+ *
4
+ * Generates a GitHub composite action that detects which domains have changed
5
+ * using Nx dependency graph analysis with path-based fallback.
6
+ *
7
+ * ## Purpose
8
+ *
9
+ * For Nx monorepos, this action uses `nx show projects --affected` to leverage
10
+ * the dependency graph for intelligent change detection. It maps affected Nx
11
+ * projects to configured domains and falls back to path-based detection when
12
+ * Nx is unavailable.
13
+ *
14
+ * ## Generated Action Location
15
+ *
16
+ * `.github/actions/detect-changes-nx/action.yml`
17
+ *
18
+ * @module templates/actions/detect-changes-nx.yml.tpl
19
+ */
20
+ import { toFile, renderTemplate } from '@featherscloud/pinion';
21
+ import fs from 'fs';
22
+ import { logger } from '../../utils/logger.js';
23
+ /**
24
+ * Generates the detect-changes-nx composite action YAML content.
25
+ *
26
+ * Creates a GitHub Actions composite action that:
27
+ * - Checks for Nx availability in the repository
28
+ * - Uses `nx show projects --affected` for dependency graph analysis
29
+ * - Maps affected projects to domains
30
+ * - Falls back to path-based detection if Nx isn't available
31
+ * - Outputs Nx-specific information (affected projects, Nx availability)
32
+ *
33
+ * @param {any} ctx - Context containing domains configuration
34
+ * @param {Record<string, DomainConfig>} ctx.domains - Domain configurations with path patterns
35
+ * @returns {string} YAML content for the composite action
36
+ */
37
+ const changesNxActionTemplate = (ctx) => {
38
+ const domainOutputs = Object.entries(ctx.domains).map((entry) => {
39
+ const [domainName, domainConfig] = entry;
40
+ return ` ${domainName}:
41
+ description: 'Whether ${domainName} domain has changes'
42
+ value: \${{ steps.merge.outputs.${domainName} }}`;
43
+ }).join('\n');
44
+ const domainFilters = Object.entries(ctx.domains).map((entry) => {
45
+ const [domainName, domainConfig] = entry;
46
+ return ` ${domainName}:\n - '${domainConfig.paths.join("'\\n - '")}'`;
47
+ }).join('\n');
48
+ // Generate Nx pattern matching logic for each domain
49
+ const domainNames = Object.keys(ctx.domains);
50
+ const nxPatternMatching = domainNames.map(domainName => {
51
+ return ` # Check ${domainName} domain patterns
52
+ if echo "$project" | grep -qE "(${domainName}|$(echo "${domainName}" | sed 's/-/[-_]/g'))"; then
53
+ ${domainName.toUpperCase()}_AFFECTED=true
54
+ echo " ✅ $project matches ${domainName} domain"
55
+ fi`;
56
+ }).join('\n');
57
+ const nxFlagInit = domainNames.map(domainName => ` ${domainName.toUpperCase()}_AFFECTED=false`).join('\n');
58
+ const nxOutputs = domainNames.map(domainName => ` echo "${domainName}=$${domainName.toUpperCase()}_AFFECTED" >> $GITHUB_OUTPUT`).join('\n');
59
+ const nxFallbackOutputs = domainNames.map(domainName => ` echo "${domainName}=false" >> $GITHUB_OUTPUT`).join('\n');
60
+ const pathFilterOutputs = domainNames.map(domainName => ` echo "${domainName}=\${{ contains(steps.filter.outputs.changes, '${domainName}') }}" >> $GITHUB_OUTPUT`).join('\n');
61
+ const nxMergeOutputs = domainNames.map(domainName => ` echo "${domainName}=\${{ steps.nx-filter.outputs.${domainName} }}" >> $GITHUB_OUTPUT`).join('\n');
62
+ const resultEchoes = domainNames.map(domainName => ` echo " ${domainName}: \${{ steps.merge.outputs.${domainName} }}"`).join('\n');
63
+ // Generate the composite action YAML
64
+ return `name: 'Detect Changes with Nx Support'
65
+ description: 'Enhanced change detection using Nx dependency graph with path-based fallback'
66
+ author: 'Pipecraft'
67
+
68
+ inputs:
69
+ baseRef:
70
+ description: 'Base reference to compare against'
71
+ required: false
72
+ default: 'main'
73
+ useNx:
74
+ description: 'Whether to use Nx dependency graph for change detection'
75
+ required: false
76
+ default: 'true'
77
+
78
+ outputs:
79
+ ${domainOutputs}
80
+ nxAvailable:
81
+ description: 'Whether Nx is available in the repository'
82
+ value: \${{ steps.nx-check.outputs.available }}
83
+ affectedProjects:
84
+ description: 'Comma-separated list of affected Nx projects'
85
+ value: \${{ steps.nx-filter.outputs.affectedProjects }}
86
+
87
+ runs:
88
+ using: 'composite'
89
+ steps:
90
+ - name: Checkout Code
91
+ uses: actions/checkout@v4
92
+ with:
93
+ fetch-depth: 0
94
+
95
+ - name: Set Base Branch
96
+ id: set-base
97
+ shell: bash
98
+ run: |
99
+ base_branch=\${{ inputs.baseRef || 'main' }}
100
+ echo "base_branch=$base_branch" >> $GITHUB_OUTPUT
101
+ echo "base_branch=$base_branch" >> $GITHUB_ENV
102
+
103
+ - name: Check for Nx
104
+ id: nx-check
105
+ shell: bash
106
+ run: |
107
+ if [ -f "nx.json" ] || ([ -f "package.json" ] && grep -q '"nx"' package.json); then
108
+ echo "available=true" >> $GITHUB_OUTPUT
109
+ echo "🔍 Nx detected in repository"
110
+ else
111
+ echo "available=false" >> $GITHUB_OUTPUT
112
+ echo "⚠️ Nx not detected, falling back to path-based detection"
113
+ fi
114
+
115
+ - name: Setup Node.js
116
+ if: steps.nx-check.outputs.available == 'true' && inputs.useNx == 'true'
117
+ uses: actions/setup-node@v4
118
+ with:
119
+ node-version: '20'
120
+
121
+ - name: Install Dependencies
122
+ if: steps.nx-check.outputs.available == 'true' && inputs.useNx == 'true'
123
+ shell: bash
124
+ run: |
125
+ echo "📦 Installing dependencies for Nx..."
126
+ if [ -f "pnpm-lock.yaml" ]; then
127
+ corepack enable
128
+ pnpm install --frozen-lockfile || pnpm install
129
+ elif [ -f "yarn.lock" ]; then
130
+ yarn install --frozen-lockfile || yarn install
131
+ elif [ -f "package-lock.json" ]; then
132
+ npm ci || npm install
133
+ else
134
+ npm install
135
+ fi
136
+
137
+ - name: Detect Changes with Nx (if available)
138
+ id: nx-filter
139
+ if: steps.nx-check.outputs.available == 'true' && inputs.useNx == 'true'
140
+ shell: bash
141
+ run: |
142
+ echo "🚀 Using Nx dependency graph for change detection"
143
+
144
+ # Get affected projects using Nx
145
+ if command -v npx >/dev/null 2>&1; then
146
+ # Get list of affected projects (newline-separated)
147
+ AFFECTED_PROJECTS_RAW=$(npx nx show projects --affected --base=\${{ steps.set-base.outputs.base_branch }} 2>/dev/null || echo "")
148
+
149
+ # Convert newlines to commas for storage
150
+ AFFECTED_PROJECTS=$(echo "$AFFECTED_PROJECTS_RAW" | tr '\\n' ',' | sed 's/,$//')
151
+ echo "affectedProjects=$AFFECTED_PROJECTS" >> $GITHUB_OUTPUT
152
+
153
+ if [ -n "$AFFECTED_PROJECTS" ]; then
154
+ echo "📦 Affected Nx projects: $AFFECTED_PROJECTS"
155
+
156
+ # Initialize domain flags
157
+ ${nxFlagInit}
158
+
159
+ # Check each affected project against domain patterns (comma-separated)
160
+ IFS=',' read -ra PROJECTS <<< "$AFFECTED_PROJECTS"
161
+ for project in "\${PROJECTS[@]}"; do
162
+ project=$(echo "$project" | xargs) # trim whitespace
163
+ ${nxPatternMatching}
164
+ done
165
+
166
+ # Set outputs
167
+ ${nxOutputs}
168
+
169
+ else
170
+ echo "No affected projects detected"
171
+ ${nxFallbackOutputs}
172
+ fi
173
+ else
174
+ echo "⚠️ npx not available, falling back to path-based detection"
175
+ ${nxFallbackOutputs}
176
+ echo "affectedProjects=" >> $GITHUB_OUTPUT
177
+ fi
178
+
179
+ - name: Detect Changes with Paths Filter (fallback)
180
+ uses: dorny/paths-filter@v3
181
+ id: filter
182
+ if: steps.nx-check.outputs.available != 'true' || inputs.useNx != 'true'
183
+ with:
184
+ base: \${{ steps.set-base.outputs.base_branch }}
185
+ filters: |
186
+ ${domainFilters}
187
+
188
+ - name: Merge filter outputs
189
+ id: merge
190
+ shell: bash
191
+ run: |
192
+ # Use Nx results if available, otherwise use path filter results
193
+ if [ "\${{ steps.nx-check.outputs.available }}" == "true" ] && [ "\${{ inputs.useNx }}" == "true" ]; then
194
+ ${nxMergeOutputs}
195
+ echo "🔍 Using Nx dependency analysis results"
196
+ echo "📦 Affected projects: \${{ steps.nx-filter.outputs.affectedProjects }}"
197
+ else
198
+ ${pathFilterOutputs}
199
+ echo "📁 Using path-based change detection"
200
+ fi
201
+
202
+ echo "📋 Change Detection Results:"
203
+ ${resultEchoes}
204
+ echo " nx-available: \${{ steps.nx-check.outputs.available }}"
205
+ `;
206
+ };
207
+ /**
208
+ * Generator entry point for detect-changes-nx composite action.
209
+ *
210
+ * Generates the `.github/actions/detect-changes-nx/action.yml` file with Nx-aware
211
+ * change detection logic. This action is used by Nx-enabled pipelines.
212
+ *
213
+ * @param {PinionContext} ctx - Pinion generator context
214
+ * @param {Record<string, DomainConfig>} ctx.domains - Domain configurations
215
+ * @returns {Promise<PinionContext>} Updated context after file generation
216
+ */
217
+ export const generate = (ctx) => Promise.resolve(ctx)
218
+ .then((ctx) => {
219
+ // Check if file exists to determine merge status
220
+ const filePath = '.github/actions/detect-changes-nx/action.yml';
221
+ const exists = fs.existsSync(filePath);
222
+ const status = exists ? '🔄 Merged with existing' : '📝 Created new';
223
+ logger.verbose(`${status} ${filePath}`);
224
+ return ctx;
225
+ })
226
+ .then(renderTemplate(changesNxActionTemplate, toFile('.github/actions/detect-changes-nx/action.yml')));
227
+ //# sourceMappingURL=detect-changes-nx.yml.tpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-changes-nx.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/actions/detect-changes-nx.yml.tpl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-nx.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline-nx.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAiBtD,UAAU,iBAAkB,SAAQ,aAAa;IAC/C,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAoED;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,iBAAiB,iBAwH2F,CAAA"}
1
+ {"version":3,"file":"pipeline-nx.yml.tpl.d.ts","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline-nx.yml.tpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAiBtD,UAAU,iBAAkB,SAAQ,aAAa;IAC/C,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAqFD;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,iBAAiB,iBAwH2F,CAAA"}
@@ -20,6 +20,7 @@ import { formatIfConditions } from '../yaml-format-utils.js';
20
20
  function createNxCiJobOperation(ctx) {
21
21
  const { config } = ctx;
22
22
  const nxConfig = config.nx;
23
+ const packageManager = config.packageManager || 'npm';
23
24
  const enableCache = nxConfig.enableCache !== false;
24
25
  const taskSteps = nxConfig.tasks
25
26
  .map(task => ` - name: Run Nx Affected - ${task}
@@ -65,10 +66,26 @@ Nx handles dependency detection, caching, and parallel execution internally.
65
66
  uses: actions/setup-node@v4
66
67
  with:
67
68
  node-version: '24'
68
- cache: 'npm'
69
69
 
70
70
  - name: Install Dependencies
71
- run: npm ci
71
+ run: |
72
+ case "${packageManager}" in
73
+ pnpm)
74
+ corepack enable
75
+ pnpm install --frozen-lockfile || pnpm install
76
+ ;;
77
+ yarn)
78
+ yarn install --frozen-lockfile || yarn install
79
+ ;;
80
+ npm)
81
+ npm ci || npm install
82
+ ;;
83
+ *)
84
+ npm install
85
+ ;;
86
+ esac
87
+ env:
88
+ packageManager: ${packageManager}
72
89
  ${cacheStep}
73
90
  ${taskSteps}
74
91
  `)
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-nx.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline-nx.yml.tpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-nx.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline-nx.yml.tpl.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export const generate = (ctx) => Promise.resolve(ctx)
31
31
  createChangesJobOperation({
32
32
  domains,
33
33
  useNx: false,
34
- baseRef: 'main'
34
+ baseRef: config.finalBranch
35
35
  }),
36
36
  // NO nx-ci job for path-based (that's the key difference!)
37
37
  // Domain test jobs (preserved for user customization)
@@ -40,7 +40,7 @@ export const generate = (ctx) => Promise.resolve(ctx)
40
40
  createVersionJobOperation({
41
41
  testJobNames: testJobs,
42
42
  nxEnabled: false,
43
- baseRef: 'main'
43
+ baseRef: config.finalBranch
44
44
  }),
45
45
  // Domain deploy jobs (preserved for user customization)
46
46
  ...createDomainDeployJobOperations({ domains }),
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.yml.tpl.js","sourceRoot":"","sources":["../../../src/templates/workflows/pipeline.yml.tpl.ts"],"names":[],"mappings":"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"}
@@ -166,6 +166,17 @@ export interface PipecraftConfig {
166
166
  * test and deployment requirements.
167
167
  */
168
168
  domains: Record<string, DomainConfig>;
169
+ /**
170
+ * Package manager used for dependency installation.
171
+ * Auto-detected during init based on lockfile presence.
172
+ *
173
+ * - 'npm': Uses npm (with package-lock.json)
174
+ * - 'yarn': Uses yarn (with yarn.lock)
175
+ * - 'pnpm': Uses pnpm (with pnpm-lock.yaml)
176
+ *
177
+ * @default 'npm'
178
+ */
179
+ packageManager?: 'npm' | 'yarn' | 'pnpm';
169
180
  /**
170
181
  * Nx monorepo integration configuration.
171
182
  * When enabled, PipeCraft generates workflows that leverage Nx's dependency graph
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pipecraft",
3
- "version": "0.28.3",
3
+ "version": "0.29.0",
4
4
  "description": "Automated CI/CD pipeline generator for trunk-based development. Generates intelligent GitHub Actions workflows with domain-based change detection, semantic versioning, and branch flow management. Full documentation: https://pipecraft.thecraftlab.dev",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -68,6 +68,7 @@
68
68
  "@eslint/eslintrc": "^3.3.1",
69
69
  "@eslint/js": "^9.24.0",
70
70
  "@release-it/conventional-changelog": "^10.0.0",
71
+ "@types/inquirer": "^9.0.9",
71
72
  "@typescript-eslint/eslint-plugin": "^8.30.1",
72
73
  "@typescript-eslint/parser": "^8.30.1",
73
74
  "@vitest/coverage-c8": "^0.33.0",
@@ -82,6 +83,7 @@
82
83
  "eslint-plugin-react": "^7.37.5",
83
84
  "eslint-plugin-react-hooks": "^5.2.0",
84
85
  "globals": "^16.0.0",
86
+ "inquirer": "^12.10.0",
85
87
  "prettier": "^2.8.8",
86
88
  "release-it": "^18.1.2",
87
89
  "typedoc": "^0.28.14",
@@ -28,8 +28,9 @@
28
28
  * respect user input and allow customization.
29
29
  */
30
30
 
31
- import { PinionContext, toFile, renderTemplate, prompt, when, writeJSON } from '@featherscloud/pinion'
31
+ import { PinionContext, toFile, renderTemplate, writeJSON } from '@featherscloud/pinion'
32
32
  import { existsSync, readFileSync } from 'fs'
33
+ import inquirer from 'inquirer'
33
34
  import { IdempotencyManager } from '../utils/idempotency.js'
34
35
  import { VersionManager } from '../utils/versioning.js'
35
36
  import { PipecraftConfig } from '../types/index.js'
@@ -161,126 +162,147 @@ const configTemplate = (ctx: PipecraftConfig) => {
161
162
  * - Production branch name
162
163
  * - Branch flow sequence
163
164
  */
164
- export const generate = (ctx: PinionContext) =>
165
- Promise.resolve(ctx)
166
- .then(prompt([
167
- {
168
- type: 'input',
169
- name: 'projectName',
170
- message: 'What is your project name?',
171
- default: 'my-project'
172
- },
173
- {
174
- type: 'list',
175
- name: 'ciProvider',
176
- message: 'Which CI provider are you using?',
177
- choices: [
178
- { name: 'GitHub Actions', value: 'github' },
179
- { name: 'GitLab CI/CD', value: 'gitlab' }
180
- ],
181
- default: 'github'
182
- },
183
- {
184
- type: 'list',
185
- name: 'mergeStrategy',
186
- message: 'What merge strategy do you prefer?',
187
- choices: [
188
- { name: 'Fast-forward only (recommended)', value: 'fast-forward' },
189
- { name: 'Merge commits', value: 'merge' }
190
- ],
191
- default: 'fast-forward'
192
- },
193
- {
194
- type: 'confirm',
195
- name: 'requireConventionalCommits',
196
- message: 'Require conventional commit format for PR titles?',
197
- default: true
198
- },
199
- {
200
- type: 'input',
201
- name: 'initialBranch',
202
- message: 'What is your development branch name?',
203
- default: 'develop'
204
- },
205
- {
206
- type: 'input',
207
- name: 'finalBranch',
208
- message: 'What is your production branch name?',
209
- default: 'main'
210
- },
211
- {
212
- type: 'input',
213
- name: 'branchFlow',
214
- message: 'Enter your branch flow (comma-separated)',
215
- default: 'develop,staging,main',
216
- filter: (input: string) => input.split(',').map(b => b.trim())
217
- }
218
- ]))
219
- .then((ctx) => {
220
- const mergedCtx = { ...ctx, ...defaultConfig } as any
165
+ export const generate = async (ctx: PinionContext) => {
166
+ const cwd = ctx.cwd || process.cwd()
221
167
 
222
- // Detect Nx workspace
223
- const nxJsonPath = `${mergedCtx.cwd || process.cwd()}/nx.json`
224
- let nxConfig = undefined
168
+ // Detect package manager before prompting
169
+ let detectedPackageManager: 'npm' | 'yarn' | 'pnpm' = 'npm'
170
+ if (existsSync(`${cwd}/pnpm-lock.yaml`)) {
171
+ detectedPackageManager = 'pnpm'
172
+ } else if (existsSync(`${cwd}/yarn.lock`)) {
173
+ detectedPackageManager = 'yarn'
174
+ } else if (existsSync(`${cwd}/package-lock.json`)) {
175
+ detectedPackageManager = 'npm'
176
+ }
225
177
 
226
- if (existsSync(nxJsonPath)) {
227
- try {
228
- const nxJsonContent = readFileSync(nxJsonPath, 'utf8')
229
- const nxJson = JSON.parse(nxJsonContent)
178
+ // Run inquirer prompts
179
+ const answers = await inquirer.prompt([
180
+ {
181
+ type: 'input',
182
+ name: 'projectName',
183
+ message: 'What is your project name?',
184
+ default: 'my-project'
185
+ },
186
+ {
187
+ type: 'list',
188
+ name: 'ciProvider',
189
+ message: 'Which CI provider are you using?',
190
+ choices: [
191
+ { name: 'GitHub Actions', value: 'github' },
192
+ { name: 'GitLab CI/CD', value: 'gitlab' }
193
+ ],
194
+ default: 'github'
195
+ },
196
+ {
197
+ type: 'list',
198
+ name: 'mergeStrategy',
199
+ message: 'What merge strategy do you prefer?',
200
+ choices: [
201
+ { name: 'Fast-forward only (recommended)', value: 'fast-forward' },
202
+ { name: 'Merge commits', value: 'merge' }
203
+ ],
204
+ default: 'fast-forward'
205
+ },
206
+ {
207
+ type: 'confirm',
208
+ name: 'requireConventionalCommits',
209
+ message: 'Require conventional commit format for PR titles?',
210
+ default: true
211
+ },
212
+ {
213
+ type: 'input',
214
+ name: 'initialBranch',
215
+ message: 'What is your development branch name?',
216
+ default: 'develop'
217
+ },
218
+ {
219
+ type: 'input',
220
+ name: 'finalBranch',
221
+ message: 'What is your production branch name?',
222
+ default: 'main'
223
+ },
224
+ {
225
+ type: 'input',
226
+ name: 'branchFlow',
227
+ message: 'Enter your branch flow (comma-separated)',
228
+ default: 'develop,staging,main',
229
+ filter: (input: string) => input.split(',').map(b => b.trim())
230
+ },
231
+ {
232
+ type: 'list',
233
+ name: 'packageManager',
234
+ message: `Which package manager do you use? (detected: ${detectedPackageManager})`,
235
+ choices: ['npm', 'yarn', 'pnpm'],
236
+ default: detectedPackageManager
237
+ }
238
+ ])
230
239
 
231
- // Extract tasks from targetDefaults
232
- const tasks = nxJson.targetDefaults ? Object.keys(nxJson.targetDefaults) : []
240
+ // Merge answers with context and defaults
241
+ const mergedCtx = { ...ctx, ...defaultConfig, ...answers } as any
233
242
 
234
- // Sort tasks in a logical order (quality → test → build → e2e)
235
- const taskOrder = ['lint', 'typecheck', 'test', 'unit-test', 'build', 'integration-test', 'e2e', 'e2e-ci']
236
- const sortedTasks = tasks.sort((a, b) => {
237
- const aIdx = taskOrder.indexOf(a)
238
- const bIdx = taskOrder.indexOf(b)
239
- if (aIdx === -1 && bIdx === -1) return 0
240
- if (aIdx === -1) return 1
241
- if (bIdx === -1) return -1
242
- return aIdx - bIdx
243
- })
243
+ // Detect Nx workspace
244
+ const nxJsonPath = `${cwd}/nx.json`
245
+ let nxConfig = undefined
244
246
 
245
- console.log('✅ Nx workspace detected - enabling Nx integration')
246
- console.log(` Detected tasks: ${sortedTasks.join(', ')}`)
247
+ if (existsSync(nxJsonPath)) {
248
+ try {
249
+ const nxJsonContent = readFileSync(nxJsonPath, 'utf8')
250
+ const nxJson = JSON.parse(nxJsonContent)
247
251
 
248
- nxConfig = {
249
- enabled: true,
250
- tasks: sortedTasks,
251
- baseRef: 'origin/main',
252
- enableCache: true
253
- }
254
- } catch (error) {
255
- console.warn('⚠️ Found nx.json but could not parse it:', error)
256
- console.log(' Using default Nx configuration')
257
- nxConfig = {
258
- enabled: true,
259
- tasks: ['lint', 'test', 'build', 'integration-test'],
260
- baseRef: 'origin/main',
261
- enableCache: true
262
- }
263
- }
264
- }
252
+ // Extract tasks from targetDefaults
253
+ const tasks = nxJson.targetDefaults ? Object.keys(nxJson.targetDefaults) : []
265
254
 
266
- const configData: any = {
267
- ciProvider: mergedCtx.ciProvider,
268
- mergeStrategy: mergedCtx.mergeStrategy,
269
- requireConventionalCommits: mergedCtx.requireConventionalCommits,
270
- initialBranch: mergedCtx.initialBranch,
271
- finalBranch: mergedCtx.finalBranch,
272
- branchFlow: mergedCtx.branchFlow,
273
- autoMerge: mergedCtx.autoMerge,
274
- semver: {
275
- bumpRules: mergedCtx.semver.bumpRules
276
- },
277
- domains: mergedCtx.domains
278
- }
255
+ // Sort tasks in a logical order (quality → test → build → e2e)
256
+ const taskOrder = ['lint', 'typecheck', 'test', 'unit-test', 'build', 'integration-test', 'e2e', 'e2e-ci']
257
+ const sortedTasks = tasks.sort((a, b) => {
258
+ const aIdx = taskOrder.indexOf(a)
259
+ const bIdx = taskOrder.indexOf(b)
260
+ if (aIdx === -1 && bIdx === -1) return 0
261
+ if (aIdx === -1) return 1
262
+ if (bIdx === -1) return -1
263
+ return aIdx - bIdx
264
+ })
265
+
266
+ console.log('✅ Nx workspace detected - enabling Nx integration')
267
+ console.log(` Detected tasks: ${sortedTasks.join(', ')}`)
279
268
 
280
- // Add Nx config if detected
281
- if (nxConfig) {
282
- configData.nx = nxConfig
269
+ nxConfig = {
270
+ enabled: true,
271
+ tasks: sortedTasks,
272
+ baseRef: 'origin/main',
273
+ enableCache: true
274
+ }
275
+ } catch (error) {
276
+ console.warn('⚠️ Found nx.json but could not parse it:', error)
277
+ console.log(' Using default Nx configuration')
278
+ nxConfig = {
279
+ enabled: true,
280
+ tasks: ['lint', 'test', 'build', 'integration-test'],
281
+ baseRef: 'origin/main',
282
+ enableCache: true
283
283
  }
284
+ }
285
+ }
286
+
287
+ const configData: any = {
288
+ ciProvider: mergedCtx.ciProvider,
289
+ mergeStrategy: mergedCtx.mergeStrategy,
290
+ requireConventionalCommits: mergedCtx.requireConventionalCommits,
291
+ initialBranch: mergedCtx.initialBranch,
292
+ finalBranch: mergedCtx.finalBranch,
293
+ branchFlow: mergedCtx.branchFlow,
294
+ autoMerge: mergedCtx.autoMerge,
295
+ packageManager: mergedCtx.packageManager,
296
+ semver: {
297
+ bumpRules: mergedCtx.semver.bumpRules
298
+ },
299
+ domains: mergedCtx.domains
300
+ }
301
+
302
+ // Add Nx config if detected
303
+ if (nxConfig) {
304
+ configData.nx = nxConfig
305
+ }
284
306
 
285
- return writeJSON(() => configData, toFile('.pipecraftrc.json'))(mergedCtx)
286
- })
307
+ return writeJSON(() => configData, toFile('.pipecraftrc.json'))(mergedCtx)
308
+ }
@@ -51,6 +51,7 @@ import { logger } from '../utils/logger.js'
51
51
  // Import individual workflow templates
52
52
  import { generate as generateTagWorkflow } from '../templates/actions/create-tag.yml.tpl.js'
53
53
  import { generate as generateChangesWorkflow } from '../templates/actions/detect-changes.yml.tpl.js'
54
+ import { generate as generateChangesNxWorkflow } from '../templates/actions/detect-changes-nx.yml.tpl.js'
54
55
  import { generate as generateVersionWorkflow } from '../templates/actions/calculate-version.yml.tpl.js'
55
56
  import { generate as generateCreatePRWorkflow } from '../templates/actions/create-pr.yml.tpl.js'
56
57
  import { generate as generateBranchWorkflow } from '../templates/actions/manage-branch.yml.tpl.js'
@@ -159,7 +160,7 @@ export const generate = (ctx: PinionContext & { pipelinePath?: string, outputPip
159
160
  })
160
161
  .then((ctx) => {
161
162
  // Generate individual GitHub Actions and release-it config
162
- return Promise.all([
163
+ const generators = [
163
164
  generateChangesWorkflow(ctx),
164
165
  generateTagWorkflow(ctx),
165
166
  generateVersionWorkflow(ctx),
@@ -168,7 +169,14 @@ export const generate = (ctx: PinionContext & { pipelinePath?: string, outputPip
168
169
  generatePromoteBranchWorkflow(ctx),
169
170
  generateReleaseWorkflow(ctx),
170
171
  generateReleaseItConfig(ctx)
171
- ]).then(() => ctx)
172
+ ]
173
+
174
+ // Add Nx-specific action if Nx is enabled
175
+ if (ctx.config?.nx?.enabled) {
176
+ generators.push(generateChangesNxWorkflow(ctx))
177
+ }
178
+
179
+ return Promise.all(generators).then(() => ctx)
172
180
  })
173
181
  .then((ctx) => {
174
182
  // Generate the main pipeline (Nx or path-based)