project-roadmap-tracking 0.1.0
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/LICENSE +21 -0
- package/README.md +559 -0
- package/bin/dev.cmd +3 -0
- package/bin/dev.js +5 -0
- package/bin/run.cmd +3 -0
- package/bin/run.js +5 -0
- package/dist/commands/add.d.ts +16 -0
- package/dist/commands/add.js +76 -0
- package/dist/commands/complete.d.ts +12 -0
- package/dist/commands/complete.js +35 -0
- package/dist/commands/init.d.ts +26 -0
- package/dist/commands/init.js +111 -0
- package/dist/commands/list.d.ts +13 -0
- package/dist/commands/list.js +101 -0
- package/dist/commands/pass-test.d.ts +10 -0
- package/dist/commands/pass-test.js +28 -0
- package/dist/commands/show.d.ts +10 -0
- package/dist/commands/show.js +73 -0
- package/dist/commands/update.d.ts +16 -0
- package/dist/commands/update.js +78 -0
- package/dist/commands/validate.d.ts +8 -0
- package/dist/commands/validate.js +49 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/util/read-config.d.ts +2 -0
- package/dist/util/read-config.js +5 -0
- package/dist/util/read-roadmap.d.ts +2 -0
- package/dist/util/read-roadmap.js +5 -0
- package/dist/util/types.d.ts +66 -0
- package/dist/util/types.js +36 -0
- package/dist/util/update-task.d.ts +4 -0
- package/dist/util/update-task.js +16 -0
- package/dist/util/validate-task-id.d.ts +2 -0
- package/dist/util/validate-task-id.js +5 -0
- package/dist/util/validate-task.d.ts +4 -0
- package/dist/util/validate-task.js +17 -0
- package/dist/util/write-roadmap.d.ts +2 -0
- package/dist/util/write-roadmap.js +5 -0
- package/oclif.manifest.json +426 -0
- package/package.json +73 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Zachary Eggert
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,559 @@
|
|
|
1
|
+
# project-roadmap-tracking
|
|
2
|
+
|
|
3
|
+
CLI based project task tracking
|
|
4
|
+
|
|
5
|
+
[](https://oclif.io)
|
|
6
|
+
[](https://npmjs.org/package/project-roadmap-tracking)
|
|
7
|
+
[](https://npmjs.org/package/project-roadmap-tracking)
|
|
8
|
+
|
|
9
|
+
<!-- toc -->
|
|
10
|
+
* [project-roadmap-tracking](#project-roadmap-tracking)
|
|
11
|
+
* [Usage](#usage)
|
|
12
|
+
* [Commands](#commands)
|
|
13
|
+
<!-- tocstop -->
|
|
14
|
+
|
|
15
|
+
# Usage
|
|
16
|
+
|
|
17
|
+
<!-- usage -->
|
|
18
|
+
```sh-session
|
|
19
|
+
$ npm install -g project-roadmap-tracking
|
|
20
|
+
$ prt COMMAND
|
|
21
|
+
running command...
|
|
22
|
+
$ prt (--version)
|
|
23
|
+
project-roadmap-tracking/0.1.0 darwin-arm64 node-v25.2.1
|
|
24
|
+
$ prt --help [COMMAND]
|
|
25
|
+
USAGE
|
|
26
|
+
$ prt COMMAND
|
|
27
|
+
...
|
|
28
|
+
```
|
|
29
|
+
<!-- usagestop -->
|
|
30
|
+
|
|
31
|
+
# Commands
|
|
32
|
+
|
|
33
|
+
<!-- commands -->
|
|
34
|
+
* [`prt add TITLE`](#prt-add-title)
|
|
35
|
+
* [`prt complete TASKID`](#prt-complete-taskid)
|
|
36
|
+
* [`prt help [COMMAND]`](#prt-help-command)
|
|
37
|
+
* [`prt init [FOLDER]`](#prt-init-folder)
|
|
38
|
+
* [`prt list`](#prt-list)
|
|
39
|
+
* [`prt pass-test TASKID`](#prt-pass-test-taskid)
|
|
40
|
+
* [`prt plugins`](#prt-plugins)
|
|
41
|
+
* [`prt plugins add PLUGIN`](#prt-plugins-add-plugin)
|
|
42
|
+
* [`prt plugins:inspect PLUGIN...`](#prt-pluginsinspect-plugin)
|
|
43
|
+
* [`prt plugins install PLUGIN`](#prt-plugins-install-plugin)
|
|
44
|
+
* [`prt plugins link PATH`](#prt-plugins-link-path)
|
|
45
|
+
* [`prt plugins remove [PLUGIN]`](#prt-plugins-remove-plugin)
|
|
46
|
+
* [`prt plugins reset`](#prt-plugins-reset)
|
|
47
|
+
* [`prt plugins uninstall [PLUGIN]`](#prt-plugins-uninstall-plugin)
|
|
48
|
+
* [`prt plugins unlink [PLUGIN]`](#prt-plugins-unlink-plugin)
|
|
49
|
+
* [`prt plugins update`](#prt-plugins-update)
|
|
50
|
+
* [`prt show TASK`](#prt-show-task)
|
|
51
|
+
* [`prt update TASKID`](#prt-update-taskid)
|
|
52
|
+
* [`prt validate`](#prt-validate)
|
|
53
|
+
|
|
54
|
+
## `prt add TITLE`
|
|
55
|
+
|
|
56
|
+
add a new task to the roadmap
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
USAGE
|
|
60
|
+
$ prt add TITLE -d <value> -t bug|feature|improvement|planning|research [-p high|medium|low] [-s
|
|
61
|
+
not-started|in-progress|completed] [-g <value>]
|
|
62
|
+
|
|
63
|
+
ARGUMENTS
|
|
64
|
+
TITLE title of the task to add
|
|
65
|
+
|
|
66
|
+
FLAGS
|
|
67
|
+
-d, --details=<value> (required) description of the task to add
|
|
68
|
+
-g, --tags=<value> comma-separated list of tags to add to the task
|
|
69
|
+
-p, --priority=<option> [default: medium] priority of the task to add
|
|
70
|
+
<options: high|medium|low>
|
|
71
|
+
-s, --status=<option> [default: not-started] status of the task to add
|
|
72
|
+
<options: not-started|in-progress|completed>
|
|
73
|
+
-t, --type=<option> (required) type of the task to add
|
|
74
|
+
<options: bug|feature|improvement|planning|research>
|
|
75
|
+
|
|
76
|
+
DESCRIPTION
|
|
77
|
+
add a new task to the roadmap
|
|
78
|
+
|
|
79
|
+
EXAMPLES
|
|
80
|
+
$ prt add
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
_See code: [src/commands/add.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.1.0/src/commands/add.ts)_
|
|
84
|
+
|
|
85
|
+
## `prt complete TASKID`
|
|
86
|
+
|
|
87
|
+
Mark a task as completed
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
USAGE
|
|
91
|
+
$ prt complete TASKID [-t]
|
|
92
|
+
|
|
93
|
+
ARGUMENTS
|
|
94
|
+
TASKID ID of the task to complete
|
|
95
|
+
|
|
96
|
+
FLAGS
|
|
97
|
+
-t, --tests mark task as passes-tests
|
|
98
|
+
|
|
99
|
+
DESCRIPTION
|
|
100
|
+
Mark a task as completed
|
|
101
|
+
|
|
102
|
+
EXAMPLES
|
|
103
|
+
$ prt complete F-001 --tests
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
_See code: [src/commands/complete.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.1.0/src/commands/complete.ts)_
|
|
107
|
+
|
|
108
|
+
## `prt help [COMMAND]`
|
|
109
|
+
|
|
110
|
+
Display help for prt.
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
USAGE
|
|
114
|
+
$ prt help [COMMAND...] [-n]
|
|
115
|
+
|
|
116
|
+
ARGUMENTS
|
|
117
|
+
[COMMAND...] Command to show help for.
|
|
118
|
+
|
|
119
|
+
FLAGS
|
|
120
|
+
-n, --nested-commands Include all nested commands in the output.
|
|
121
|
+
|
|
122
|
+
DESCRIPTION
|
|
123
|
+
Display help for prt.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.36/src/commands/help.ts)_
|
|
127
|
+
|
|
128
|
+
## `prt init [FOLDER]`
|
|
129
|
+
|
|
130
|
+
initialize a new project roadmap (prt.json and prt.config.json)
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
USAGE
|
|
134
|
+
$ prt init [FOLDER] [-d <value>] [-f] [-n <value>] [--withSampleTasks]
|
|
135
|
+
|
|
136
|
+
ARGUMENTS
|
|
137
|
+
[FOLDER] folder to initialize the project roadmap in
|
|
138
|
+
|
|
139
|
+
FLAGS
|
|
140
|
+
-d, --description=<value> description to print
|
|
141
|
+
-f, --force force initialization even if files already exist
|
|
142
|
+
-n, --name=<value> name to print
|
|
143
|
+
--withSampleTasks include sample tasks in the initialized roadmap
|
|
144
|
+
|
|
145
|
+
DESCRIPTION
|
|
146
|
+
initialize a new project roadmap (prt.json and prt.config.json)
|
|
147
|
+
|
|
148
|
+
EXAMPLES
|
|
149
|
+
$ prt init [path/to/directory]
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
_See code: [src/commands/init.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.1.0/src/commands/init.ts)_
|
|
153
|
+
|
|
154
|
+
## `prt list`
|
|
155
|
+
|
|
156
|
+
list tasks in the project roadmap
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
USAGE
|
|
160
|
+
$ prt list [-i] [-p high|medium|low|h|m|l] [-o dueDate|priority|createdAt] [-s
|
|
161
|
+
completed|in-progress|not-started]
|
|
162
|
+
|
|
163
|
+
FLAGS
|
|
164
|
+
-i, --incomplete filter tasks to show in-progress and not-started only
|
|
165
|
+
-o, --sort=<option> sort tasks by field (dueDate, priority, createdAt)
|
|
166
|
+
<options: dueDate|priority|createdAt>
|
|
167
|
+
-p, --priority=<option> filter tasks by priority (high, medium, low)
|
|
168
|
+
<options: high|medium|low|h|m|l>
|
|
169
|
+
-s, --status=<option> filter tasks by status (completed, in-progress, not-started)
|
|
170
|
+
<options: completed|in-progress|not-started>
|
|
171
|
+
|
|
172
|
+
DESCRIPTION
|
|
173
|
+
list tasks in the project roadmap
|
|
174
|
+
|
|
175
|
+
EXAMPLES
|
|
176
|
+
$ prt list -p=h --incomplete --sort=createdAt
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
_See code: [src/commands/list.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.1.0/src/commands/list.ts)_
|
|
180
|
+
|
|
181
|
+
## `prt pass-test TASKID`
|
|
182
|
+
|
|
183
|
+
Mark a task as passes-tests
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
USAGE
|
|
187
|
+
$ prt pass-test TASKID
|
|
188
|
+
|
|
189
|
+
ARGUMENTS
|
|
190
|
+
TASKID ID of the task to mark as passing tests
|
|
191
|
+
|
|
192
|
+
DESCRIPTION
|
|
193
|
+
Mark a task as passes-tests
|
|
194
|
+
|
|
195
|
+
EXAMPLES
|
|
196
|
+
$ prt pass-test F-001
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
_See code: [src/commands/pass-test.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.1.0/src/commands/pass-test.ts)_
|
|
200
|
+
|
|
201
|
+
## `prt plugins`
|
|
202
|
+
|
|
203
|
+
List installed plugins.
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
USAGE
|
|
207
|
+
$ prt plugins [--json] [--core]
|
|
208
|
+
|
|
209
|
+
FLAGS
|
|
210
|
+
--core Show core plugins.
|
|
211
|
+
|
|
212
|
+
GLOBAL FLAGS
|
|
213
|
+
--json Format output as json.
|
|
214
|
+
|
|
215
|
+
DESCRIPTION
|
|
216
|
+
List installed plugins.
|
|
217
|
+
|
|
218
|
+
EXAMPLES
|
|
219
|
+
$ prt plugins
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/index.ts)_
|
|
223
|
+
|
|
224
|
+
## `prt plugins add PLUGIN`
|
|
225
|
+
|
|
226
|
+
Installs a plugin into prt.
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
USAGE
|
|
230
|
+
$ prt plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]
|
|
231
|
+
|
|
232
|
+
ARGUMENTS
|
|
233
|
+
PLUGIN... Plugin to install.
|
|
234
|
+
|
|
235
|
+
FLAGS
|
|
236
|
+
-f, --force Force npm to fetch remote resources even if a local copy exists on disk.
|
|
237
|
+
-h, --help Show CLI help.
|
|
238
|
+
-s, --silent Silences npm output.
|
|
239
|
+
-v, --verbose Show verbose npm output.
|
|
240
|
+
|
|
241
|
+
GLOBAL FLAGS
|
|
242
|
+
--json Format output as json.
|
|
243
|
+
|
|
244
|
+
DESCRIPTION
|
|
245
|
+
Installs a plugin into prt.
|
|
246
|
+
|
|
247
|
+
Uses npm to install plugins.
|
|
248
|
+
|
|
249
|
+
Installation of a user-installed plugin will override a core plugin.
|
|
250
|
+
|
|
251
|
+
Use the PRT_NPM_LOG_LEVEL environment variable to set the npm loglevel.
|
|
252
|
+
Use the PRT_NPM_REGISTRY environment variable to set the npm registry.
|
|
253
|
+
|
|
254
|
+
ALIASES
|
|
255
|
+
$ prt plugins add
|
|
256
|
+
|
|
257
|
+
EXAMPLES
|
|
258
|
+
Install a plugin from npm registry.
|
|
259
|
+
|
|
260
|
+
$ prt plugins add myplugin
|
|
261
|
+
|
|
262
|
+
Install a plugin from a github url.
|
|
263
|
+
|
|
264
|
+
$ prt plugins add https://github.com/someuser/someplugin
|
|
265
|
+
|
|
266
|
+
Install a plugin from a github slug.
|
|
267
|
+
|
|
268
|
+
$ prt plugins add someuser/someplugin
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## `prt plugins:inspect PLUGIN...`
|
|
272
|
+
|
|
273
|
+
Displays installation properties of a plugin.
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
USAGE
|
|
277
|
+
$ prt plugins inspect PLUGIN...
|
|
278
|
+
|
|
279
|
+
ARGUMENTS
|
|
280
|
+
PLUGIN... [default: .] Plugin to inspect.
|
|
281
|
+
|
|
282
|
+
FLAGS
|
|
283
|
+
-h, --help Show CLI help.
|
|
284
|
+
-v, --verbose
|
|
285
|
+
|
|
286
|
+
GLOBAL FLAGS
|
|
287
|
+
--json Format output as json.
|
|
288
|
+
|
|
289
|
+
DESCRIPTION
|
|
290
|
+
Displays installation properties of a plugin.
|
|
291
|
+
|
|
292
|
+
EXAMPLES
|
|
293
|
+
$ prt plugins inspect myplugin
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/inspect.ts)_
|
|
297
|
+
|
|
298
|
+
## `prt plugins install PLUGIN`
|
|
299
|
+
|
|
300
|
+
Installs a plugin into prt.
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
USAGE
|
|
304
|
+
$ prt plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]
|
|
305
|
+
|
|
306
|
+
ARGUMENTS
|
|
307
|
+
PLUGIN... Plugin to install.
|
|
308
|
+
|
|
309
|
+
FLAGS
|
|
310
|
+
-f, --force Force npm to fetch remote resources even if a local copy exists on disk.
|
|
311
|
+
-h, --help Show CLI help.
|
|
312
|
+
-s, --silent Silences npm output.
|
|
313
|
+
-v, --verbose Show verbose npm output.
|
|
314
|
+
|
|
315
|
+
GLOBAL FLAGS
|
|
316
|
+
--json Format output as json.
|
|
317
|
+
|
|
318
|
+
DESCRIPTION
|
|
319
|
+
Installs a plugin into prt.
|
|
320
|
+
|
|
321
|
+
Uses npm to install plugins.
|
|
322
|
+
|
|
323
|
+
Installation of a user-installed plugin will override a core plugin.
|
|
324
|
+
|
|
325
|
+
Use the PRT_NPM_LOG_LEVEL environment variable to set the npm loglevel.
|
|
326
|
+
Use the PRT_NPM_REGISTRY environment variable to set the npm registry.
|
|
327
|
+
|
|
328
|
+
ALIASES
|
|
329
|
+
$ prt plugins add
|
|
330
|
+
|
|
331
|
+
EXAMPLES
|
|
332
|
+
Install a plugin from npm registry.
|
|
333
|
+
|
|
334
|
+
$ prt plugins install myplugin
|
|
335
|
+
|
|
336
|
+
Install a plugin from a github url.
|
|
337
|
+
|
|
338
|
+
$ prt plugins install https://github.com/someuser/someplugin
|
|
339
|
+
|
|
340
|
+
Install a plugin from a github slug.
|
|
341
|
+
|
|
342
|
+
$ prt plugins install someuser/someplugin
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/install.ts)_
|
|
346
|
+
|
|
347
|
+
## `prt plugins link PATH`
|
|
348
|
+
|
|
349
|
+
Links a plugin into the CLI for development.
|
|
350
|
+
|
|
351
|
+
```
|
|
352
|
+
USAGE
|
|
353
|
+
$ prt plugins link PATH [-h] [--install] [-v]
|
|
354
|
+
|
|
355
|
+
ARGUMENTS
|
|
356
|
+
PATH [default: .] path to plugin
|
|
357
|
+
|
|
358
|
+
FLAGS
|
|
359
|
+
-h, --help Show CLI help.
|
|
360
|
+
-v, --verbose
|
|
361
|
+
--[no-]install Install dependencies after linking the plugin.
|
|
362
|
+
|
|
363
|
+
DESCRIPTION
|
|
364
|
+
Links a plugin into the CLI for development.
|
|
365
|
+
|
|
366
|
+
Installation of a linked plugin will override a user-installed or core plugin.
|
|
367
|
+
|
|
368
|
+
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
|
|
369
|
+
command will override the user-installed or core plugin implementation. This is useful for development work.
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
EXAMPLES
|
|
373
|
+
$ prt plugins link myplugin
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/link.ts)_
|
|
377
|
+
|
|
378
|
+
## `prt plugins remove [PLUGIN]`
|
|
379
|
+
|
|
380
|
+
Removes a plugin from the CLI.
|
|
381
|
+
|
|
382
|
+
```
|
|
383
|
+
USAGE
|
|
384
|
+
$ prt plugins remove [PLUGIN...] [-h] [-v]
|
|
385
|
+
|
|
386
|
+
ARGUMENTS
|
|
387
|
+
[PLUGIN...] plugin to uninstall
|
|
388
|
+
|
|
389
|
+
FLAGS
|
|
390
|
+
-h, --help Show CLI help.
|
|
391
|
+
-v, --verbose
|
|
392
|
+
|
|
393
|
+
DESCRIPTION
|
|
394
|
+
Removes a plugin from the CLI.
|
|
395
|
+
|
|
396
|
+
ALIASES
|
|
397
|
+
$ prt plugins unlink
|
|
398
|
+
$ prt plugins remove
|
|
399
|
+
|
|
400
|
+
EXAMPLES
|
|
401
|
+
$ prt plugins remove myplugin
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
## `prt plugins reset`
|
|
405
|
+
|
|
406
|
+
Remove all user-installed and linked plugins.
|
|
407
|
+
|
|
408
|
+
```
|
|
409
|
+
USAGE
|
|
410
|
+
$ prt plugins reset [--hard] [--reinstall]
|
|
411
|
+
|
|
412
|
+
FLAGS
|
|
413
|
+
--hard Delete node_modules and package manager related files in addition to uninstalling plugins.
|
|
414
|
+
--reinstall Reinstall all plugins after uninstalling.
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/reset.ts)_
|
|
418
|
+
|
|
419
|
+
## `prt plugins uninstall [PLUGIN]`
|
|
420
|
+
|
|
421
|
+
Removes a plugin from the CLI.
|
|
422
|
+
|
|
423
|
+
```
|
|
424
|
+
USAGE
|
|
425
|
+
$ prt plugins uninstall [PLUGIN...] [-h] [-v]
|
|
426
|
+
|
|
427
|
+
ARGUMENTS
|
|
428
|
+
[PLUGIN...] plugin to uninstall
|
|
429
|
+
|
|
430
|
+
FLAGS
|
|
431
|
+
-h, --help Show CLI help.
|
|
432
|
+
-v, --verbose
|
|
433
|
+
|
|
434
|
+
DESCRIPTION
|
|
435
|
+
Removes a plugin from the CLI.
|
|
436
|
+
|
|
437
|
+
ALIASES
|
|
438
|
+
$ prt plugins unlink
|
|
439
|
+
$ prt plugins remove
|
|
440
|
+
|
|
441
|
+
EXAMPLES
|
|
442
|
+
$ prt plugins uninstall myplugin
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/uninstall.ts)_
|
|
446
|
+
|
|
447
|
+
## `prt plugins unlink [PLUGIN]`
|
|
448
|
+
|
|
449
|
+
Removes a plugin from the CLI.
|
|
450
|
+
|
|
451
|
+
```
|
|
452
|
+
USAGE
|
|
453
|
+
$ prt plugins unlink [PLUGIN...] [-h] [-v]
|
|
454
|
+
|
|
455
|
+
ARGUMENTS
|
|
456
|
+
[PLUGIN...] plugin to uninstall
|
|
457
|
+
|
|
458
|
+
FLAGS
|
|
459
|
+
-h, --help Show CLI help.
|
|
460
|
+
-v, --verbose
|
|
461
|
+
|
|
462
|
+
DESCRIPTION
|
|
463
|
+
Removes a plugin from the CLI.
|
|
464
|
+
|
|
465
|
+
ALIASES
|
|
466
|
+
$ prt plugins unlink
|
|
467
|
+
$ prt plugins remove
|
|
468
|
+
|
|
469
|
+
EXAMPLES
|
|
470
|
+
$ prt plugins unlink myplugin
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
## `prt plugins update`
|
|
474
|
+
|
|
475
|
+
Update installed plugins.
|
|
476
|
+
|
|
477
|
+
```
|
|
478
|
+
USAGE
|
|
479
|
+
$ prt plugins update [-h] [-v]
|
|
480
|
+
|
|
481
|
+
FLAGS
|
|
482
|
+
-h, --help Show CLI help.
|
|
483
|
+
-v, --verbose
|
|
484
|
+
|
|
485
|
+
DESCRIPTION
|
|
486
|
+
Update installed plugins.
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.54/src/commands/plugins/update.ts)_
|
|
490
|
+
|
|
491
|
+
## `prt show TASK`
|
|
492
|
+
|
|
493
|
+
show details of a specific task in the project roadmap
|
|
494
|
+
|
|
495
|
+
```
|
|
496
|
+
USAGE
|
|
497
|
+
$ prt show TASK
|
|
498
|
+
|
|
499
|
+
ARGUMENTS
|
|
500
|
+
TASK task ID to show
|
|
501
|
+
|
|
502
|
+
DESCRIPTION
|
|
503
|
+
show details of a specific task in the project roadmap
|
|
504
|
+
|
|
505
|
+
EXAMPLES
|
|
506
|
+
$ prt show F-001
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
_See code: [src/commands/show.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.1.0/src/commands/show.ts)_
|
|
510
|
+
|
|
511
|
+
## `prt update TASKID`
|
|
512
|
+
|
|
513
|
+
Update a task in place
|
|
514
|
+
|
|
515
|
+
```
|
|
516
|
+
USAGE
|
|
517
|
+
$ prt update TASKID [--clear-notes] [-d <value>] [-n <value>] [-s completed|in-progress|not-started] [-t
|
|
518
|
+
true|false]
|
|
519
|
+
|
|
520
|
+
ARGUMENTS
|
|
521
|
+
TASKID ID of the task to update
|
|
522
|
+
|
|
523
|
+
FLAGS
|
|
524
|
+
-d, --deps=<value> update the dependencies of the task (comma-separated list of task IDs)
|
|
525
|
+
-n, --notes=<value> append notes to the task
|
|
526
|
+
-s, --status=<option> set the status of the task (completed, in-progress, not-started)
|
|
527
|
+
<options: completed|in-progress|not-started>
|
|
528
|
+
-t, --tested=<option> update whether the task passes tests
|
|
529
|
+
<options: true|false>
|
|
530
|
+
--clear-notes clear all notes from the task
|
|
531
|
+
|
|
532
|
+
DESCRIPTION
|
|
533
|
+
Update a task in place
|
|
534
|
+
|
|
535
|
+
EXAMPLES
|
|
536
|
+
$ prt update F-001 --status=completed --tested=true --notes="Fixed all bugs"
|
|
537
|
+
|
|
538
|
+
$ prt update F-002 --deps="F-001" --clear-notes
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
_See code: [src/commands/update.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.1.0/src/commands/update.ts)_
|
|
542
|
+
|
|
543
|
+
## `prt validate`
|
|
544
|
+
|
|
545
|
+
describe the command here
|
|
546
|
+
|
|
547
|
+
```
|
|
548
|
+
USAGE
|
|
549
|
+
$ prt validate
|
|
550
|
+
|
|
551
|
+
DESCRIPTION
|
|
552
|
+
describe the command here
|
|
553
|
+
|
|
554
|
+
EXAMPLES
|
|
555
|
+
$ prt validate
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
_See code: [src/commands/validate.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.1.0/src/commands/validate.ts)_
|
|
559
|
+
<!-- commandsstop -->
|
package/bin/dev.cmd
ADDED
package/bin/dev.js
ADDED
package/bin/run.cmd
ADDED
package/bin/run.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Add extends Command {
|
|
3
|
+
static args: {
|
|
4
|
+
title: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
details: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
priority: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
status: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
tags: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
type: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
2
|
+
import { readConfigFile } from '../util/read-config.js';
|
|
3
|
+
import { readRoadmapFile } from '../util/read-roadmap.js';
|
|
4
|
+
import { PRIORITY, STATUS, TASK_TYPE, TASK_TYPE_MAP } from '../util/types.js';
|
|
5
|
+
import { writeRoadmapFile } from '../util/write-roadmap.js';
|
|
6
|
+
export default class Add extends Command {
|
|
7
|
+
static args = {
|
|
8
|
+
title: Args.string({ description: 'title of the task to add', required: true }),
|
|
9
|
+
};
|
|
10
|
+
static description = 'add a new task to the roadmap';
|
|
11
|
+
static examples = ['<%= config.bin %> <%= command.id %>'];
|
|
12
|
+
static flags = {
|
|
13
|
+
// force: Flags.boolean({char: 'f'}),
|
|
14
|
+
// name: Flags.string({char: 'n', description: 'name to print'}),
|
|
15
|
+
details: Flags.string({ char: 'd', description: 'description of the task to add', required: true }),
|
|
16
|
+
priority: Flags.string({
|
|
17
|
+
char: 'p',
|
|
18
|
+
default: PRIORITY.Medium,
|
|
19
|
+
description: 'priority of the task to add',
|
|
20
|
+
options: [PRIORITY.High, PRIORITY.Medium, PRIORITY.Low],
|
|
21
|
+
required: false,
|
|
22
|
+
}),
|
|
23
|
+
status: Flags.string({
|
|
24
|
+
char: 's',
|
|
25
|
+
default: STATUS.NotStarted,
|
|
26
|
+
description: 'status of the task to add',
|
|
27
|
+
options: [STATUS.NotStarted, STATUS.InProgress, STATUS.Completed],
|
|
28
|
+
required: false,
|
|
29
|
+
}),
|
|
30
|
+
tags: Flags.string({
|
|
31
|
+
char: 'g',
|
|
32
|
+
description: 'comma-separated list of tags to add to the task',
|
|
33
|
+
required: false,
|
|
34
|
+
}),
|
|
35
|
+
type: Flags.string({
|
|
36
|
+
char: 't',
|
|
37
|
+
description: 'type of the task to add',
|
|
38
|
+
options: [TASK_TYPE.Bug, TASK_TYPE.Feature, TASK_TYPE.Improvement, TASK_TYPE.Planning, TASK_TYPE.Research],
|
|
39
|
+
required: true,
|
|
40
|
+
}),
|
|
41
|
+
};
|
|
42
|
+
async run() {
|
|
43
|
+
const { args, flags } = await this.parse(Add);
|
|
44
|
+
const config = await readConfigFile();
|
|
45
|
+
const roadmapFile = await readRoadmapFile(config.path);
|
|
46
|
+
const taskType = flags.type;
|
|
47
|
+
const existingTaskIDs = new Set(roadmapFile.tasks.filter((task) => task.type === taskType).map((task) => task.id));
|
|
48
|
+
let newIDNumber = 1;
|
|
49
|
+
let newTaskID;
|
|
50
|
+
while (true) {
|
|
51
|
+
const potentialID = `${TASK_TYPE_MAP.get(taskType)}-${String(newIDNumber).padStart(3, '0')}`;
|
|
52
|
+
if (!existingTaskIDs.has(potentialID)) {
|
|
53
|
+
newTaskID = potentialID;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
newIDNumber++;
|
|
57
|
+
}
|
|
58
|
+
const newTask = {
|
|
59
|
+
blocks: [],
|
|
60
|
+
createdAt: new Date().toISOString(),
|
|
61
|
+
'depends-on': [],
|
|
62
|
+
details: flags.details,
|
|
63
|
+
id: newTaskID,
|
|
64
|
+
notes: '',
|
|
65
|
+
'passes-tests': false,
|
|
66
|
+
priority: flags.priority,
|
|
67
|
+
status: flags.status,
|
|
68
|
+
tags: flags.tags ? flags.tags.split(',').map((tag) => tag.trim()) : [],
|
|
69
|
+
title: args.title,
|
|
70
|
+
type: taskType,
|
|
71
|
+
updatedAt: new Date().toISOString(),
|
|
72
|
+
};
|
|
73
|
+
roadmapFile.tasks.push(newTask);
|
|
74
|
+
await writeRoadmapFile(config.path, roadmapFile);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class Complete extends Command {
|
|
3
|
+
static args: {
|
|
4
|
+
taskID: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
tests: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|