openplanr 1.4.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +256 -250
  2. package/dist/cli/commands/init.d.ts.map +1 -1
  3. package/dist/cli/commands/init.js +14 -1
  4. package/dist/cli/commands/init.js.map +1 -1
  5. package/dist/cli/commands/linear.d.ts.map +1 -1
  6. package/dist/cli/commands/linear.js +5 -1
  7. package/dist/cli/commands/linear.js.map +1 -1
  8. package/dist/cli/commands/quick.d.ts.map +1 -1
  9. package/dist/cli/commands/quick.js +30 -6
  10. package/dist/cli/commands/quick.js.map +1 -1
  11. package/dist/cli/commands/rules.d.ts.map +1 -1
  12. package/dist/cli/commands/rules.js +10 -1
  13. package/dist/cli/commands/rules.js.map +1 -1
  14. package/dist/cli/commands/spec.js +1 -1
  15. package/dist/cli/commands/spec.js.map +1 -1
  16. package/dist/cli/commands/task.d.ts.map +1 -1
  17. package/dist/cli/commands/task.js +32 -6
  18. package/dist/cli/commands/task.js.map +1 -1
  19. package/dist/cli/commands/update.d.ts.map +1 -1
  20. package/dist/cli/commands/update.js +48 -2
  21. package/dist/cli/commands/update.js.map +1 -1
  22. package/dist/cli/helpers/bulk-checkbox-update.d.ts +41 -0
  23. package/dist/cli/helpers/bulk-checkbox-update.d.ts.map +1 -0
  24. package/dist/cli/helpers/bulk-checkbox-update.js +56 -0
  25. package/dist/cli/helpers/bulk-checkbox-update.js.map +1 -0
  26. package/dist/generators/base-generator.d.ts +15 -1
  27. package/dist/generators/base-generator.d.ts.map +1 -1
  28. package/dist/generators/base-generator.js +21 -0
  29. package/dist/generators/base-generator.js.map +1 -1
  30. package/dist/generators/claude-generator.d.ts.map +1 -1
  31. package/dist/generators/claude-generator.js +25 -8
  32. package/dist/generators/claude-generator.js.map +1 -1
  33. package/dist/generators/codex-generator.d.ts.map +1 -1
  34. package/dist/generators/codex-generator.js +17 -2
  35. package/dist/generators/codex-generator.js.map +1 -1
  36. package/dist/generators/cursor-generator.d.ts +4 -0
  37. package/dist/generators/cursor-generator.d.ts.map +1 -1
  38. package/dist/generators/cursor-generator.js +67 -8
  39. package/dist/generators/cursor-generator.js.map +1 -1
  40. package/dist/models/types.d.ts +11 -0
  41. package/dist/models/types.d.ts.map +1 -1
  42. package/dist/services/linear/body-formatters.d.ts +15 -4
  43. package/dist/services/linear/body-formatters.d.ts.map +1 -1
  44. package/dist/services/linear/body-formatters.js +16 -23
  45. package/dist/services/linear/body-formatters.js.map +1 -1
  46. package/dist/services/linear/plan-builders.d.ts +3 -2
  47. package/dist/services/linear/plan-builders.d.ts.map +1 -1
  48. package/dist/services/linear/plan-builders.js +9 -4
  49. package/dist/services/linear/plan-builders.js.map +1 -1
  50. package/dist/services/linear/task-status-aggregation.d.ts +25 -0
  51. package/dist/services/linear/task-status-aggregation.d.ts.map +1 -0
  52. package/dist/services/linear/task-status-aggregation.js +40 -0
  53. package/dist/services/linear/task-status-aggregation.js.map +1 -0
  54. package/dist/services/linear-pull-service.d.ts.map +1 -1
  55. package/dist/services/linear-pull-service.js +5 -8
  56. package/dist/services/linear-pull-service.js.map +1 -1
  57. package/dist/services/linear-push-service.d.ts +18 -2
  58. package/dist/services/linear-push-service.d.ts.map +1 -1
  59. package/dist/services/linear-push-service.js +114 -23
  60. package/dist/services/linear-push-service.js.map +1 -1
  61. package/dist/templates/rules/claude/CLAUDE.md.hbs +14 -0
  62. package/dist/templates/rules/claude/openplanr-pipeline.md.hbs +68 -0
  63. package/dist/templates/rules/codex/_pipeline-section.md.hbs +150 -0
  64. package/dist/templates/rules/cursor/agents/backend-agent.md +299 -0
  65. package/dist/templates/rules/cursor/agents/db-agent.md +163 -0
  66. package/dist/templates/rules/cursor/agents/designer-agent.md +219 -0
  67. package/dist/templates/rules/cursor/agents/devops-agent.md +197 -0
  68. package/dist/templates/rules/cursor/agents/doc-gen-agent.md +203 -0
  69. package/dist/templates/rules/cursor/agents/frontend-agent.md +220 -0
  70. package/dist/templates/rules/cursor/agents/qa-agent.md +170 -0
  71. package/dist/templates/rules/cursor/agents/specification-agent.md +282 -0
  72. package/dist/templates/rules/cursor/openplanr-pipeline-plan.mdc.hbs +194 -0
  73. package/dist/templates/rules/cursor/openplanr-pipeline-ship.mdc.hbs +242 -0
  74. package/dist/templates/rules/cursor/openplanr-pipeline.mdc.hbs +134 -0
  75. package/dist/utils/constants.d.ts +21 -0
  76. package/dist/utils/constants.d.ts.map +1 -1
  77. package/dist/utils/constants.js +21 -0
  78. package/dist/utils/constants.js.map +1 -1
  79. package/dist/utils/markdown.d.ts +8 -0
  80. package/dist/utils/markdown.d.ts.map +1 -1
  81. package/dist/utils/markdown.js +22 -0
  82. package/dist/utils/markdown.js.map +1 -1
  83. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/cli/commands/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/cli/commands/task.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAmFrD"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAuJrD"}
