owflow 0.1.2 → 0.1.4

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.
package/README.md CHANGED
@@ -1,169 +1,169 @@
1
- ![Owflow logo](logo.png)
2
-
3
- # Owflow
4
-
5
- **Structured, standards-aware development workflows for OpenCode**
6
-
7
- Describe what you want to build, and the plugin handles the rest - from specification through implementation to verification - while enforcing your project's coding standards at every step.
8
-
9
- Started as a simple OpenCode fork of [Maister Claude Code plugin](https://github.com/SkillPanel/maister), Owflow aims to deliver production ready workflows using the full [Opencode](https://opencode.ai/) plugin support.
10
-
11
- ## What You Get
12
-
13
- - **Guided workflows** for features, bug fixes, enhancements, performance, migrations, research, and product design
14
- - **Auto-discovered standards** from your codebase - config files, source patterns, and documentation are analyzed and enforced throughout every workflow
15
- - **Test-driven implementation** with automated planning, incremental verification, and full test suite runs before completion
16
- - **Pause and resume** any workflow - state is preserved across sessions
17
- - **Production readiness checks** including code review, reality assessment, and pragmatic over-engineering detection
18
-
19
- ## Getting Started
20
-
21
- ### Prerequisites
22
-
23
- - [Opencode](https://opencode.ai/) CLI installed and configured
24
- - [Node.js](https://nodejs.org/) >= 25
25
-
26
- ### Installation
27
-
28
- #### Install the plugin
29
-
30
- ```bash
31
- npm install owflow
32
- ```
33
-
34
- #### Add owflow to the `plugin` array in your `opencode.json` ([global or project-level](https://opencode.ai/docs/plugins/#load-order)):
35
-
36
- ```json
37
- {
38
- "plugin": ["owflow"]
39
- }
40
- ```
41
-
42
- ### Initial project setup
43
-
44
- Initialize your project to auto-detect coding standards and generate project documentation:
45
-
46
- ```bash
47
- /flow-init
48
- ```
49
-
50
- This scans your codebase and creates `.owflow/` with standards, docs, and task folders. May take a few minutes on larger projects.
51
-
52
- If you have another project already using Owflow, you can reuse its standards as a starting point:
53
-
54
- ```bash
55
- /flow-init --standards-from=/path/to/other-project
56
- ```
57
-
58
- ### First Workflow
59
-
60
- ```bash
61
- /development Add user profile page with avatar upload
62
- ```
63
-
64
- Or just discuss your task with LLM model and then run:
65
-
66
- ```bash
67
- /development
68
- ```
69
-
70
- The plugin picks up context from your conversation - no arguments needed.
71
-
72
- ## How It Works
73
-
74
- 1. You describe a task - either as an argument or just in conversation
75
- 2. The plugin classifies it (feature, bug, enhancement, etc.) and proposes a workflow
76
- 3. You confirm, and it guides you through phases: **requirements → spec → plan → implement → verify**
77
- 4. At each phase, it asks for your input and decisions
78
- 5. You get tested, verified code with a detailed work log
79
-
80
- All artifacts are saved in `.owflow/tasks/` organized by type and date.
81
-
82
- ### Context-Aware Commands
83
-
84
- Every workflow command works without arguments. The plugin reads your current conversation to extract the task description and auto-detect the task type:
85
-
86
- ```
87
- You: "The login page throws a 500 error when the session expires"
88
- You: /development
89
- → Auto-detects: bug fix, extracts description from conversation
90
- ```
91
-
92
- ```
93
- You: /standards-update
94
- → Scans conversation for patterns like "we always use..." or "prefer X over Y"
95
- ```
96
-
97
- You can always be explicit when you prefer - arguments and flags simply override the auto-detection.
98
-
99
- ## Supported Workflows
100
-
101
- | Command | Use When |
102
- | ----------------- | ------------------------------------------- |
103
- | `/development` | Features, bug fixes, enhancements |
104
- | `/research` | Research with synthesis and solution design |
105
- | `/performance` | Optimizing speed or resource usage |
106
- | `/migration` | Changing technologies or patterns |
107
- | `/product-design` | Product and feature design |
108
-
109
- Task type (feature/bug/enhancement) is auto-detected from context. Override with `--type=feature|bug|enhancement` if needed. Or use `/work` as a single entry point that routes to the right workflow.
110
-
111
- ### Quick Commands
112
-
113
- For smaller tasks that don't need a full workflow:
114
-
115
- | Command | Use When |
116
- | --------------- | ----------------------------------------------------------- |
117
- | `/quick-plan` | You want a plan with standards awareness before coding |
118
- | `/quick-dev` | You know what to do - just implement with standards applied |
119
- | `/quick-bugfix` | Quick TDD-driven bug fix — write failing test, fix, verify |
120
-
121
- ## Standards-Aware Development
122
-
123
- This is the key differentiator. Owflow doesn't just run workflows - it learns your project's conventions and enforces them:
124
-
125
- - **`flow-init`** scans config files, source code, and documentation to auto-detect your coding standards
126
- - **Continuous checking** - standards are consulted before specification, during planning, and while coding (not just at the start)
127
- - **`/standards-discover`** refreshes standards from your evolving codebase
128
- - **`/standards-update`** lets you add or refine standards manually, or sync from another project with `--from=PATH`
129
-
130
- Standards live in `.owflow/docs/standards/` and are indexed in `.owflow/docs/INDEX.md`.
131
-
132
- **Important**: Do not use plan mode with workflows (see [Best Practices](#best-practices) below).
133
-
134
- ## Beta Channel
135
-
136
- Want to try experimental features before they hit stable? Install from the beta channel:
137
-
138
- TBD
139
-
140
- ## Best Practices
141
-
142
- **Don't use plan mode when starting a workflow.** Planning is a built-in part of every workflow — the orchestrator creates specs, plans, and other files as it goes. Claude Code's plan mode restricts file creation, which conflicts with this. Let the workflow handle planning on its own.
143
-
144
- **Start workflows in a fresh session.** This is especially useful when chaining workflows (e.g., research → development). Research and product-design artifacts already contain all the context needed, so a clean session avoids noise from prior conversation.
145
-
146
- **Chain workflows by passing a task folder.** If you've completed a research or product-design workflow and want to build on those results, pass the task folder directly:
147
-
148
- ```bash
149
- /development .owflow/tasks/research/2026-01-12-oauth-research
150
- ```
151
-
152
- You can also append additional instructions to narrow scope or guide the workflow:
153
-
154
- ```bash
155
- /development .owflow/tasks/product-design/2026-03-10-dashboard-redesign Implement only phase 1
156
- ```
157
-
158
- ## Known Issues
159
-
160
- **Orchestrator may stall after long phases.** After context compaction (which typically happens after lengthy phases like implementation), the main agent may stop progressing automatically. If you notice it's idle, just type something like "continue" or "proceed" — it will pick up where it left off. You can also re-invoke the workflow in resume mode to reload the orchestrator state:
161
-
162
- ```bash
163
- /development .owflow/tasks/development/2026-03-24-my-feature
164
- ```
165
-
166
- ## Learn More
167
-
168
- - [Workflow Details](docs/workflows.md) - phases, examples, and task structure for each workflow type
169
- - [Full Command Reference](docs/commands.md) - all workflow, review, utility, and quick commands
1
+ ![Owflow logo](logo.png)
2
+
3
+ # Owflow
4
+
5
+ **Structured, standards-aware development workflows for OpenCode**
6
+
7
+ Describe what you want to build, and the plugin handles the rest - from specification through implementation to verification - while enforcing your project's coding standards at every step.
8
+
9
+ Started as a simple OpenCode fork of [Maister Claude Code plugin](https://github.com/SkillPanel/maister), Owflow aims to deliver production ready workflows using the full [Opencode](https://opencode.ai/) plugin support.
10
+
11
+ ## What You Get
12
+
13
+ - **Guided workflows** for features, bug fixes, enhancements, performance, migrations, research, and product design
14
+ - **Auto-discovered standards** from your codebase - config files, source patterns, and documentation are analyzed and enforced throughout every workflow
15
+ - **Test-driven implementation** with automated planning, incremental verification, and full test suite runs before completion
16
+ - **Pause and resume** any workflow - state is preserved across sessions
17
+ - **Production readiness checks** including code review, reality assessment, and pragmatic over-engineering detection
18
+
19
+ ## Getting Started
20
+
21
+ ### Prerequisites
22
+
23
+ - [Opencode](https://opencode.ai/) CLI installed and configured
24
+ - [Node.js](https://nodejs.org/) >= 25
25
+
26
+ ### Installation
27
+
28
+ #### Install the plugin
29
+
30
+ ```bash
31
+ npm install owflow
32
+ ```
33
+
34
+ #### Add owflow to the `plugin` array in your `opencode.json` ([global or project-level](https://opencode.ai/docs/plugins/#load-order)):
35
+
36
+ ```json
37
+ {
38
+ "plugin": ["owflow"]
39
+ }
40
+ ```
41
+
42
+ ### Initial project setup
43
+
44
+ Initialize your project to auto-detect coding standards and generate project documentation:
45
+
46
+ ```bash
47
+ /flow-init
48
+ ```
49
+
50
+ This scans your codebase and creates `.owflow/` with standards, docs, and task folders. May take a few minutes on larger projects.
51
+
52
+ If you have another project already using Owflow, you can reuse its standards as a starting point:
53
+
54
+ ```bash
55
+ /flow-init --standards-from=/path/to/other-project
56
+ ```
57
+
58
+ ### First Workflow
59
+
60
+ ```bash
61
+ /development Add user profile page with avatar upload
62
+ ```
63
+
64
+ Or just discuss your task with Agent and then run:
65
+
66
+ ```bash
67
+ /development
68
+ ```
69
+
70
+ The plugin picks up context from your conversation - no arguments needed.
71
+
72
+ ## How It Works
73
+
74
+ 1. You describe a task - either as an argument or just in conversation
75
+ 2. The plugin classifies it (feature, bug, enhancement, etc.) and proposes a workflow
76
+ 3. You confirm, and it guides you through phases: **requirements → spec → plan → implement → verify**
77
+ 4. At each phase, it asks for your input and decisions
78
+ 5. You get tested, verified code with a detailed work log
79
+
80
+ All artifacts are saved in `.owflow/tasks/` organized by type and date.
81
+
82
+ ### Context-Aware Commands
83
+
84
+ Every workflow command works without arguments. The plugin reads your current conversation to extract the task description and auto-detect the task type:
85
+
86
+ ```
87
+ You: "The login page throws a 500 error when the session expires"
88
+ You: /development
89
+ → Auto-detects: bug fix, extracts description from conversation
90
+ ```
91
+
92
+ ```
93
+ You: /standards-update
94
+ → Scans conversation for patterns like "we always use..." or "prefer X over Y"
95
+ ```
96
+
97
+ You can always be explicit when you prefer - arguments and flags simply override the auto-detection.
98
+
99
+ ## Supported Workflows
100
+
101
+ | Command | Use When |
102
+ | ----------------- | ------------------------------------------- |
103
+ | `/development` | Features, bug fixes, enhancements |
104
+ | `/research` | Research with synthesis and solution design |
105
+ | `/performance` | Optimizing speed or resource usage |
106
+ | `/migration` | Changing technologies or patterns |
107
+ | `/product-design` | Product and feature design |
108
+
109
+ Task type (feature/bug/enhancement) is auto-detected from context. Override with `--type=feature|bug|enhancement` if needed. Or use `/work` as a single entry point that routes to the right workflow.
110
+
111
+ ### Quick Commands
112
+
113
+ For smaller tasks that don't need a full workflow:
114
+
115
+ | Command | Use When |
116
+ | --------------- | ----------------------------------------------------------- |
117
+ | `/quick-plan` | You want a plan with standards awareness before coding |
118
+ | `/quick-dev` | You know what to do - just implement with standards applied |
119
+ | `/quick-bugfix` | Quick TDD-driven bug fix — write failing test, fix, verify |
120
+
121
+ ## Standards-Aware Development
122
+
123
+ This is the key differentiator. Owflow doesn't just run workflows - it learns your project's conventions and enforces them:
124
+
125
+ - **`flow-init`** scans config files, source code, and documentation to auto-detect your coding standards
126
+ - **Continuous checking** - standards are consulted before specification, during planning, and while coding (not just at the start)
127
+ - **`/standards-discover`** refreshes standards from your evolving codebase
128
+ - **`/standards-update`** lets you add or refine standards manually, or sync from another project with `--from=PATH`
129
+
130
+ Standards live in `.owflow/docs/standards/` and are indexed in `.owflow/docs/INDEX.md`.
131
+
132
+ **Important**: Do not use plan mode with workflows (see [Best Practices](#best-practices) below).
133
+
134
+ ## Beta Channel
135
+
136
+ Want to try experimental features before they hit stable? Install from the beta channel:
137
+
138
+ TBD
139
+
140
+ ## Best Practices
141
+
142
+ **Don't use plan mode when starting a workflow.** Planning is a built-in part of every workflow — the orchestrator creates specs, plans, and other files as it goes. OpenCode's plan mode restricts file creation, which conflicts with this. Let the workflow handle planning on its own.
143
+
144
+ **Start workflows in a fresh session.** This is especially useful when chaining workflows (e.g., research → development). Research and product-design artifacts already contain all the context needed, so a clean session avoids noise from prior conversation.
145
+
146
+ **Chain workflows by passing a task folder.** If you've completed a research or product-design workflow and want to build on those results, pass the task folder directly:
147
+
148
+ ```bash
149
+ /development .owflow/tasks/research/2026-01-12-oauth-research
150
+ ```
151
+
152
+ You can also append additional instructions to narrow scope or guide the workflow:
153
+
154
+ ```bash
155
+ /development .owflow/tasks/product-design/2026-03-10-dashboard-redesign Implement only phase 1
156
+ ```
157
+
158
+ ## Known Issues
159
+
160
+ **Orchestrator may stall after long phases.** After context compaction (which typically happens after lengthy phases like implementation), the main agent may stop progressing automatically. If you notice it's idle, just type something like "continue" or "proceed" — it will pick up where it left off. You can also re-invoke the workflow in resume mode to reload the orchestrator state:
161
+
162
+ ```bash
163
+ /development .owflow/tasks/development/2026-03-24-my-feature
164
+ ```
165
+
166
+ ## Learn More
167
+
168
+ - [Workflow Details](docs/workflows.md) - phases, examples, and task structure for each workflow type
169
+ - [Full Command Reference](docs/commands.md) - all workflow, review, utility, and quick commands
@@ -299,7 +299,7 @@ Categorized by severity (Critical/Major/Minor/Cosmetic):
299
299
  Detect unavailable tools and provide setup instructions:
300
300
 
301
301
  - Install playwright-mcp
302
- - Configure MCP server in Claude Code
302
+ - Configure MCP server in OpenCode
303
303
  - Restart and retry
304
304
 
305
305
  ### Application Not Running
@@ -5,7 +5,7 @@ description: Enter planning mode with AI SDLC standards awareness
5
5
 
6
6
  # Planning Mode with Standards Awareness
7
7
 
8
- Enter Claude Code's planning mode for a task, with automatic discovery of project standards from `.owflow/docs/`.
8
+ Enter OpenCode's planning mode for a task, with automatic discovery of project standards from `.owflow/docs/`.
9
9
 
10
10
  ## Usage
11
11
 
@@ -37,7 +37,7 @@ Enter Claude Code's planning mode for a task, with automatic discovery of projec
37
37
 
38
38
  ### Step 2: Discover and Read Standards (BEFORE Plan Mode)
39
39
 
40
- **CRITICAL: This step MUST complete before calling EnterPlanMode.**
40
+ **CRITICAL: This step MUST complete before calling Plan Agent.**
41
41
 
42
42
  1. **Check if `.owflow/docs/INDEX.md` exists**
43
43
  - **If not exists**: Note that no standards are available, skip to Step 3
@@ -56,7 +56,7 @@ Enter Claude Code's planning mode for a task, with automatic discovery of projec
56
56
 
57
57
  ### Step 3: Enter Planning Mode
58
58
 
59
- **Use the `EnterPlanMode` tool to trigger Claude Code's builtin planning mode.**
59
+ **Use the `Plan agent` to trigger OpenCode's builtin planning mode.**
60
60
 
61
61
  **Standards context from Step 2 MUST actively inform all plan mode phases:**
62
62
 
@@ -70,11 +70,11 @@ The planning mode will:
70
70
  2. Launch Plan agents to design implementation approach (with standards constraints)
71
71
  3. Review and verify alignment with user intent
72
72
  4. Write final plan to plan file (with standards woven into steps)
73
- 5. Call ExitPlanMode for user approval (gated on mandatory standards sections)
73
+ 5. Ask for user approval (gated on mandatory standards sections)
74
74
 
75
- ### ExitPlanMode Gate: Mandatory Standards Sections
75
+ ### Approval question gate: Mandatory Standards Sections
76
76
 
77
- **BLOCKING: Do NOT call `ExitPlanMode` until the plan file contains these sections:**
77
+ **BLOCKING: Do NOT call ask user for approval until the plan file contains these sections:**
78
78
 
79
79
  1. **"## Applicable Standards"** — list each standard file that was read, with key guidelines extracted from each. If no standards exist, state: "No AI SDLC standards found. Consider running `/flow-init`."
80
80
 
@@ -85,7 +85,7 @@ The planning mode will:
85
85
  - [ ] New components use TypeScript strict mode (from `standards/frontend/components.md`)
86
86
  ```
87
87
 
88
- If these sections are missing from the plan file, add them before calling ExitPlanMode.
88
+ If these sections are missing from the plan file, add them before asking user for approval.
89
89
 
90
90
  ### Graceful Fallback
91
91
 
@@ -102,9 +102,9 @@ project documentation and coding standards for better consistency.
102
102
 
103
103
  1. **Parses** task description from user input
104
104
  2. **Discovers and READS** applicable standard files from `.owflow/docs/` (BEFORE plan mode)
105
- 3. **Enters** Claude Code's builtin planning mode via `EnterPlanMode` with standards already loaded
105
+ 3. **Enters** OpenCode's builtin planning mode via delegating to `Plan Agent` with standards already loaded
106
106
  4. **Produces** a plan file with implementation approach, applicable standards, and compliance checklist
107
- 5. **Gates** ExitPlanMode on mandatory standards sections in the plan file
107
+ 5. **Gates** Approval question on mandatory standards sections in the plan file
108
108
 
109
109
  ## Benefits Over Manual Planning
110
110
 
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import fs from "node:fs";
7
7
  import { fileURLToPath } from "url";
8
8
  import matter from "gray-matter";
9
9
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
10
- const PLUGIN_ROOT = path.resolve(__dirname, "../..");
10
+ const PLUGIN_ROOT = __dirname; // Points to dist/ where skills/commands/agents are copied
11
11
  /**
12
12
  * Resolves model aliases to the configured small_model value.
13
13
  * Maps common small/fast model aliases to OpenCode's small_model config.
@@ -69,7 +69,7 @@ const prepareAgent = ({ data, content }, smallModel) => {
69
69
  ...(data.hidden === "true" && { hidden: true }),
70
70
  };
71
71
  };
72
- export const OwflowPlugin = async ({ $, directory }) => {
72
+ const OwflowPlugin = async ({ $, directory }) => {
73
73
  const agentBySession = new Map();
74
74
  return {
75
75
  /**
@@ -195,3 +195,4 @@ and determine the next phase. Use the question tool at Phase Gates.`);
195
195
  },
196
196
  };
197
197
  };
198
+ export default OwflowPlugin;
@@ -185,7 +185,7 @@ Use this to add new documentation to the project, either from plugin baseline or
185
185
  - Ask for the filename and purpose
186
186
  - Create a template file with appropriate frontmatter and structure
187
187
  4. Update INDEX.md to include the new documentation (see "Manage INDEX.md" operation)
188
- 5. If this is a technical standard and corresponds to a Claude Code Skill, ensure consistency
188
+ 5. If this is a technical standard and corresponds to a Agent Skill, ensure consistency
189
189
 
190
190
  **Result:** New documentation is added to the project and indexed in INDEX.md.
191
191
 
@@ -211,7 +211,7 @@ Use this to help the user update or modify existing project documentation.
211
211
  - Check if INDEX.md needs updating (if the purpose/description changed significantly)
212
212
  - If updating tech-stack.md or architecture.md, suggest reviewing AGENTS.md for consistency
213
213
  6. For technical standards:
214
- - If a corresponding Claude Code Skill exists, suggest reviewing it for consistency
214
+ - If a corresponding Agent Skill exists, suggest reviewing it for consistency
215
215
  - Standards should align with actual code patterns in the project
216
216
 
217
217
  **Result:** Documentation is updated to reflect current project state and team decisions.
@@ -273,7 +273,7 @@ Use this to ensure the project's AGENTS.md properly integrates with the document
273
273
  2. If it doesn't exist, ask the user if they want to create it
274
274
  3. Look for a documentation reference section in AGENTS.md
275
275
  4. If the section doesn't exist or is incomplete:
276
- - Read `references/claude-md-template.md` for the template
276
+ - Read `references/agents-md-template.md` for the template
277
277
  - Add the template section to AGENTS.md
278
278
  5. Ensure the documentation section is placed prominently in AGENTS.md (near the top)
279
279
  6. Verify that the INDEX.md path is correct and the file exists
@@ -307,7 +307,7 @@ Use this to check that documentation is consistent, up-to-date, and properly int
307
307
  - Check if they contain placeholder text vs. actual project information
308
308
  - Warn if critical documentation is missing or empty
309
309
  5. **Check standards consistency:**
310
- - If Claude Code Skills exist, check if corresponding standards documentation exists
310
+ - If Agent Skills exist, check if corresponding standards documentation exists
311
311
  - If standards exist without skills, suggest creating skills (if appropriate)
312
312
  - Report any inconsistencies
313
313
  6. **Generate validation report:**
@@ -330,42 +330,42 @@ Use this to check that documentation is consistent, up-to-date, and properly int
330
330
 
331
331
  ```
332
332
  User: "Set up documentation for this project"
333
- Claude: [Executes Initialize Documentation - creates structure, copies baseline docs, generates INDEX.md, updates AGENTS.md, gathers project info]
333
+ Agent: [Executes Initialize Documentation - creates structure, copies baseline docs, generates INDEX.md, updates AGENTS.md, gathers project info]
334
334
  ```
335
335
 
336
336
  **Update project vision:**
337
337
 
338
338
  ```
339
339
  User: "I want to update our project vision to include AI-first approach"
340
- Claude: [Executes Update Documentation - reads current vision.md, helps user edit it, updates INDEX.md if needed]
340
+ Agent: [Executes Update Documentation - reads current vision.md, helps user edit it, updates INDEX.md if needed]
341
341
  ```
342
342
 
343
343
  **Add custom documentation:**
344
344
 
345
345
  ```
346
346
  User: "Add documentation for our deployment process"
347
- Claude: [Executes Add Documentation File - creates custom project/deployment.md, updates INDEX.md]
347
+ Agent: [Executes Add Documentation File - creates custom project/deployment.md, updates INDEX.md]
348
348
  ```
349
349
 
350
350
  **Reference plugin baseline:**
351
351
 
352
352
  ```
353
353
  User: "Show me the plugin's baseline error handling standard"
354
- Claude: [Executes Use Plugin Documentation as Reference - shows plugin baseline, compares with project version, no changes unless user requests]
354
+ Agent: [Executes Use Plugin Documentation as Reference - shows plugin baseline, compares with project version, no changes unless user requests]
355
355
  ```
356
356
 
357
357
  **Validate documentation:**
358
358
 
359
359
  ```
360
360
  User: "Check if our documentation is complete and consistent"
361
- Claude: [Executes Validate Documentation Consistency - checks structure, INDEX.md, AGENTS.md integration, generates report]
361
+ Agent: [Executes Validate Documentation Consistency - checks structure, INDEX.md, AGENTS.md integration, generates report]
362
362
  ```
363
363
 
364
364
  **Manage INDEX.md:**
365
365
 
366
366
  ```
367
367
  User: "Rebuild the documentation index"
368
- Claude: [Executes Manage INDEX.md - scans .owflow/docs/, regenerates comprehensive INDEX.md]
368
+ Agent: [Executes Manage INDEX.md - scans .owflow/docs/, regenerates comprehensive INDEX.md]
369
369
  ```
370
370
 
371
371
  ---