workflow-ai 1.0.44 → 1.0.45

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
@@ -2,6 +2,8 @@
2
2
 
3
3
  AI Agent Workflow Coordinator — kanban-based pipeline for AI coding agents.
4
4
 
5
+ Система координации AI-агентов через файловую канбан-доску. Автоматически оркестрирует выполнение задач: берёт тикеты из очереди, запускает нужного агента, проверяет результат и генерирует отчёты.
6
+
5
7
  ## Install
6
8
 
7
9
  ```bash
@@ -22,8 +24,21 @@ workflow run
22
24
 
23
25
  | Command | Description |
24
26
  |---------|-------------|
25
- | `workflow init` | Initialize `.workflow/` directory with kanban board structure |
26
- | `workflow run` | Execute the workflow pipeline (process tickets from in-progress to done) |
27
+ | `workflow init [path] [--force]` | Initialize `.workflow/` directory with kanban board structure |
28
+ | `workflow run [options]` | Execute the AI pipeline |
29
+ | `workflow update [path]` | Update global dir and recreate junctions/hardlinks |
30
+ | `workflow eject <skill> [path]` | Eject a skill (copy from global to project) |
31
+ | `workflow list [path]` | List skills with status (shared/ejected/project-only) |
32
+ | `workflow help` | Show help |
33
+ | `workflow version` | Show version |
34
+
35
+ ### Run Options
36
+
37
+ | Option | Description |
38
+ |--------|-------------|
39
+ | `--plan <plan>` | Plan ID to execute |
40
+ | `--config <path>` | Config file path |
41
+ | `--project <path>` | Project root (default: auto-detect) |
27
42
 
28
43
  ## Init
29
44
 
@@ -32,38 +47,123 @@ The `workflow init` command creates the `.workflow/` directory structure:
32
47
  ```
33
48
  .workflow/
34
49
  ├── config/
35
- └── config.yaml # Workflow configuration
50
+ ├── config.yaml # Workflow configuration
51
+ │ ├── pipeline.yaml # Pipeline stages and agents
52
+ │ └── ticket-movement-rules.yaml
36
53
  ├── plans/
37
- └── current/ # Current development plans
54
+ ├── current/ # Current development plans
55
+ │ └── archive/ # Archived plans
38
56
  ├── tickets/