@@ -8,6 +8,7 @@ import { findArtifactTypeById, updateArtifactFields } from '../../services/artif
8
8
  import { loadConfig } from '../../services/config-service.js';
9
9
  import { VALID_STATUSES } from '../../utils/constants.js';
10
10
  import { logger } from '../../utils/logger.js';
11
+ import { applyBulkCheckboxes, resolveBulkStatusIntent } from '../helpers/bulk-checkbox-update.js';
11
12
  export function registerUpdateCommand(program) {
12
13
  program
13
14
  .command('update')
@@ -16,12 +17,29 @@ export function registerUpdateCommand(program) {
16
17
  .option('--status <status>', 'new status value')
17
18
  .option('--owner <owner>', 'new owner (epics and features only)')
18
19
  .option('--priority <priority>', 'new priority (backlog only)')
20
+ .option('--all-done', 'set status=done AND flip every `N.M` task checkbox to `[x]` (task / quick artifacts only)')
21
+ .option('--all-pending', 'set status=pending AND flip every `N.M` task checkbox to `[ ]` (task / quick artifacts only)')
19
22
  .option('--force', 'skip status validation')
20
23
  .action(async (ids, opts) => {
21
24
  const projectDir = program.opts().projectDir;
22
25
  const config = await loadConfig(projectDir);
23
- if (!opts.status && !opts.owner && !opts.priority) {
24
- logger.error('Provide at least one field to update: --status, --owner, or --priority');
26
+ // Resolve --all-done / --all-pending vs --status mutex once. If the
27
+ // user passed a bulk flag, every id below gets the bulk treatment.
28
+ let intent;
29
+ try {
30
+ intent = resolveBulkStatusIntent({
31
+ status: typeof opts.status === 'string' ? opts.status : undefined,
32
+ allDone: opts.allDone,
33
+ allPending: opts.allPending,
34
+ });
35
+ }
36
+ catch (err) {
37
+ logger.error(err.message);
38
+ process.exit(1);
39
+ return;
40
+ }
41
+ if (!intent.useBulk && !opts.status && !opts.owner && !opts.priority) {
42
+ logger.error('Provide at least one of: --status, --owner, --priority, --all-done, --all-pending');
25
43
  process.exit(1);
26
44
  }
27
45
  let hasError = false;
@@ -32,6 +50,34 @@ export function registerUpdateCommand(program) {
32
50
  hasError = true;
33
51
  continue;
34
52
  }
53
+ // Bulk-checkbox path: applies to artifact types that have task
54
+ // checkboxes (task, quick). Other types fall back to status-only.
55
+ if (intent.useBulk) {
56
+ if (type !== 'task' && type !== 'quick') {
57
+ logger.warn(`--all-done / --all-pending only flip checkboxes on task / quick artifacts. ${id} (${type}) will get a status update only.`);
58
+ try {
59
+ await updateArtifactFields(projectDir, config, type, id, {
60
+ status: intent.bulkStatus,
61
+ });
62
+ logger.success(`Updated ${id}: status=${intent.bulkStatus}`);
63
+ }
64
+ catch (err) {
65
+ logger.error(`Failed to update ${id}: ${err.message}`);
66
+ hasError = true;
67
+ }
68
+ continue;
69
+ }
70
+ try {
71
+ const result = await applyBulkCheckboxes(projectDir, config, type, id, intent.bulkStatus);
72
+ const checkboxNote = result.flippedAny ? ' (subtasks flipped)' : '';
73
+ logger.success(`Updated ${id}: status=${result.status}${checkboxNote}`);
74
+ }
75
+ catch (err) {
76
+ logger.error(`Failed to update ${id}: ${err.message}`);
77
+ hasError = true;
78
+ }
79
+ continue;
80
+ }
35
81
  // Validate status
36
82
  if (opts.status && !opts.force) {
37
83
  const allowed = VALID_STATUSES[type];
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Shared helpers for `--all-done` / `--all-pending` flags on `planr <type>
3
+ * update` commands. The flag flips every `N.M` task checkbox in the
4
+ * artifact body to one canonical state and sets the matching frontmatter
5
+ * `status` value, in a single user-facing operation.
6
+ *
7
+ * BL-015 — closes the gap where shipping a feature meant manually ticking
8
+ * every subtask checkbox after `planr <type> update --status done`.
9
+ */
10
+ import type { ArtifactType, OpenPlanrConfig } from '../../models/types.js';
11
+ export interface BulkCheckboxApplyResult {
12
+ /** The status value written to frontmatter (derived from the flag). */
13
+ status: 'done' | 'pending';
14
+ /** True when the body actually contained any checkboxes that flipped. */
15
+ flippedAny: boolean;
16
+ }
17
+ /**
18
+ * Validate that `--status`, `--all-done`, and `--all-pending` aren't
19
+ * combined in mutually-exclusive ways. Returns the resolved status value
20
+ * to write (or `null` to use the explicit `--status` path), or throws a
21
+ * user-friendly error.
22
+ */
23
+ export declare function resolveBulkStatusIntent(opts: {
24
+ status?: string;
25
+ allDone?: boolean;
26
+ allPending?: boolean;
27
+ }): {
28
+ useBulk: false;
29
+ status?: string;
30
+ } | {
31
+ useBulk: true;
32
+ bulkStatus: 'done' | 'pending';
33
+ };
34
+ /**
35
+ * Apply the bulk-checkbox flag to one artifact: rewrite the body (flip every
36
+ * `N.M` checkbox) and set the matching frontmatter status. Atomic per write
37
+ * (body + frontmatter are two separate atomic-write calls; a failure between
38
+ * them leaves the body flipped but status untouched — recoverable).
39
+ */
40
+ export declare function applyBulkCheckboxes(projectDir: string, config: OpenPlanrConfig, type: ArtifactType, id: string, bulkStatus: 'done' | 'pending'): Promise<BulkCheckboxApplyResult>;
41
+ //# sourceMappingURL=bulk-checkbox-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk-checkbox-update.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/bulk-checkbox-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAS3E,MAAM,WAAW,uBAAuB;IACtC,uEAAuE;IACvE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yEAAyE;IACzE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAgB1F;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,YAAY,EAClB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAkBlC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Shared helpers for `--all-done` / `--all-pending` flags on `planr <type>
3
+ * update` commands. The flag flips every `N.M` task checkbox in the
4
+ * artifact body to one canonical state and sets the matching frontmatter
5
+ * `status` value, in a single user-facing operation.
6
+ *
7
+ * BL-015 — closes the gap where shipping a feature meant manually ticking
8
+ * every subtask checkbox after `planr <type> update --status done`.
9
+ */
10
+ import { readArtifactRaw, updateArtifact, updateArtifactFields, } from '../../services/artifact-service.js';
11
+ import { logger } from '../../utils/logger.js';
12
+ import { applyAllCheckboxes } from '../../utils/markdown.js';
13
+ /**
14
+ * Validate that `--status`, `--all-done`, and `--all-pending` aren't
15
+ * combined in mutually-exclusive ways. Returns the resolved status value
16
+ * to write (or `null` to use the explicit `--status` path), or throws a
17
+ * user-friendly error.
18
+ */
19
+ export function resolveBulkStatusIntent(opts) {
20
+ const flagsSet = [opts.allDone, opts.allPending].filter(Boolean).length;
21
+ if (flagsSet > 1) {
22
+ throw new Error('--all-done and --all-pending are mutually exclusive.');
23
+ }
24
+ if (flagsSet === 0) {
25
+ return { useBulk: false, status: opts.status };
26
+ }
27
+ // Bulk flag set — --status is implied, so combining adds noise (or worse,
28
+ // a contradiction). Reject the combo with a clear pointer.
29
+ if (opts.status) {
30
+ throw new Error(`--status and ${opts.allDone ? '--all-done' : '--all-pending'} are mutually exclusive — the bulk flag implies a status. Use one or the other.`);
31
+ }
32
+ return { useBulk: true, bulkStatus: opts.allDone ? 'done' : 'pending' };
33
+ }
34
+ /**
35
+ * Apply the bulk-checkbox flag to one artifact: rewrite the body (flip every
36
+ * `N.M` checkbox) and set the matching frontmatter status. Atomic per write
37
+ * (body + frontmatter are two separate atomic-write calls; a failure between
38
+ * them leaves the body flipped but status untouched — recoverable).
39
+ */
40
+ export async function applyBulkCheckboxes(projectDir, config, type, id, bulkStatus) {
41
+ const raw = await readArtifactRaw(projectDir, config, type, id);
42
+ if (raw === null) {
43
+ throw new Error(`${type} ${id} not found.`);
44
+ }
45
+ const newContent = applyAllCheckboxes(raw, bulkStatus === 'done');
46
+ const flippedAny = newContent !== raw;
47
+ if (flippedAny) {
48
+ await updateArtifact(projectDir, config, type, id, newContent);
49
+ }
50
+ else {
51
+ logger.dim(` ${id}: no task checkboxes to flip — only frontmatter status will change.`);
52
+ }
53
+ await updateArtifactFields(projectDir, config, type, id, { status: bulkStatus });
54
+ return { status: bulkStatus, flippedAny };
55
+ }
56
+ //# sourceMappingURL=bulk-checkbox-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk-checkbox-update.js","sourceRoot":"","sources":["../../../src/cli/helpers/bulk-checkbox-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAS7D;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAIvC;IACC,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACxE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACjD,CAAC;IACD,0EAA0E;IAC1E,2DAA2D;IAC3D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,gBAAgB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,iFAAiF,CAC/I,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,MAAuB,EACvB,IAAkB,EAClB,EAAU,EACV,UAA8B;IAE9B,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,UAAU,KAAK,GAAG,CAAC;IAEtC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,qEAAqE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAEjF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC"}
@@ -1,8 +1,22 @@
1
- import type { ArtifactCollection, GeneratedFile, OpenPlanrConfig } from '../models/types.js';
1
+ import type { ArtifactCollection, GeneratedFile, GenerationScope, OpenPlanrConfig } from '../models/types.js';
2
2
  export declare abstract class BaseGenerator {
3
3
  protected config: OpenPlanrConfig;
4
4
  protected projectDir: string;
5
+ /**
6
+ * Which template set to render. Defaults to `'agile'` so existing call sites
7
+ * (no scope passed) preserve current behaviour byte-for-byte.
8
+ */
9
+ protected scope: GenerationScope;
5
10
  constructor(config: OpenPlanrConfig, projectDir: string);
11
+ /**
12
+ * Set the generation scope before calling `generate()`. Returns `this` for
13
+ * fluent chaining.
14
+ */
15
+ setScope(scope: GenerationScope): this;
16
+ /** True iff the current scope includes pipeline-aware rule files. */
17
+ protected includesPipeline(): boolean;
18
+ /** True iff the current scope includes agile-mode rule files. */
19
+ protected includesAgile(): boolean;
6
20
  abstract generate(artifacts: ArtifactCollection): Promise<GeneratedFile[]>;
7
21
  abstract getTargetName(): string;
8
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-generator.d.ts","sourceRoot":"","sources":["../../src/generators/base-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE7F,8BAAsB,aAAa;IAE/B,SAAS,CAAC,MAAM,EAAE,eAAe;IACjC,SAAS,CAAC,UAAU,EAAE,MAAM;gBADlB,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,MAAM;IAG9B,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1E,QAAQ,CAAC,aAAa,IAAI,MAAM;CACjC"}
1
+ {"version":3,"file":"base-generator.d.ts","sourceRoot":"","sources":["../../src/generators/base-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAE5B,8BAAsB,aAAa;IAQ/B,SAAS,CAAC,MAAM,EAAE,eAAe;IACjC,SAAS,CAAC,UAAU,EAAE,MAAM;IAR9B;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,eAAe,CAAW;gBAG/B,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,MAAM;IAG9B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAKtC,qEAAqE;IACrE,SAAS,CAAC,gBAAgB,IAAI,OAAO;IAIrC,iEAAiE;IACjE,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1E,QAAQ,CAAC,aAAa,IAAI,MAAM;CACjC"}
@@ -1,9 +1,30 @@
1
1
  export class BaseGenerator {
2
2
  config;
3
3
  projectDir;
4
+ /**
5
+ * Which template set to render. Defaults to `'agile'` so existing call sites
6
+ * (no scope passed) preserve current behaviour byte-for-byte.
7
+ */
8
+ scope = 'agile';
4
9
  constructor(config, projectDir) {
5
10
  this.config = config;
6
11
  this.projectDir = projectDir;
7
12
  }
13
+ /**
14
+ * Set the generation scope before calling `generate()`. Returns `this` for
15
+ * fluent chaining.
16
+ */
17
+ setScope(scope) {
18
+ this.scope = scope;
19
+ return this;
20
+ }
21
+ /** True iff the current scope includes pipeline-aware rule files. */
22
+ includesPipeline() {
23
+ return this.scope === 'pipeline' || this.scope === 'all';
24
+ }
25
+ /** True iff the current scope includes agile-mode rule files. */
26
+ includesAgile() {
27
+ return this.scope === 'agile' || this.scope === 'all';
28
+ }
8
29
  }
9
30
  //# sourceMappingURL=base-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-generator.js","sourceRoot":"","sources":["../../src/generators/base-generator.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,aAAa;IAErB;IACA;IAFZ,YACY,MAAuB,EACvB,UAAkB;QADlB,WAAM,GAAN,MAAM,CAAiB;QACvB,eAAU,GAAV,UAAU,CAAQ;IAC3B,CAAC;CAIL"}
1
+ {"version":3,"file":"base-generator.js","sourceRoot":"","sources":["../../src/generators/base-generator.ts"],"names":[],"mappings":"AAOA,MAAM,OAAgB,aAAa;IAQrB;IACA;IARZ;;;OAGG;IACO,KAAK,GAAoB,OAAO,CAAC;IAE3C,YACY,MAAuB,EACvB,UAAkB;QADlB,WAAM,GAAN,MAAM,CAAiB;QACvB,eAAU,GAAV,UAAU,CAAQ;IAC3B,CAAC;IAEJ;;;OAGG;IACH,QAAQ,CAAC,KAAsB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qEAAqE;IAC3D,gBAAgB;QACxB,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;IAC3D,CAAC;IAED,iEAAiE;IACvD,aAAa;QACrB,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;IACxD,CAAC;CAIF"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-generator.d.ts","sourceRoot":"","sources":["../../src/generators/claude-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,qBAAa,eAAgB,SAAQ,aAAa;IAChD,aAAa,IAAI,MAAM;IAIjB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAuBzE"}
1
+ {"version":3,"file":"claude-generator.d.ts","sourceRoot":"","sources":["../../src/generators/claude-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAI5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,qBAAa,eAAgB,SAAQ,aAAa;IAChD,aAAa,IAAI,MAAM;IAIjB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CA4CzE"}
@@ -1,6 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import { listArtifacts } from '../services/artifact-service.js';
3
3
  import { renderTemplate } from '../services/template-service.js';
4
+ import { OPENPLANR_PROTOCOL_VERSION } from '../utils/constants.js';
4
5
  import { BaseGenerator } from './base-generator.js';
5
6
  export class ClaudeGenerator extends BaseGenerator {
6
7
  getTargetName() {
@@ -9,19 +10,35 @@ export class ClaudeGenerator extends BaseGenerator {
9
10
  async generate(_artifacts) {
10
11
  const epics = await listArtifacts(this.projectDir, this.config, 'epic');
11
12
  const features = await listArtifacts(this.projectDir, this.config, 'feature');
12
- const content = await renderTemplate('rules/claude/CLAUDE.md.hbs', {
13
+ const date = new Date().toISOString().split('T')[0];
14
+ const files = [];
15
+ // Always render CLAUDE.md (the file's body adapts via {{#if pipelineScope}}).
16
+ const claudeContent = await renderTemplate('rules/claude/CLAUDE.md.hbs', {
13
17
  projectName: this.config.projectName,
14
18
  agilePath: this.config.outputPaths.agile,
15
- date: new Date().toISOString().split('T')[0],
19
+ date,
16
20
  existingEpics: epics,
17
21
  existingFeatures: features,
22
+ pipelineScope: this.includesPipeline(),
18
23
  }, this.config.templateOverrides);
19
- return [
20
- {
21
- path: path.join(this.config.outputPaths.claudeConfig, 'CLAUDE.md'),
22
- content,
23
- },
24
- ];
24
+ files.push({
25
+ path: path.join(this.config.outputPaths.claudeConfig, 'CLAUDE.md'),
26
+ content: claudeContent,
27
+ });
28
+ // When scope ⊇ pipeline, also write the sibling reference card.
29
+ if (this.includesPipeline()) {
30
+ const pipelineRefContent = await renderTemplate('rules/claude/openplanr-pipeline.md.hbs', {
31
+ projectName: this.config.projectName,
32
+ agilePath: this.config.outputPaths.agile,
33
+ date,
34
+ protocolVersion: OPENPLANR_PROTOCOL_VERSION,
35
+ }, this.config.templateOverrides);
36
+ files.push({
37
+ path: path.join(this.config.outputPaths.claudeConfig, 'openplanr-pipeline.md'),
38
+ content: pipelineRefContent,
39
+ });
40
+ }
41
+ return files;
25
42
  }
26
43
  }
27
44
  //# sourceMappingURL=claude-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-generator.js","sourceRoot":"","sources":["../../src/generators/claude-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,aAAa;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAA8B;QAC3C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE9E,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,4BAA4B,EAC5B;YACE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;YACxC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5C,aAAa,EAAE,KAAK;YACpB,gBAAgB,EAAE,QAAQ;SAC3B,EACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;QAEF,OAAO;YACL;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC;gBAClE,OAAO;aACR;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"claude-generator.js","sourceRoot":"","sources":["../../src/generators/claude-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,aAAa;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAA8B;QAC3C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,KAAK,GAAoB,EAAE,CAAC;QAElC,8EAA8E;QAC9E,MAAM,aAAa,GAAG,MAAM,cAAc,CACxC,4BAA4B,EAC5B;YACE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;YACxC,IAAI;YACJ,aAAa,EAAE,KAAK;YACpB,gBAAgB,EAAE,QAAQ;YAC1B,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE;SACvC,EACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;QACF,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC;YAClE,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,gEAAgE;QAChE,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAC7C,wCAAwC,EACxC;gBACE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;gBACxC,IAAI;gBACJ,eAAe,EAAE,0BAA0B;aAC5C,EACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;YACF,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,uBAAuB,CAAC;gBAC9E,OAAO,EAAE,kBAAkB;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-generator.d.ts","sourceRoot":"","sources":["../../src/generators/codex-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,qBAAa,cAAe,SAAQ,aAAa;IAC/C,aAAa,IAAI,MAAM;IAIjB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAkBzE"}
1
+ {"version":3,"file":"codex-generator.d.ts","sourceRoot":"","sources":["../../src/generators/codex-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,qBAAa,cAAe,SAAQ,aAAa;IAC/C,aAAa,IAAI,MAAM;IAIjB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAsCzE"}
@@ -1,16 +1,31 @@
1
1
  import path from 'node:path';
2
2
  import { renderTemplate } from '../services/template-service.js';
3
+ import { OPENPLANR_PROTOCOL_VERSION } from '../utils/constants.js';
3
4
  import { BaseGenerator } from './base-generator.js';
4
5
  export class CodexGenerator extends BaseGenerator {
5
6
  getTargetName() {
6
7
  return 'codex';
7
8
  }
8
9
  async generate(_artifacts) {
9
- const content = await renderTemplate('rules/codex/AGENTS.md.hbs', {
10
+ const baseData = {
10
11
  projectName: this.config.projectName,
11
12
  agilePath: this.config.outputPaths.agile,
12
13
  date: new Date().toISOString().split('T')[0],
13
- }, this.config.templateOverrides);
14
+ };
15
+ // Always render the agile-mode AGENTS.md body (preserves existing behaviour
16
+ // when scope=agile; the body is shared content across both scopes).
17
+ let content = '';
18
+ if (this.includesAgile()) {
19
+ content = await renderTemplate('rules/codex/AGENTS.md.hbs', baseData, this.config.templateOverrides);
20
+ }
21
+ // When scope ⊇ pipeline, append the pipeline orchestration section.
22
+ if (this.includesPipeline()) {
23
+ const pipelineData = { ...baseData, protocolVersion: OPENPLANR_PROTOCOL_VERSION };
24
+ const pipelineSection = await renderTemplate('rules/codex/_pipeline-section.md.hbs', pipelineData, this.config.templateOverrides);
25
+ // If we already have agile content, separate with a thematic break;
26
+ // if not, the pipeline section becomes the file body.
27
+ content = content ? `${content.trimEnd()}\n\n---\n\n${pipelineSection}` : pipelineSection;
28
+ }
14
29
  return [
15
30
  {
16
31
  path: path.join(this.config.outputPaths.codexConfig, 'AGENTS.md'),
@@ -1 +1 @@
1
- {"version":3,"file":"codex-generator.js","sourceRoot":"","sources":["../../src/generators/codex-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,aAAa;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAA8B;QAC3C,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,2BAA2B,EAC3B;YACE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;YACxC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7C,EACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;QAEF,OAAO;YACL;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC;gBACjE,OAAO;aACR;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"codex-generator.js","sourceRoot":"","sources":["../../src/generators/codex-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,aAAa;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAA8B;QAC3C,MAAM,QAAQ,GAAG;YACf,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;YACxC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7C,CAAC;QAEF,4EAA4E;QAC5E,oEAAoE;QACpE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,OAAO,GAAG,MAAM,cAAc,CAC5B,2BAA2B,EAC3B,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,EAAE,GAAG,QAAQ,EAAE,eAAe,EAAE,0BAA0B,EAAE,CAAC;YAClF,MAAM,eAAe,GAAG,MAAM,cAAc,CAC1C,sCAAsC,EACtC,YAAY,EACZ,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;YACF,oEAAoE;YACpE,sDAAsD;YACtD,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,cAAc,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QAC5F,CAAC;QAED,OAAO;YACL;gBACE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC;gBACjE,OAAO;aACR;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -3,5 +3,9 @@ import { BaseGenerator } from './base-generator.js';
3
3
  export declare class CursorGenerator extends BaseGenerator {
4
4
  getTargetName(): string;
5
5
  generate(artifacts: ArtifactCollection): Promise<GeneratedFile[]>;
6
+ /** Render a list of `.mdc.hbs` templates and emit one `GeneratedFile` per template. */
7
+ private renderMdcTemplates;
8
+ /** Copy vendored agent body files verbatim (no Handlebars) under `<rulesDir>/agents/`. */
9
+ private copyAgentBodies;
6
10
  }
7
11
  //# sourceMappingURL=cursor-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-generator.d.ts","sourceRoot":"","sources":["../../src/generators/cursor-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWpD,qBAAa,eAAgB,SAAQ,aAAa;IAChD,aAAa,IAAI,MAAM;IAIjB,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CA0BxE"}
1
+ {"version":3,"file":"cursor-generator.d.ts","sourceRoot":"","sources":["../../src/generators/cursor-generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAI5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAsCpD,qBAAa,eAAgB,SAAQ,aAAa;IAChD,aAAa,IAAI,MAAM;IAIjB,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAkCvE,uFAAuF;YACzE,kBAAkB;IAoBhC,0FAA0F;YAC5E,eAAe;CAY9B"}
@@ -1,7 +1,10 @@
1
1
  import path from 'node:path';
2
2
  import { renderTemplate } from '../services/template-service.js';
3
+ import { getTemplatesDir, OPENPLANR_PROTOCOL_VERSION } from '../utils/constants.js';
4
+ import { readFile } from '../utils/fs.js';
3
5
  import { BaseGenerator } from './base-generator.js';
4
- const CURSOR_RULE_TEMPLATES = [
6
+ /** Agile-mode rules — 6 `.mdc` files for the agile workflow (epic → feature → story → task). */
7
+ const AGILE_CURSOR_TEMPLATES = [
5
8
  'agile-checklist.mdc.hbs',
6
9
  'create-epic.mdc.hbs',
7
10
  'create-features.mdc.hbs',
@@ -9,6 +12,30 @@ const CURSOR_RULE_TEMPLATES = [
9
12
  'create-task-list.mdc.hbs',
10
13
  'implement-task-list.mdc.hbs',
11
14
  ];
15
+ /** Pipeline-mode rules — 3 `.mdc` files driving the openplanr-pipeline two-phase flow on Cursor. */
16
+ const PIPELINE_MDC_TEMPLATES = [
17
+ 'openplanr-pipeline.mdc.hbs',
18
+ 'openplanr-pipeline-plan.mdc.hbs',
19
+ 'openplanr-pipeline-ship.mdc.hbs',
20
+ ];
21
+ /**
22
+ * 8 named subagent roles dispatched by the pipeline rules. Body files (system
23
+ * prompts) are vendored from `openplanr-pipeline/agents/` at build time and
24
+ * copied verbatim to `.cursor/rules/agents/` at generation time. They are NOT
25
+ * Handlebars templates — Cursor's Composer reads them as plain system prompts.
26
+ *
27
+ * Keep in sync with `openplanr-pipeline/agents/{name}.md` body content.
28
+ */
29
+ const PIPELINE_AGENT_NAMES = [
30
+ 'db-agent',
31
+ 'designer-agent',
32
+ 'specification-agent',
33
+ 'frontend-agent',
34
+ 'backend-agent',
35
+ 'qa-agent',
36
+ 'devops-agent',
37
+ 'doc-gen-agent',
38
+ ];
12
39
  export class CursorGenerator extends BaseGenerator {
13
40
  getTargetName() {
14
41
  return 'cursor';
@@ -16,22 +43,54 @@ export class CursorGenerator extends BaseGenerator {
16
43
  async generate(artifacts) {
17
44
  const files = [];
18
45
  const rulesDir = this.config.outputPaths.cursorRules;
19
- const data = {
46
+ const baseData = {
20
47
  projectName: this.config.projectName,
21
48
  agilePath: this.config.outputPaths.agile,
22
49
  existingEpics: artifacts.epics.map((e) => ({ id: e.id, title: e.title })),
23
50
  existingFeatures: artifacts.features.map((f) => ({ id: f.id, title: f.title })),
24
51
  existingStories: artifacts.stories.map((s) => ({ id: s.id, title: s.title })),
25
52
  };
26
- for (const template of CURSOR_RULE_TEMPLATES) {
27
- const content = await renderTemplate(`rules/cursor/${template}`, data, this.config.templateOverrides);
28
- const outputName = template.replace('.hbs', '');
29
- files.push({
30
- path: path.join(rulesDir, outputName),
53
+ // ── Agile-mode rules ─────────────────────────────────────────────────
54
+ if (this.includesAgile()) {
55
+ files.push(...(await this.renderMdcTemplates(AGILE_CURSOR_TEMPLATES, baseData, rulesDir)));
56
+ }
57
+ // ── Pipeline-mode rules (Cursor adapter for openplanr-pipeline) ──────
58
+ if (this.includesPipeline()) {
59
+ const pipelineData = {
60
+ ...baseData,
61
+ protocolVersion: OPENPLANR_PROTOCOL_VERSION,
62
+ cursorRulesRoot: rulesDir,
63
+ agentNames: PIPELINE_AGENT_NAMES,
64
+ };
65
+ files.push(...(await this.renderMdcTemplates(PIPELINE_MDC_TEMPLATES, pipelineData, rulesDir)));
66
+ files.push(...(await this.copyAgentBodies(PIPELINE_AGENT_NAMES, rulesDir)));
67
+ }
68
+ return files;
69
+ }
70
+ /** Render a list of `.mdc.hbs` templates and emit one `GeneratedFile` per template. */
71
+ async renderMdcTemplates(templateFilenames, data, rulesDir) {
72
+ const out = [];
73
+ for (const filename of templateFilenames) {
74
+ const content = await renderTemplate(`rules/cursor/${filename}`, data, this.config.templateOverrides);
75
+ out.push({
76
+ path: path.join(rulesDir, filename.replace('.hbs', '')),
31
77
  content,
32
78
  });
33
79
  }
34
- return files;
80
+ return out;
81
+ }
82
+ /** Copy vendored agent body files verbatim (no Handlebars) under `<rulesDir>/agents/`. */
83
+ async copyAgentBodies(agentNames, rulesDir) {
84
+ const out = [];
85
+ const srcDir = path.join(getTemplatesDir(), 'rules', 'cursor', 'agents');
86
+ for (const name of agentNames) {
87
+ const content = await readFile(path.join(srcDir, `${name}.md`));
88
+ out.push({
89
+ path: path.join(rulesDir, 'agents', `${name}.md`),
90
+ content,
91
+ });
92
+ }
93
+ return out;
35
94
  }
36
95
  }
37
96
  //# sourceMappingURL=cursor-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-generator.js","sourceRoot":"","sources":["../../src/generators/cursor-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,qBAAqB,GAAG;IAC5B,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;IACzB,2BAA2B;IAC3B,0BAA0B;IAC1B,6BAA6B;CAC9B,CAAC;AAEF,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,aAAa;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAA6B;QAC1C,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC;QACrD,MAAM,IAAI,GAAG;YACX,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;YACxC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACzE,gBAAgB,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/E,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SAC9E,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,qBAAqB,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,gBAAgB,QAAQ,EAAE,EAC1B,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC9B,CAAC;YACF,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;gBACrC,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"cursor-generator.js","sourceRoot":"","sources":["../../src/generators/cursor-generator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
1
  export type ArtifactType = 'epic' | 'feature' | 'story' | 'task' | 'quick' | 'backlog' | 'sprint' | 'adr' | 'checklist';
2
2
  export type TargetCLI = 'cursor' | 'claude' | 'codex';
3
+ /**
4
+ * Which set of rule files `planr rules generate` should produce:
5
+ *
6
+ * - `agile` — the existing agile-mode templates (epic → feature → story → task,
7
+ * sprint, backlog). Default; preserves byte-for-byte legacy output.
8
+ * - `pipeline` — additional rule files that drive the openplanr-pipeline two-phase
9
+ * spec-driven flow (`/openplanr-pipeline:plan`, `/openplanr-pipeline:ship`)
10
+ * on the chosen runtime. Cross-runtime parity with the Claude Code plugin.
11
+ * - `all` — both sets, side-by-side.
12
+ */
13
+ export type GenerationScope = 'agile' | 'pipeline' | 'all';
3
14
  export type TaskStatus = 'pending' | 'in-progress' | 'done';
4
15
  export type AIProviderName = 'anthropic' | 'openai' | 'ollama';
5
16
  export type CodingAgentName = 'claude' | 'cursor' | 'codex';