openplanr 1.4.3 → 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 (42) 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/rules.d.ts.map +1 -1
  6. package/dist/cli/commands/rules.js +10 -1
  7. package/dist/cli/commands/rules.js.map +1 -1
  8. package/dist/generators/base-generator.d.ts +15 -1
  9. package/dist/generators/base-generator.d.ts.map +1 -1
  10. package/dist/generators/base-generator.js +21 -0
  11. package/dist/generators/base-generator.js.map +1 -1
  12. package/dist/generators/claude-generator.d.ts.map +1 -1
  13. package/dist/generators/claude-generator.js +25 -8
  14. package/dist/generators/claude-generator.js.map +1 -1
  15. package/dist/generators/codex-generator.d.ts.map +1 -1
  16. package/dist/generators/codex-generator.js +17 -2
  17. package/dist/generators/codex-generator.js.map +1 -1
  18. package/dist/generators/cursor-generator.d.ts +4 -0
  19. package/dist/generators/cursor-generator.d.ts.map +1 -1
  20. package/dist/generators/cursor-generator.js +67 -8
  21. package/dist/generators/cursor-generator.js.map +1 -1
  22. package/dist/models/types.d.ts +11 -0
  23. package/dist/models/types.d.ts.map +1 -1
  24. package/dist/templates/rules/claude/CLAUDE.md.hbs +14 -0
  25. package/dist/templates/rules/claude/openplanr-pipeline.md.hbs +68 -0
  26. package/dist/templates/rules/codex/_pipeline-section.md.hbs +150 -0
  27. package/dist/templates/rules/cursor/agents/backend-agent.md +299 -0
  28. package/dist/templates/rules/cursor/agents/db-agent.md +163 -0
  29. package/dist/templates/rules/cursor/agents/designer-agent.md +219 -0
  30. package/dist/templates/rules/cursor/agents/devops-agent.md +197 -0
  31. package/dist/templates/rules/cursor/agents/doc-gen-agent.md +203 -0
  32. package/dist/templates/rules/cursor/agents/frontend-agent.md +220 -0
  33. package/dist/templates/rules/cursor/agents/qa-agent.md +170 -0
  34. package/dist/templates/rules/cursor/agents/specification-agent.md +282 -0
  35. package/dist/templates/rules/cursor/openplanr-pipeline-plan.mdc.hbs +194 -0
  36. package/dist/templates/rules/cursor/openplanr-pipeline-ship.mdc.hbs +242 -0
  37. package/dist/templates/rules/cursor/openplanr-pipeline.mdc.hbs +134 -0
  38. package/dist/utils/constants.d.ts +21 -0
  39. package/dist/utils/constants.d.ts.map +1 -1
  40. package/dist/utils/constants.js +21 -0
  41. package/dist/utils/constants.js.map +1 -1
  42. package/package.json +1 -1