39
- │ ├── backlog/ # Pending tickets
40
- │ ├── in-progress/ # Active tickets
41
- └── done/ # Completed tickets
42
- ├── reports/ # Generated reports
43
- └── logs/ # Pipeline execution logs
57
+ │ ├── backlog/ # Awaiting conditions
58
+ │ ├── ready/ # Ready to execute
59
+ ├── in-progress/ # Currently active
60
+ ├── blocked/ # Blocked by dependencies
61
+ │ ├── review/ # Awaiting review
62
+ │ └── done/ # Completed
63
+ ├── reports/ # Generated reports
64
+ ├── logs/ # Pipeline execution logs
65
+ ├── metrics/ # Performance metrics
66
+ ├── templates/ # Ticket/plan/report templates
67
+ └── src/
68
+ ├── skills/ # Skill instructions (symlinks to global)
69
+ └── scripts/ # Automation scripts (hardlinks to global)
44
70
  ```
45
71
 
46
- ## Run
72
+ ## Pipeline
73
+
74
+ The `workflow run` command executes a multi-stage pipeline:
75
+
76
+ 1. **pick-first-task** — select ticket from ready queue
77
+ 2. **check-plan-decomposition** — verify plan is decomposed into tickets
78
+ 3. **decompose-plan** — break down plan into tickets (if needed)
79
+ 4. **check-conditions** — validate ticket readiness conditions
80
+ 5. **move-to-ready** — move tickets from backlog to ready
81
+ 6. **pick-next-task** — select next ticket for execution
82
+ 7. **move-to-in-progress** — start execution
83
+ 8. **check-relevance** — verify ticket is still relevant
84
+ 9. **execute-task** — perform the work via AI agent
85
+ 10. **move-to-review** — submit for review
86
+ 11. **review-result** — validate results against Definition of Done
87
+ 12. **increment-task-attempts** — track retry attempts
88
+ 13. **move-ticket** — move to done/blocked based on review
89
+ 14. **create-report** — generate execution report
90
+ 15. **analyze-report / decompose-gaps** — analyze results and iterate
91
+
92
+ ### Supported Agents
93
+
94
+ | Agent | Description |
95
+ |-------|-------------|
96
+ | `claude-sonnet` | Claude Sonnet — fast model for simple tasks |
97
+ | `claude-opus` | Claude Opus — powerful model for complex tasks |
98
+ | `qwen-code` | Qwen Code — alternative agent |
99
+ | `kilo-code` | Kilo Code — multi-mode agent |
100
+
101
+ Agents are configured in `configs/pipeline.yaml`.
102
+
103
+ ## Skills
104
+
105
+ Built-in skills for different task types:
106
+
107
+ | Skill | Description |
108
+ |-------|-------------|
109
+ | `analyze-report` | Report analysis |
110
+ | `check-relevance` | Ticket relevance verification |
111
+ | `coach` | Skill management and improvement |
112
+ | `create-plan` | Plan creation |
113
+ | `create-report` | Report generation |
114
+ | `decompose-gaps` | Gap decomposition |
115
+ | `decompose-plan` | Plan decomposition into tickets |
116
+ | `deep-research` | Deep research |
117
+ | `execute-task` | Task execution |
118
+ | `review-result` | Result review against DoD |
119
+
120
+ Skills are stored globally in `~/.workflow/skills/` and symlinked into projects.
121
+
122
+ Use `workflow eject <skill>` to copy a skill into the project for customization.
123
+
124
+ ## Task Types
125
+
126
+ | Type | Prefix | Description |
127
+ |------|--------|-------------|
128
+ | `arch` | ARCH | Architecture & planning |
129
+ | `impl` | IMPL | Code implementation |
130
+ | `fix` | FIX | Bug fixes |
131
+ | `review` | REVIEW | Code/documentation review |
132
+ | `docs` | DOCS | Documentation |
133
+ | `admin` | ADMIN | Administrative tasks |
134
+
135
+ ## Configuration
47
136
 
48
- The `workflow run` command executes the pipeline:
137
+ ### `configs/config.yaml`
49
138
 
50
- 1. Reads tickets from `in-progress/`
51
- 2. Executes each task based on its type (IMPL, FIX, DOCS, REVIEW, etc.)
52
- 3. Moves completed tickets to `done/`
53
- 4. Generates reports in `reports/`
139
+ Main workflow configuration: project info, task types, priorities, statuses, condition types, paths, reporting settings.
54
140
 
55
- ## Configuration
141
+ ### `configs/pipeline.yaml`
56
142
 
57
- ### `.workflow/config/config.yaml`
143
+ Pipeline definition: agents, stages, flow control, goto-logic, retry strategies.
58
144
 
59
- Main workflow configuration:
145
+ ### `configs/ticket-movement-rules.yaml`
60
146
 
61
- ```yaml
62
- # Workflow settings
63
- id_counter: 1
64
- settings:
65
- auto_move_tickets: true
66
- generate_reports: true
147
+ Rules for automated ticket movement based on review status.
148
+
149
+ ## Project Structure
150
+
151
+ ```
152
+ workflow-ai/
153
+ ├── bin/ # CLI entry point
154
+ ├── src/
155
+ │ ├── cli.mjs # Command parsing
156
+ │ ├── runner.mjs # Core pipeline orchestrator
157
+ │ ├── init.mjs # Project initialization
158
+ │ ├── global-dir.mjs # Global ~/.workflow/ management
159
+ │ ├── junction-manager.mjs # Symlink/hardlink management
160
+ │ ├── wf-loader.mjs # Config loader
161
+ │ ├── lib/ # Utility libraries
162
+ │ └── tests/ # Test suite
163
+ ├── configs/ # Configuration files (source)
164
+ ├── templates/ # Workflow templates (source)
165
+ ├── agent-templates/ # AI agent instruction templates
166
+ └── package.json
67
167
  ```
68
168
 
69
169
  ## Requirements
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workflow-ai",
3
- "version": "1.0.44",
3
+ "version": "1.0.45",
4
4
  "description": "AI Agent Workflow Coordinator — kanban-based pipeline for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -101,6 +101,9 @@ export function createSkillJunctions(globalDir, projectSkillsDir) {
101
101
  const skillName = skill.name;
102
102
  const targetPath = join(globalSkillsDir, skillName);
103
103
  const linkPath = join(projectSkillsDir, skillName);
104
+ if (existsSync(linkPath) && !isJunction(linkPath)) {
105
+ continue;
106
+ }
104
107
  createJunction(targetPath, linkPath);
105
108
  }
106
109
  }