beeops 0.1.6 → 0.1.7

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/command/bo.md CHANGED
@@ -86,17 +86,78 @@ done
86
86
 
87
87
  Polls for up to 120 seconds. Startup is complete when the `Claude Code` banner appears.
88
88
 
89
- ### Step 5: Send initial prompt
89
+ ### Step 5: Resolve execution mode and send initial prompt
90
90
 
91
- If `$ARGUMENTS` is non-empty, pass the user's instruction directly. Otherwise, send a default instruction to sync issues.
91
+ Determine what instruction to send to the Queen. Priority order:
92
+
93
+ 1. **`$ARGUMENTS` provided** → use it directly, skip settings/interactive
94
+ 2. **Settings file exists** (`.claude/beeops/settings.json`) → build instruction from settings
95
+ 3. **No arguments and no settings** → ask the user interactively
96
+
97
+ #### 5a. If `$ARGUMENTS` is non-empty
98
+
99
+ Use it directly:
92
100
 
93
101
  ```bash
94
102
  if [ -n "$ARGUMENTS" ]; then
95
103
  INSTRUCTION="$ARGUMENTS"
96
- else
97
- INSTRUCTION="Sync GitHub Issues to queue.yaml and complete all tasks."
98
104
  fi
105
+ ```
106
+
107
+ #### 5b. If no arguments, check for settings file
108
+
109
+ ```bash
110
+ SETTINGS_FILE=".claude/beeops/settings.json"
111
+ if [ -z "$ARGUMENTS" ] && [ -f "$SETTINGS_FILE" ]; then
112
+ echo "Found settings: $SETTINGS_FILE"
113
+ cat "$SETTINGS_FILE"
114
+ fi
115
+ ```
116
+
117
+ If the settings file exists, build the instruction based on its contents:
118
+
119
+ | Field | Type | Description |
120
+ |-------|------|-------------|
121
+ | `issues` | `number[]` | Specific issue numbers to process (e.g. `[42, 55]`) |
122
+ | `assignee` | `string` | `"me"` = only issues assigned to the current GitHub user, `"all"` = all open issues |
123
+ | `skip_review` | `boolean` | Skip review phase if true (default: false) |
124
+ | `priority` | `string` | Only process issues of this priority or higher (`"high"`, `"medium"`, `"low"`) |
125
+ | `labels` | `string[]` | Only process issues with these labels |
126
+
127
+ Build the `INSTRUCTION` string as follows:
128
+ - If `issues` is set: `"Sync GitHub Issues to queue.yaml and process only issues: #42, #55."`
129
+ - If `assignee` is `"me"`: `"Sync GitHub Issues to queue.yaml and process only issues assigned to me."`
130
+ - If `assignee` is `"all"` or not set: `"Sync GitHub Issues to queue.yaml and complete all tasks."`
131
+ - Append options: if `skip_review` is true, append `" Skip the review phase."`. If `priority` is set, append `" Only process issues with priority {priority} or higher."`. If `labels` is set, append `" Only process issues with labels: {labels}."`
132
+
133
+ #### 5c. If no arguments and no settings file, ask the user interactively
99
134
 
