@hyperdrive.bot/bmad-workflow 1.0.6 → 1.0.8

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.
@@ -87,8 +87,8 @@ export default class Decompose extends Command {
87
87
  }),
88
88
  provider: Flags.string({
89
89
  default: 'claude',
90
- description: 'AI provider to use (claude or gemini)',
91
- options: ['claude', 'gemini'],
90
+ description: 'AI provider to use (claude, gemini, or opencode)',
91
+ options: ['claude', 'gemini', 'opencode'],
92
92
  }),
93
93
  'story-format': Flags.boolean({
94
94
  default: false,
@@ -119,7 +119,7 @@ export default class Decompose extends Command {
119
119
  try {
120
120
  // Validate provider
121
121
  if (!isProviderSupported(flags.provider)) {
122
- this.error(`Unsupported provider: ${flags.provider}. Use 'claude' or 'gemini'.`, { exit: 1 });
122
+ this.error(`Unsupported provider: ${flags.provider}. Use 'claude', 'gemini', or 'opencode'.`, { exit: 1 });
123
123
  }
124
124
  // Validate per-file mode
125
125
  if (flags['per-file'] && !flags['file-pattern']) {
@@ -42,8 +42,8 @@ export default class PrdFix extends Command {
42
42
  static flags = {
43
43
  provider: Flags.string({
44
44
  default: 'claude',
45
- description: 'AI provider to use (claude or gemini)',
46
- options: ['claude', 'gemini'],
45
+ description: 'AI provider to use (claude, gemini, or opencode)',
46
+ options: ['claude', 'gemini', 'opencode'],
47
47
  }),
48
48
  reference: Flags.string({
49
49
  description: 'Reference files for context (can be used multiple times)',
@@ -58,7 +58,7 @@ export default class PrdFix extends Command {
58
58
  const { args, flags } = await this.parse(PrdFix);
59
59
  // Validate provider
60
60
  if (!isProviderSupported(flags.provider)) {
61
- this.error(`Unsupported provider: ${flags.provider}. Use 'claude' or 'gemini'.`, { exit: 1 });
61
+ this.error(`Unsupported provider: ${flags.provider}. Use 'claude', 'gemini', or 'opencode'.`, { exit: 1 });
62
62
  }
63
63
  // Initialize services
64
64
  this.initializeServices(flags.provider);
@@ -75,8 +75,8 @@ export default class StoriesQaCommand extends Command {
75
75
  }),
76
76
  provider: Flags.string({
77
77
  default: 'claude',
78
- description: 'AI provider to use (claude or gemini)',
79
- options: ['claude', 'gemini'],
78
+ description: 'AI provider to use (claude, gemini, or opencode)',
79
+ options: ['claude', 'gemini', 'opencode'],
80
80
  }),
81
81
  'qa-prompt': Flags.string({
82
82
  description: 'Custom prompt/instructions for QA review phase',
@@ -78,8 +78,8 @@ export default class Workflow extends Command {
78
78
  }),
79
79
  provider: Flags.string({
80
80
  default: 'claude',
81
- description: 'AI provider to use (claude or gemini)',
82
- options: ['claude', 'gemini'],
81
+ description: 'AI provider to use (claude, gemini, or opencode)',
82
+ options: ['claude', 'gemini', 'opencode'],
83
83
  }),
84
84
  qa: Flags.boolean({
85
85
  default: false,
@@ -134,7 +134,7 @@ export default class Workflow extends Command {
134
134
  try {
135
135
  // Validate provider
136
136
  if (!isProviderSupported(flags.provider)) {
137
- this.error(`Unsupported provider: ${flags.provider}. Use 'claude' or 'gemini'.`, { exit: 1 });
137
+ this.error(`Unsupported provider: ${flags.provider}. Use 'claude', 'gemini', or 'opencode'.`, { exit: 1 });
138
138
  }
139
139
  // Initialize services with parallel concurrency and provider
140
140
  await this.initializeServices(flags.parallel, flags.provider);
@@ -80,7 +80,7 @@ export interface WorkflowConfig {
80
80
  *
81
81
  * @default 'claude'
82
82
  */
83
- provider?: 'claude' | 'gemini';
83
+ provider?: 'claude' | 'gemini' | 'opencode';
84
84
  /**
85
85
  * Run QA workflow after development completes
86
86
  *
@@ -32,9 +32,9 @@ export const agentFlags = {
32
32
  }),
33
33
  provider: Flags.string({
34
34
  default: 'claude',
35
- description: 'AI provider to use (claude or gemini). Defaults to claude.',
35
+ description: 'AI provider to use (claude, gemini, or opencode). Defaults to claude.',
36
36
  helpGroup: 'Agent Customization',
37
- options: ['claude', 'gemini'],
37
+ options: ['claude', 'gemini', 'opencode'],
38
38
  }),
39
39
  task: Flags.string({
40
40
  description: 'Override which task command to execute (e.g., develop-story, draft, review-implementation). Defaults to command-appropriate task.',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperdrive.bot/bmad-workflow",
3
3
  "description": "AI-driven development workflow orchestration CLI for BMAD projects",
4
- "version": "1.0.6",
4
+ "version": "1.0.8",
5
5
  "author": {
6
6
  "name": "DevSquad",
7
7
  "email": "marcelo@devsquad.email",
@@ -55,6 +55,7 @@
55
55
  "mocha": "^10.8.2",
56
56
  "oclif": "^4",
57
57
  "prettier": "^3.6.2",
58
+ "esmock": "^2.7.3",
58
59
  "proxyquire": "^2.1.3",
59
60
  "sinon": "^17.0.1",
60
61
  "ts-node": "^10.9.2",