@@ -21,6 +21,7 @@ export function registerInitCommand(program) {
21
21
  .description('Initialize Planr in the current project')
22
22
  .option('--name <name>', 'project name')
23
23
  .option('--no-ai', 'skip AI setup')
24
+ .option('--no-pipeline-rules', 'skip openplanr-pipeline rules (generates agile rules only — equivalent to running `planr rules generate --scope agile` post-init)')
24
25
  .action(async (opts) => {
25
26
  const projectDir = program.opts().projectDir;
26
27
  const configPath = path.join(projectDir, CONFIG_FILENAME);
@@ -104,10 +105,19 @@ export function registerInitCommand(program) {
104
105
  await writeFile(estimationPath, estimationContent);
105
106
  logger.success('Created estimation guide');
106
107
  }
108
+ // Decide rule scope: agile (default agile workflow rules) or all (agile +
109
+ // openplanr-pipeline rules so Cursor/Codex/Claude pick up the spec-driven
110
+ // workflow automatically). Interactive default is `true` to give every new
111
+ // project a complete cross-runtime experience without an extra command.
112
+ const includePipelineRules = opts.pipelineRules === false
113
+ ? false
114
+ : await promptConfirm('Generate openplanr-pipeline rules (auto-activates spec-driven workflow in Cursor and Codex)?', true);
115
+ const ruleScope = includePipelineRules ? 'all' : 'agile';
107
116
  // Generate AI agent rules
108
117
  const generators = createGenerators(config, projectDir);
109
118
  let ruleFiles = 0;
110
119
  for (const generator of generators) {
120
+ generator.setScope(ruleScope);
111
121
  const files = await generator.generate({
112
122
  epics: [],
113
123
  features: [],
@@ -121,7 +131,7 @@ export function registerInitCommand(program) {
121
131
  ruleFiles++;
122
132
  }
123
133
  }
124
- logger.success(`Generated ${ruleFiles} AI agent rule file(s)`);
134
+ logger.success(`Generated ${ruleFiles} AI agent rule file(s) (scope: ${ruleScope})`);
125
135
  // Summary
126
136
  logger.heading('Planr initialized!');
127
137
  logger.info(`Project: ${projectName}`);
@@ -146,6 +156,9 @@ export function registerInitCommand(program) {
146
156
  }
147
157
  logger.dim(' planr epic create — Create your first epic');
148
158
  logger.dim(' planr quick "description" — Quick standalone task list (no agile ceremony)');
159
+ if (includePipelineRules) {
160
+ logger.dim(' planr spec create — Author a spec for the openplanr-pipeline workflow');
161
+ }
149
162
  logger.dim(' planr rules generate — Regenerate AI agent rules after changes');
150
163
  logger.dim(' planr config show — View configuration');
151
164
  });
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/rules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QA+CpD"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/rules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QA0DpD"}
@@ -3,6 +3,7 @@ import { createGenerator, createGenerators } from '../../generators/generator-fa
3
3
  import { loadConfig } from '../../services/config-service.js';
4
4
  import { ensureDir, writeFile } from '../../utils/fs.js';
5
5
  import { logger } from '../../utils/logger.js';
6
+ const VALID_SCOPES = ['agile', 'pipeline', 'all'];
6
7
  export function registerRulesCommand(program) {
7
8
  program
8
9
  .command('rules')
@@ -10,10 +11,17 @@ export function registerRulesCommand(program) {
10
11
  .command('generate')
11
12
  .description('Generate rule files for configured AI CLIs')
12
13
  .option('--target <target>', 'specific target: cursor, claude, codex, or all', 'all')
14
+ .option('--scope <scope>', 'rule set to generate: agile (default), pipeline, or all', 'agile')
13
15
  .option('--dry-run', 'show what would be generated without writing files', false)
14
16
  .action(async (opts) => {
15
17
  const projectDir = program.opts().projectDir;
16
18
  const config = await loadConfig(projectDir);
19
+ // Validate --scope.
20
+ const scope = opts.scope;
21
+ if (!VALID_SCOPES.includes(scope)) {
22
+ logger.error(`Invalid --scope value "${opts.scope}". Expected one of: ${VALID_SCOPES.join(', ')}.`);
23
+ process.exit(1);
24
+ }
17
25
  // Empty artifact collection — generators read from disk as needed
18
26
  const artifacts = {
19
27
  epics: [],
@@ -24,9 +32,10 @@ export function registerRulesCommand(program) {
24
32
  const generators = opts.target === 'all'
25
33
  ? createGenerators(config, projectDir)
26
34
  : [createGenerator(opts.target, config, projectDir)];
27
- logger.heading('Generating AI Agent Rules');
35
+ logger.heading(`Generating AI Agent Rules — scope=${scope}`);
28
36
  let totalFiles = 0;
29
37
  for (const generator of generators) {
38
+ generator.setScope(scope);
30
39
  const files = await generator.generate(artifacts);
31
40
  logger.info(`${generator.getTargetName()}: ${files.length} file(s)`);
32
41
  for (const file of files) {
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../src/cli/commands/rules.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAE1F,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,mBAAmB,EAAE,gDAAgD,EAAE,KAAK,CAAC;SACpF,MAAM,CAAC,WAAW,EAAE,oDAAoD,EAAE,KAAK,CAAC;SAChF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,UAAoB,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,kEAAkE;QAClE,MAAM,SAAS,GAAuB;YACpC,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,KAAK,KAAK;YACnB,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC;YACtC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAmB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QAEtE,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC5C,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,KAAK,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;YAErE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACxC,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACxC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/B,CAAC;gBACD,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,IAAI,UAAU,eAAe,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../src/cli/commands/rules.ts"],"names":[],"mappings":"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"}
@@ -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';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,SAAS,GACT,OAAO,GACP,MAAM,GACN,OAAO,GACP,SAAS,GACT,QAAQ,GACR,KAAK,GACL,WAAW,CAAC;AAChB,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtD;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5D;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,cAAc,GAAG,UAAU,CAAC;AAE5E,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAC5C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,yBAAyB,GACjC,SAAS,GACT,WAAW,GACX,QAAQ,GACR,aAAa,GACb,QAAQ,CAAC;AAEb,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC5C;AAED,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf;;;;;;;WAOG;QACH,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,EAAE,CAAC,EAAE,QAAQ,CAAC;IACd,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,yCAAyC;IACzC,YAAY,CAAC,EAAE;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,8FAA8F;QAC9F,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,qFAAqF;QACrF,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;KACrC,CAAC;IACF,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,iEAAiE;IACjE,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,IAAK,SAAQ,YAAY;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,OAAQ,SAAQ,YAAY;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mEAAmE;IACnE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mEAAmE;IACnE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kHAAkH;IAClH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,MAAO,SAAQ,YAAY;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,YAAY,EAAE,wBAAwB,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;CACxD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,yEAAyE;AACzE,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,qBAAqB,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE;QACT,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAC5B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;QAC/B,OAAO,EAAE,kBAAkB,EAAE,CAAC;QAC9B,KAAK,EAAE,kBAAkB,EAAE,CAAC;KAC7B,CAAC;IACF,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,sDAAsD;IACtD,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,+DAA+D;IAC/D,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,GAAG,cAAc,GAAG,UAAU,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,OAAO,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAMD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,uBAAuB,CAAC;IAChC,gEAAgE;IAChE,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAMD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAExF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AASD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,aAAa,GACb,YAAY,GACZ,kBAAkB,GAClB,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,8FAA8F;IAC9F,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,gGAAgG;IAChG,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,+BAA+B;AAC/B,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,MAAM,CAAC;AAE9C;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,aAAa,GACb,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,SAAS,GACT,QAAQ,GACR,SAAS,GACT,mBAAmB,GACnB,eAAe,GACf,kBAAkB,CAAC;AAEvB;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IACzD,6FAA6F;IAC7F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,+DAA+D;IAC/D,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,GAAG,GAAG,QAAQ,GAAG,aAAa,GAAG,gBAAgB,CAAC;QAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,mEAAmE;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACzC,0FAA0F;IAC1F,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B"}
@@ -103,6 +103,20 @@ All artifacts follow `PREFIX-NNN-slug.md` format:
103
103
  - FEAT-001, FEAT-002, ...
104
104
  - US-001, US-002, ...
105
105
  - TASK-001, TASK-002, ...
106
+ {{#if pipelineScope}}
107
+
108
+ ## OpenPlanr Pipeline (Path A)
109
+
110
+ This project pairs with the **openplanr-pipeline** Claude Code plugin.
111
+ See `openplanr-pipeline.md` (sibling file) for command reference and install instructions.
112
+
113
+ Active commands when the plugin is loaded:
114
+
115
+ - `/openplanr-pipeline:plan {feature}` — PO Phase (designer + specification agents, STOPS for human review)
116
+ - `/openplanr-pipeline:ship {feature}` — DEV Phase (frontend ‖ backend → qa → devops ‖ doc-gen → snapshot → marker)
117
+
118
+ Spec-driven mode artifacts live under `.planr/specs/SPEC-NNN-{slug}/` — same schema the planr CLI authors. Hard rule R1: never auto-chain plan → ship.
119
+ {{/if}}
106
120
  {{#if existingEpics}}
107
121
 
108
122
  ## Current Epics