135
+ Present the following choices to the user (use AskUserQuestion or display the options and wait for input):
136
+
137
+ ```
138
+ How should the Queen process issues?
139
+
140
+ 1. Specify issue numbers (e.g. 42, 55, 100)
141
+ 2. Only issues assigned to me
142
+ 3. All open issues
143
+
144
+ Enter your choice (1/2/3):
145
+ ```
146
+
147
+ Based on the user's response:
148
+ - **Choice 1**: Ask for issue numbers, then set `INSTRUCTION="Sync GitHub Issues to queue.yaml and process only issues: #42, #55."`
149
+ - **Choice 2**: Set `INSTRUCTION="Sync GitHub Issues to queue.yaml and process only issues assigned to me."`
150
+ - **Choice 3**: Set `INSTRUCTION="Sync GitHub Issues to queue.yaml and complete all tasks."`
151
+
152
+ Optionally, after the mode is selected, ask:
153
+ ```
154
+ Save this as default settings? (y/n)
155
+ ```
156
+ If yes, write the corresponding `.claude/beeops/settings.json` file so the next run uses it automatically.
157
+
158
+ #### 5d. Send the instruction to the Queen
159
+
160
+ ```bash
100
161
  tmux send-keys -t "$SESSION:queen" "$INSTRUCTION"
101
162
  sleep 0.3
102
163
  tmux send-keys -t "$SESSION:queen" Enter
@@ -70,7 +70,12 @@ Analyze the received instructions (prompt) and formulate an execution plan.
70
70
 
71
71
  | Instruction Content | Action |
72
72
  |---------------------|--------|
73
- | No instructions / "Process Issues" etc. | Go directly to Phase 1 (Issue sync) |
73
+ | No instructions / "Process Issues" etc. | Go directly to Phase 1 (Issue sync) — process all open issues |
74
+ | "process only issues: #42, #55" etc. | Phase 1 with issue filter — only sync and process the specified issue numbers |
75
+ | "process only issues assigned to me" | Phase 1 with assignee filter — use `gh issue list --assignee @me` to fetch only assigned issues |
76
+ | "Only process issues with priority X or higher" | Phase 1 with priority filter — skip issues below the specified priority |
77
+ | "Only process issues with labels: X, Y" | Phase 1 with label filter — use `gh issue list --label X --label Y` |
78
+ | "Skip the review phase" | Set skip_review flag — after Leader completes, go directly to ci_checking instead of launching Review Leader |
74
79
  | Specific work instructions present | Decompose into tasks and add to queue.yaml |
75
80
 
76
81
  ### Task Decomposition Procedure
@@ -70,7 +70,12 @@ Phase 2: イベント駆動ループ
70
70
 
71
71
  | 指示の内容 | 処理 |
72
72
  |-----------|------|
73
- | 指示なし / 「Issue を消化」等 | Phase 1(Issue 同期)に直行 |
73
+ | 指示なし / 「Issue を消化」等 | Phase 1(Issue 同期)に直行 — 全オープン Issue を処理 |
74
+ | "process only issues: #42, #55" 等 | Phase 1(Issue フィルター付き) — 指定された Issue 番号のみ同期・処理 |
75
+ | "process only issues assigned to me" | Phase 1(担当者フィルター付き) — `gh issue list --assignee @me` で自分担当のみ取得 |
76
+ | "Only process issues with priority X or higher" | Phase 1(優先度フィルター付き) — 指定優先度未満をスキップ |
77
+ | "Only process issues with labels: X, Y" | Phase 1(ラベルフィルター付き) — `gh issue list --label X --label Y` |
78
+ | "Skip the review phase" | skip_review フラグ設定 — Leader 完了後、Review Leader を飛ばして直接 ci_checking へ |
74
79
  | 具体的な作業指示がある | タスク分解して queue.yaml に追加 |
75
80
 
76
81
  ### タスク分解の手順
package/contexts/queen.md CHANGED
@@ -70,7 +70,12 @@ Analyze the received instructions (prompt) and formulate an execution plan.
70
70
 
71
71
  | Instruction Content | Action |
72
72
  |---------------------|--------|
73
- | No instructions / "Process Issues" etc. | Go directly to Phase 1 (Issue sync) |
73
+ | No instructions / "Process Issues" etc. | Go directly to Phase 1 (Issue sync) — process all open issues |
74
+ | "process only issues: #42, #55" etc. | Phase 1 with issue filter — only sync and process the specified issue numbers |
75
+ | "process only issues assigned to me" | Phase 1 with assignee filter — use `gh issue list --assignee @me` to fetch only assigned issues |
76
+ | "Only process issues with priority X or higher" | Phase 1 with priority filter — skip issues below the specified priority |
77
+ | "Only process issues with labels: X, Y" | Phase 1 with label filter — use `gh issue list --label X --label Y` |
78
+ | "Skip the review phase" | Set skip_review flag — after Leader completes, go directly to ci_checking instead of launching Review Leader |
74
79
  | Specific work instructions present | Decompose into tasks and add to queue.yaml |
75
80
 
76
81
  ### Task Decomposition Procedure
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "beeops",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "3-layer multi-agent orchestration system (Queen → Leader → Worker) powered by tmux",
5
5
  "author": "YuugouOhno",
6
6
  "license": "MIT",