@krodak/clickup-cli 1.18.1 → 1.19.1
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/.claude-plugin/plugin.json +1 -1
- package/README.md +50 -19
- package/dist/chunk-3VDSLYDJ.js +2041 -0
- package/dist/index.js +472 -1990
- package/dist/sprint-5VYRQK6Z.js +19 -0
- package/package.json +1 -1
- package/skills/clickup-cli/SKILL.md +106 -89
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
SPRINT_KEYWORDS,
|
|
4
|
+
extractSpaceKeywords,
|
|
5
|
+
findActiveSprintList,
|
|
6
|
+
findRelatedSpaces,
|
|
7
|
+
parseSprintDates,
|
|
8
|
+
resolveActiveSprintListId,
|
|
9
|
+
runSprintCommand
|
|
10
|
+
} from "./chunk-3VDSLYDJ.js";
|
|
11
|
+
export {
|
|
12
|
+
SPRINT_KEYWORDS,
|
|
13
|
+
extractSpaceKeywords,
|
|
14
|
+
findActiveSprintList,
|
|
15
|
+
findRelatedSpaces,
|
|
16
|
+
parseSprintDates,
|
|
17
|
+
resolveActiveSprintListId,
|
|
18
|
+
runSprintCommand
|
|
19
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clickup
|
|
3
|
-
description: 'Use when managing ClickUp tasks, sprints, or comments via the `cup` CLI tool. Triggers: task queries, status updates, sprint tracking, creating subtasks, posting comments, threaded replies, standup summaries, searching tasks, checking overdue items, assigning tasks, listing spaces and lists, opening tasks in browser, checking auth or config, setting custom fields, deleting tasks, managing tags, managing checklists, editing comments, task links, time tracking, attachments, file uploads, listing members, listing fields, duplicating tasks, bulk operations, goals, key results, saved filters.'
|
|
3
|
+
description: 'Use when managing ClickUp tasks, sprints, or comments via the `cup` CLI tool. Triggers: task queries, status updates, sprint tracking, creating subtasks, posting comments, threaded replies, standup summaries, searching tasks, checking overdue items, assigning tasks, listing spaces and lists, opening tasks in browser, checking auth or config, setting custom fields, deleting tasks, managing tags, managing checklists, editing comments, task links, time tracking, attachments, file uploads, listing members, listing fields, duplicating tasks, bulk operations, goals, key results, saved filters, favorites.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# ClickUp CLI (`cup`) - skill version 1.17.0
|
|
@@ -86,69 +86,72 @@ All commands support `--help` for full flag details. All commands support `--jso
|
|
|
86
86
|
|
|
87
87
|
### Write
|
|
88
88
|
|
|
89
|
-
| Command | What it does
|
|
90
|
-
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
91
|
-
| `cup create -n name [-l listId] [-p parentId] [-d desc] [-s status] [--priority p] [--due-date d] [--start-date d] [--time-estimate t] [--assignee id\|me] [--tags t] [--custom-item-id n] [--template id]`
|
|
92
|
-
| `cup update <id> [-n name] [-d desc] [-s status] [--priority p] [--due-date d\|none] [--start-date d] [--time-estimate t] [--assignee id\|me] [--remove-assignee id\|me] [--parent id] [--detach] [--archive] [--unarchive] [--field "Name" val]` | Update task fields (including custom fields)
|
|
93
|
-
| `cup comment <id> -m text [--notify-all]` | Post comment on task
|
|
94
|
-
| `cup comment-edit <commentId> -m text [--resolved] [--unresolved]` | Edit a comment
|
|
95
|
-
| `cup comment-delete <commentId
|
|
96
|
-
| `cup replies <commentId>` | List threaded replies
|
|
97
|
-
| `cup reply <commentId> -m text [--notify-all]` | Reply to a comment
|
|
98
|
-
| `cup assign <id> [--to userId\|me] [--remove userId\|me]` | Assign/unassign users
|
|
99
|
-
| `cup depend <id> [--on taskId] [--blocks taskId] [--remove]` | Add/remove dependencies
|
|
100
|
-
| `cup move <id> [--to listId] [--remove listId]`
|
|
101
|
-
| `cup field <id> [--set "Name" value] [--remove "Name"]` | Set/remove custom field values
|
|
102
|
-
| `cup field-create <name> -t <type> [-d desc] [--options "a,b,c"] [--required]` | Create a custom field
|
|
103
|
-
| `cup tag <id> [--add tags] [--remove tags]` | Add/remove tags on a task
|
|
104
|
-
| `cup link <taskId> <linksTo> [--remove]` | Link/unlink tasks
|
|
105
|
-
| `cup attach <taskId> <filePath>` | Upload file attachment
|
|
106
|
-
| `cup delete <id> [--confirm]` | Delete task (DESTRUCTIVE)
|
|
107
|
-
| `cup duplicate <taskId>` | Duplicate a task
|
|
108
|
-
| `cup bulk status <status> <taskIds...>` | Bulk update status
|
|
109
|
-
| `cup bulk assign <taskIds...> [--to userId\|me] [--remove userId\|me]` | Bulk assign/unassign user from tasks
|
|
110
|
-
| `cup bulk due-date <date\|none\|clear> <taskIds...>` | Bulk set or clear due dates
|
|
111
|
-
| `cup bulk tag <tagName> <taskIds...> [--add] [--remove]` | Bulk add/remove tag from tasks
|
|
112
|
-
| `cup checklist view <id>` | View checklists on a task
|
|
113
|
-
| `cup checklist create <id> <name>` | Create a checklist
|
|
114
|
-
| `cup checklist delete <checklistId>` | Delete a checklist
|
|
115
|
-
| `cup checklist add-item <checklistId> <name>` | Add item to checklist
|
|
116
|
-
| `cup checklist edit-item <checklistId> <itemId> [--name n] [--resolved] [--unresolved] [--assignee id]` | Edit checklist item
|
|
117
|
-
| `cup checklist delete-item <checklistId> <itemId>` | Delete checklist item
|
|
118
|
-
| `cup time start <taskId> [-d desc]` | Start timer
|
|
119
|
-
| `cup time stop` | Stop running timer
|
|
120
|
-
| `cup time status` | Show running timer
|
|
121
|
-
| `cup time log <taskId> <duration> [-d desc]` | Log manual entry (e.g. "2h", "30m")
|
|
122
|
-
| `cup time list [--days n] [--task id] [--all]` | List my recent time entries (--all for team)
|
|
123
|
-
| `cup time update <timeEntryId> [-d desc] [--duration dur]` | Update time entry
|
|
124
|
-
| `cup time delete <timeEntryId>` | Delete time entry
|
|
125
|
-
| `cup goal-create <name> [-d desc] [--color hex]` | Create a goal
|
|
126
|
-
| `cup goal-update <goalId> [-n name] [-d desc] [--color hex]` | Update a goal
|
|
127
|
-
| `cup goal-delete <goalId>` | Delete a goal
|
|
128
|
-
| `cup key-result-create <goalId> <name> [--type t] [--target n]` | Create key result
|
|
129
|
-
| `cup key-result-update <keyResultId> [--progress n] [--note text]` | Update key result
|
|
130
|
-
| `cup key-result-delete <keyResultId>` | Delete key result
|
|
131
|
-
| `cup doc-create <title> [-c content]` | Create a doc
|
|
132
|
-
| `cup doc-page-create <docId> <name> [-c content] [--parent-page pageId]` | Create doc page
|
|
133
|
-
| `cup doc-page-edit <docId> <pageId> [--name text] [-c content]` | Edit doc page
|
|
134
|
-
| `cup doc-delete <docId>` | Delete a doc
|
|
135
|
-
| `cup doc-page-delete <docId> <pageId>` | Delete doc page
|
|
136
|
-
| `cup space-create <name>` | Create a space
|
|
137
|
-
| `cup list-create <spaceId> <name> [--folder folderId] [--copy-statuses-from id]` | Create a list in a space or folder
|
|
138
|
-
| `cup folder-create <spaceId> <name>` | Create a folder in a space
|
|
139
|
-
| `cup tag-create <spaceId> <name> [--fg color] [--bg color]` | Create space tag
|
|
140
|
-
| `cup tag-update <spaceId> <tagName> --name <newName> [--fg c] [--bg c]` | Update space tag
|
|
141
|
-
| `cup tag-delete <spaceId> <name>` | Delete space tag
|
|
142
|
-
| `cup list-from-template <name> --template <id> [--space id] [--folder id]` | Create list from template
|
|
143
|
-
| `cup view-create <listId> <name> -t <type> [--group-by field]` | Create a view on a list
|
|
144
|
-
| `cup view-update <viewId> [-n name] [--group-by field]` | Update a view
|
|
145
|
-
| `cup view-delete <viewId> [--confirm]` | Delete a view (DESTRUCTIVE)
|
|
146
|
-
| `cup
|
|
147
|
-
| `cup
|
|
148
|
-
| `cup
|
|
149
|
-
| `cup profile
|
|
150
|
-
| `cup
|
|
151
|
-
| `cup
|
|
89
|
+
| Command | What it does |
|
|
90
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
|
|
91
|
+
| `cup create -n name [-l listId\|sprint:current] [-p parentId] [-d desc] [-s status] [--priority p] [--due-date d] [--start-date d] [--time-estimate t] [--assignee id\|me] [--tags t] [--custom-item-id n] [--template id]` | Create task (`--list` accepts `sprint:current`) |
|
|
92
|
+
| `cup update <id> [-n name] [-d desc] [-s status] [--priority p] [--due-date d\|none] [--start-date d] [--time-estimate t] [--assignee id\|me] [--remove-assignee id\|me] [--parent id] [--detach] [--archive] [--unarchive] [--field "Name" val]` | Update task fields (including custom fields) |
|
|
93
|
+
| `cup comment <id> -m text [--notify-all]` | Post comment on task |
|
|
94
|
+
| `cup comment-edit <commentId> -m text [--resolved] [--unresolved]` | Edit a comment |
|
|
95
|
+
| `cup comment-delete <commentId> [--mine] [--match text]` | Delete a comment by ID or delete one of your task comments |
|
|
96
|
+
| `cup replies <commentId>` | List threaded replies |
|
|
97
|
+
| `cup reply <commentId> -m text [--notify-all]` | Reply to a comment |
|
|
98
|
+
| `cup assign <id> [--to userId\|me] [--remove userId\|me]` | Assign/unassign users |
|
|
99
|
+
| `cup depend <id> [--on taskId] [--blocks taskId] [--remove]` | Add/remove dependencies |
|
|
100
|
+
| `cup move <id> [--to listId\|sprint:current] [--remove listId]` | Add/remove task from lists (`--to` accepts `sprint:current`) |
|
|
101
|
+
| `cup field <id> [--set "Name" value] [--remove "Name"]` | Set/remove custom field values |
|
|
102
|
+
| `cup field-create <name> -t <type> [-d desc] [--options "a,b,c"] [--required]` | Create a custom field |
|
|
103
|
+
| `cup tag <id> [--add tags] [--remove tags]` | Add/remove tags on a task |
|
|
104
|
+
| `cup link <taskId> <linksTo> [--remove]` | Link/unlink tasks |
|
|
105
|
+
| `cup attach <taskId> <filePath>` | Upload file attachment |
|
|
106
|
+
| `cup delete <id> [--confirm]` | Delete task (DESTRUCTIVE) |
|
|
107
|
+
| `cup duplicate <taskId>` | Duplicate a task |
|
|
108
|
+
| `cup bulk status <status> <taskIds...>` | Bulk update status |
|
|
109
|
+
| `cup bulk assign <taskIds...> [--to userId\|me] [--remove userId\|me]` | Bulk assign/unassign user from tasks |
|
|
110
|
+
| `cup bulk due-date <date\|none\|clear> <taskIds...>` | Bulk set or clear due dates |
|
|
111
|
+
| `cup bulk tag <tagName> <taskIds...> [--add] [--remove]` | Bulk add/remove tag from tasks |
|
|
112
|
+
| `cup checklist view <id>` | View checklists on a task |
|
|
113
|
+
| `cup checklist create <id> <name>` | Create a checklist |
|
|
114
|
+
| `cup checklist delete <checklistId>` | Delete a checklist |
|
|
115
|
+
| `cup checklist add-item <checklistId> <name>` | Add item to checklist |
|
|
116
|
+
| `cup checklist edit-item <checklistId> <itemId> [--name n] [--resolved] [--unresolved] [--assignee id]` | Edit checklist item |
|
|
117
|
+
| `cup checklist delete-item <checklistId> <itemId>` | Delete checklist item |
|
|
118
|
+
| `cup time start <taskId> [-d desc]` | Start timer |
|
|
119
|
+
| `cup time stop` | Stop running timer |
|
|
120
|
+
| `cup time status` | Show running timer |
|
|
121
|
+
| `cup time log <taskId> <duration> [-d desc]` | Log manual entry (e.g. "2h", "30m") |
|
|
122
|
+
| `cup time list [--days n] [--task id] [--all]` | List my recent time entries (--all for team) |
|
|
123
|
+
| `cup time update <timeEntryId> [-d desc] [--duration dur]` | Update time entry |
|
|
124
|
+
| `cup time delete <timeEntryId>` | Delete time entry |
|
|
125
|
+
| `cup goal-create <name> [-d desc] [--color hex]` | Create a goal |
|
|
126
|
+
| `cup goal-update <goalId> [-n name] [-d desc] [--color hex]` | Update a goal |
|
|
127
|
+
| `cup goal-delete <goalId>` | Delete a goal |
|
|
128
|
+
| `cup key-result-create <goalId> <name> [--type t] [--target n]` | Create key result |
|
|
129
|
+
| `cup key-result-update <keyResultId> [--progress n] [--note text]` | Update key result |
|
|
130
|
+
| `cup key-result-delete <keyResultId>` | Delete key result |
|
|
131
|
+
| `cup doc-create <title> [-c content]` | Create a doc |
|
|
132
|
+
| `cup doc-page-create <docId> <name> [-c content] [--parent-page pageId]` | Create doc page |
|
|
133
|
+
| `cup doc-page-edit <docId> <pageId> [--name text] [-c content]` | Edit doc page |
|
|
134
|
+
| `cup doc-delete <docId>` | Delete a doc |
|
|
135
|
+
| `cup doc-page-delete <docId> <pageId>` | Delete doc page |
|
|
136
|
+
| `cup space-create <name>` | Create a space |
|
|
137
|
+
| `cup list-create <spaceId> <name> [--folder folderId] [--copy-statuses-from id]` | Create a list in a space or folder |
|
|
138
|
+
| `cup folder-create <spaceId> <name>` | Create a folder in a space |
|
|
139
|
+
| `cup tag-create <spaceId> <name> [--fg color] [--bg color]` | Create space tag |
|
|
140
|
+
| `cup tag-update <spaceId> <tagName> --name <newName> [--fg c] [--bg c]` | Update space tag |
|
|
141
|
+
| `cup tag-delete <spaceId> <name>` | Delete space tag |
|
|
142
|
+
| `cup list-from-template <name> --template <id> [--space id] [--folder id]` | Create list from template |
|
|
143
|
+
| `cup view-create <listId> <name> -t <type> [--group-by field]` | Create a view on a list |
|
|
144
|
+
| `cup view-update <viewId> [-n name] [--group-by field]` | Update a view |
|
|
145
|
+
| `cup view-delete <viewId> [--confirm]` | Delete a view (DESTRUCTIVE) |
|
|
146
|
+
| `cup favorite add <type> <id> [alias] [-n name]` | Add a local favorite |
|
|
147
|
+
| `cup favorite remove <alias>` | Remove a favorite |
|
|
148
|
+
| `cup favorite list [--type t]` | List favorites (optionally filter by type) |
|
|
149
|
+
| `cup profile list [--json]` | List all profiles |
|
|
150
|
+
| `cup profile add <name>` | Add a new profile (interactive) |
|
|
151
|
+
| `cup profile remove <name>` | Remove a profile |
|
|
152
|
+
| `cup profile use <name>` | Set the default profile |
|
|
153
|
+
| `cup config get <key>` / `set <key> <value>` / `path` | Manage config |
|
|
154
|
+
| `cup completion <shell>` | Shell completions (bash/zsh/fish) |
|
|
152
155
|
|
|
153
156
|
## Global Flags
|
|
154
157
|
|
|
@@ -159,31 +162,32 @@ All commands support `--help` for full flag details. All commands support `--jso
|
|
|
159
162
|
|
|
160
163
|
## Flags & Conventions
|
|
161
164
|
|
|
162
|
-
| Topic | Detail
|
|
163
|
-
| ------------------------ |
|
|
164
|
-
| Task IDs | Native (`abc123def`) or custom (`PROJ-123`). Custom IDs auto-detected by `PREFIX-DIGITS` format
|
|
165
|
-
| `--status` | Fuzzy matching: exact > starts-with > contains. Prints match to stderr
|
|
166
|
-
| `--priority` | Names (`urgent`, `high`, `normal`, `low`) or numbers (1-4)
|
|
167
|
-
| `--due-date` | `YYYY-MM-DD` format
|
|
168
|
-
| `--assignee` | User ID or `me`
|
|
169
|
-
| `--tags` | Comma-separated (e.g. `--tags "bug,frontend"`)
|
|
170
|
-
| `--time-estimate` | Duration: `"2h"`, `"30m"`, `"1h30m"`, or raw milliseconds
|
|
171
|
-
| `--type` | `task` (regular) or custom type name/ID (e.g. `initiative`, `Bug`)
|
|
172
|
-
| `--custom-item-id` | Custom task type ID for `cup create` (find with `cup task-types`)
|
|
173
|
-
| `--space` | Partial name match or exact ID
|
|
174
|
-
| `--name` | Partial match, case-insensitive
|
|
175
|
-
| `--all` | Show all tasks in workspace, not just assigned to me. Available on `tasks`, `search`, `overdue`. Default: my tasks only (smaller output for agent context windows)
|
|
176
|
-
| `--include-closed` | Include closed/done tasks
|
|
177
|
-
| `--list` on create | Optional when `--parent` is given (auto-detected)
|
|
178
|
-
| `cup field --set` | Supports: text, number, checkbox (true/false), dropdown (option name), date (YYYY-MM-DD), url, email. Names resolved case-insensitively; errors list available fields/options
|
|
179
|
-
| `cup field-create` | Use `--options "a,b,c"` for `drop_down` and `labels` types (required). Other types don't need `--options`
|
|
180
|
-
| `--field` filter | `--field "Name" value` on `tasks` and `search` requires `--list` to resolve field names to IDs
|
|
181
|
-
| `--due-before/after` | `YYYY-MM-DD` date filters for due date range
|
|
182
|
-
| `--created-before/after` | `YYYY-MM-DD` date filters for creation date range
|
|
183
|
-
| `cup sprint` | Auto-detects active sprint by folder name (sprint/iteration/cycle/scrum), parses multiple date formats. Override with `--folder <id
|
|
184
|
-
| `cup
|
|
185
|
-
| `cup
|
|
186
|
-
|
|
|
165
|
+
| Topic | Detail |
|
|
166
|
+
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
167
|
+
| Task IDs | Native (`abc123def`) or custom (`PROJ-123`). Custom IDs auto-detected by `PREFIX-DIGITS` format |
|
|
168
|
+
| `--status` | Fuzzy matching: exact > starts-with > contains. Prints match to stderr |
|
|
169
|
+
| `--priority` | Names (`urgent`, `high`, `normal`, `low`) or numbers (1-4) |
|
|
170
|
+
| `--due-date` | `YYYY-MM-DD` format |
|
|
171
|
+
| `--assignee` | User ID or `me` |
|
|
172
|
+
| `--tags` | Comma-separated (e.g. `--tags "bug,frontend"`) |
|
|
173
|
+
| `--time-estimate` | Duration: `"2h"`, `"30m"`, `"1h30m"`, or raw milliseconds |
|
|
174
|
+
| `--type` | `task` (regular) or custom type name/ID (e.g. `initiative`, `Bug`) |
|
|
175
|
+
| `--custom-item-id` | Custom task type ID for `cup create` (find with `cup task-types`) |
|
|
176
|
+
| `--space` | Partial name match or exact ID |
|
|
177
|
+
| `--name` | Partial match, case-insensitive |
|
|
178
|
+
| `--all` | Show all tasks in workspace, not just assigned to me. Available on `tasks`, `search`, `overdue`. Default: my tasks only (smaller output for agent context windows) |
|
|
179
|
+
| `--include-closed` | Include closed/done tasks |
|
|
180
|
+
| `--list` on create | Optional when `--parent` is given (auto-detected). Accepts `sprint:current` pseudo-ID |
|
|
181
|
+
| `cup field --set` | Supports: text, number, checkbox (true/false), dropdown (option name), date (YYYY-MM-DD), url, email. Names resolved case-insensitively; errors list available fields/options |
|
|
182
|
+
| `cup field-create` | Use `--options "a,b,c"` for `drop_down` and `labels` types (required). Other types don't need `--options` |
|
|
183
|
+
| `--field` filter | `--field "Name" value` on `tasks` and `search` requires `--list` to resolve field names to IDs |
|
|
184
|
+
| `--due-before/after` | `YYYY-MM-DD` date filters for due date range |
|
|
185
|
+
| `--created-before/after` | `YYYY-MM-DD` date filters for creation date range |
|
|
186
|
+
| `cup sprint` | Auto-detects active sprint by folder name (sprint/iteration/cycle/scrum), parses multiple date formats. Override with `--folder <id>`, `cup config set sprintFolderId <id>`, or favorite a sprint folder |
|
|
187
|
+
| `cup favorite` | Local-only favorites (not synced to ClickUp). Types: sprint-folder, space, list, folder, view, task. Favorited sprint-folders auto-used by sprint commands |
|
|
188
|
+
| `cup link` | Both IDs must be the same type (both custom or both native) |
|
|
189
|
+
| `cup delete` | DESTRUCTIVE. Requires `--confirm` in non-interactive mode. Cannot be undone |
|
|
190
|
+
| Errors | stderr with exit code 1. Strict parsing - excess/unknown arguments rejected |
|
|
187
191
|
|
|
188
192
|
## Agent Workflow Examples
|
|
189
193
|
|
|
@@ -224,11 +228,13 @@ cup update abc123def -s "done"
|
|
|
224
228
|
cup update abc123def --priority high --due-date 2025-03-15
|
|
225
229
|
cup create -n "Fix the thing" -p abc123def
|
|
226
230
|
cup create -n "Fix bug" -l <listId> --priority urgent --tags "bug,frontend"
|
|
231
|
+
cup create -n "Bug fix" -l sprint:current # create in active sprint
|
|
227
232
|
cup create -n "Q3 Roadmap" -l <listId> --custom-item-id 1
|
|
228
233
|
cup comment abc123def -m "Completed in PR #42"
|
|
229
234
|
cup assign abc123def --to me
|
|
230
235
|
cup depend task3 --on task2 # task3 waits for task2
|
|
231
236
|
cup move task1 --to list2 --remove list1
|
|
237
|
+
cup move task1 --to sprint:current # move to active sprint
|
|
232
238
|
cup field abc123def --set "Story Points" 5
|
|
233
239
|
cup tag abc123def --add "bug,frontend"
|
|
234
240
|
cup checklist create abc123def "QA Steps"
|
|
@@ -287,6 +293,17 @@ cup profile use personal # switch default
|
|
|
287
293
|
cup tasks -p work # use specific profile for one command
|
|
288
294
|
```
|
|
289
295
|
|
|
296
|
+
### Favorites
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
cup favorite add sprint-folder 12345 --name "Team Sprint" # favorite a sprint folder
|
|
300
|
+
cup favorite add space 67890 eng # favorite a space with alias
|
|
301
|
+
cup favorite list # list all favorites
|
|
302
|
+
cup favorite list --type sprint-folder # list only sprint folders
|
|
303
|
+
cup favorite remove eng # remove by alias
|
|
304
|
+
cup sprint # auto-uses favorited sprint folder
|
|
305
|
+
```
|
|
306
|
+
|
|
290
307
|
### Standup
|
|
291
308
|
|
|
292
309
|
```bash
|