project-roadmap-tracking 0.2.1 → 0.2.6

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
@@ -49,6 +49,9 @@ prt list -p high
49
49
  # Show task details
50
50
  prt show F-001
51
51
 
52
+ # Show task details with dependencies
53
+ prt show F-001 -d
54
+
52
55
  # Update task status
53
56
  prt update F-001 --status=in-progress
54
57
 
@@ -137,6 +140,7 @@ IDs are auto-generated sequentially per task type.
137
140
  * [Add a new feature](#add-a-new-feature)
138
141
  * [List all high-priority tasks](#list-all-high-priority-tasks)
139
142
  * [Show task details](#show-task-details)
143
+ * [Show task details with dependencies](#show-task-details-with-dependencies)
140
144
  * [Update task status](#update-task-status)
141
145
  * [Complete a task](#complete-a-task)
142
146
  * [Validate roadmap integrity](#validate-roadmap-integrity)
@@ -166,7 +170,7 @@ $ npm install -g project-roadmap-tracking
166
170
  $ prt COMMAND
167
171
  running command...
168
172
  $ prt (--version)
169
- project-roadmap-tracking/0.2.1 darwin-arm64 node-v25.2.1
173
+ project-roadmap-tracking/0.2.6 linux-x64 node-v25.4.0
170
174
  $ prt --help [COMMAND]
171
175
  USAGE
172
176
  $ prt COMMAND
@@ -228,7 +232,7 @@ EXAMPLES
228
232
  $ prt add
229
233
  ```
230
234
 
231
- _See code: [src/commands/add.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.1/src/commands/add.ts)_
235
+ _See code: [src/commands/add.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.6/src/commands/add.ts)_
232
236
 
233
237
  ## `prt complete TASKID`
234
238
 
@@ -253,7 +257,7 @@ EXAMPLES
253
257
  $ prt complete F-001 --tests
254
258
  ```
255
259
 
256
- _See code: [src/commands/complete.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.1/src/commands/complete.ts)_
260
+ _See code: [src/commands/complete.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.6/src/commands/complete.ts)_
257
261
 
258
262
  ## `prt help [COMMAND]`
259
263
 
@@ -300,7 +304,7 @@ EXAMPLES
300
304
  $ prt init [path/to/directory]
301
305
  ```
302
306
 
303
- _See code: [src/commands/init.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.1/src/commands/init.ts)_
307
+ _See code: [src/commands/init.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.6/src/commands/init.ts)_
304
308
 
305
309
  ## `prt list`
306
310
 
@@ -329,7 +333,7 @@ EXAMPLES
329
333
  $ prt list -p=h --incomplete --sort=createdAt
330
334
  ```
331
335
 
332
- _See code: [src/commands/list.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.1/src/commands/list.ts)_
336
+ _See code: [src/commands/list.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.6/src/commands/list.ts)_
333
337
 
334
338
  ## `prt pass-test TASKID`
335
339
 
@@ -353,7 +357,7 @@ EXAMPLES
353
357
  $ prt pass-test F-001
354
358
  ```
355
359
 
356
- _See code: [src/commands/pass-test.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.1/src/commands/pass-test.ts)_
360
+ _See code: [src/commands/pass-test.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.6/src/commands/pass-test.ts)_
357
361
 
358
362
  ## `prt plugins`
359
363
 
@@ -651,14 +655,15 @@ show details of a specific task in the project roadmap
651
655
 
652
656
  ```
653
657
  USAGE
654
- $ prt show TASK [--no-repo] [-v]
658
+ $ prt show TASK [--no-repo] [-d] [-v]
655
659
 
656
660
  ARGUMENTS
657
661
  TASK task ID to show
658
662
 
659
663
  FLAGS
660
- -v, --verbose show detailed error information including stack traces
661
- --no-repo use legacy direct file I/O instead of repository pattern
664
+ -d, --show-dependencies show task dependencies
665
+ -v, --verbose show detailed error information including stack traces
666
+ --no-repo use legacy direct file I/O instead of repository pattern
662
667
 
663
668
  DESCRIPTION
664
669
  show details of a specific task in the project roadmap
@@ -667,7 +672,7 @@ EXAMPLES
667
672
  $ prt show F-001
668
673
  ```
669
674
 
670
- _See code: [src/commands/show.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.1/src/commands/show.ts)_
675
+ _See code: [src/commands/show.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.6/src/commands/show.ts)_
671
676
 
672
677
  ## `prt update TASKID`
673
678
 
@@ -703,7 +708,7 @@ EXAMPLES
703
708
  $ prt update F-002 --deps="F-001" --clear-notes
704
709
  ```
705
710
 
706
- _See code: [src/commands/update.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.1/src/commands/update.ts)_
711
+ _See code: [src/commands/update.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.6/src/commands/update.ts)_
707
712
 
708
713
  ## `prt validate`
709
714
 
@@ -724,7 +729,7 @@ EXAMPLES
724
729
  $ prt validate
725
730
  ```
726
731
 
727
- _See code: [src/commands/validate.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.1/src/commands/validate.ts)_
732
+ _See code: [src/commands/validate.ts](https://github.com/ZacharyEggert/project-roadmap-tracking/blob/v0.2.6/src/commands/validate.ts)_
728
733
  <!-- commandsstop -->
729
734
 
730
735
  ## Development
@@ -7,6 +7,7 @@ export default class Show extends Command {
7
7
  static examples: string[];
8
8
  static flags: {
9
9
  'no-repo': import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ 'show-dependencies': import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
12
  };
12
13
  run(): Promise<void>;
@@ -16,6 +16,11 @@ export default class Show extends Command {
16
16
  default: false,
17
17
  description: 'use legacy direct file I/O instead of repository pattern',
18
18
  }),
19
+ 'show-dependencies': Flags.boolean({
20
+ char: 'd',
21
+ default: false,
22
+ description: 'show task dependencies',
23
+ }),
19
24
  // flag with no value (-f, --force)
20
25
  // force: Flags.boolean({char: 'f'}),
21
26
  // flag with a value (-n, --name=VALUE)
@@ -43,6 +48,12 @@ export default class Show extends Command {
43
48
  for (const line of lines) {
44
49
  console.log(line);
45
50
  }
51
+ if (flags['show-dependencies'] && task) {
52
+ const dependencyLines = displayService.formatTaskDependencies(task, roadmap);
53
+ for (const line of dependencyLines) {
54
+ console.log(line);
55
+ }
56
+ }
46
57
  }
47
58
  catch (error) {
48
59
  const exitCode = errorHandlerService.handleError(error);
@@ -1,4 +1,4 @@
1
- import Ajv from 'ajv';
1
+ import { Ajv } from 'ajv';
2
2
  import { readFile, stat } from 'node:fs/promises';
3
3
  import { homedir } from 'node:os';
4
4
  import { join } from 'node:path';
@@ -237,7 +237,7 @@ export class ConfigRepository {
237
237
  ]);
238
238
  }
239
239
  const errorDetails = this.validateSchema.errors.map((err) => ({
240
- field: err.dataPath || 'config',
240
+ field: err.instancePath || 'config',
241
241
  message: err.message || 'Unknown error',
242
242
  type: 'structure',
243
243
  }));
@@ -1,4 +1,4 @@
1
- import { PRIORITY, STATUS, Task } from '../util/types.js';
1
+ import { PRIORITY, Roadmap, STATUS, Task } from '../util/types.js';
2
2
  import { RoadmapStats } from './roadmap.service.js';
3
3
  import { DependencyValidationError } from './task-dependency.service.js';
4
4
  /**
@@ -80,6 +80,15 @@ export declare class DisplayService {
80
80
  * ```
81
81
  */
82
82
  formatStatusText(status: STATUS): string;
83
+ /**
84
+ * Formats the dependencies of a task for display.
85
+ *
86
+ *
87
+ * @param task - the task whose dependencies are to be formatted
88
+ * @param roadmap - the roadmap containing all tasks
89
+ * @returns Array of formatted dependency lines
90
+ */
91
+ formatTaskDependencies(task: Task, roadmap: Roadmap): string[];
83
92
  /**
84
93
  * Formats complete task details for show command.
85
94
  * Returns an array of lines to be output.
@@ -124,6 +124,34 @@ export class DisplayService {
124
124
  .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
125
125
  .join(' ');
126
126
  }
127
+ /**
128
+ * Formats the dependencies of a task for display.
129
+ *
130
+ *
131
+ * @param task - the task whose dependencies are to be formatted
132
+ * @param roadmap - the roadmap containing all tasks
133
+ * @returns Array of formatted dependency lines
134
+ */
135
+ formatTaskDependencies(task, roadmap) {
136
+ const lines = [];
137
+ lines.push(`\nDependencies for Task: ${task.id}\n`);
138
+ if (task['depends-on'].length === 0) {
139
+ lines.push('This task has no dependencies.\n');
140
+ return lines;
141
+ }
142
+ for (const depId of task['depends-on']) {
143
+ const depTask = roadmap.tasks.find((t) => t.id === depId);
144
+ if (depTask) {
145
+ const statusSymbol = this.formatStatusSymbol(depTask.status);
146
+ const priorityLabel = this.formatPriorityLabel(depTask.priority);
147
+ lines.push(` ${statusSymbol} [${priorityLabel}] [${depTask.id}] ${depTask.title}`, ` Details: ${depTask.details}\n`);
148
+ }
149
+ else {
150
+ lines.push(`❌ [Unknown Task] [${depId}] (Task not found in roadmap)`);
151
+ }
152
+ }
153
+ return lines;
154
+ }
127
155
  /**
128
156
  * Formats complete task details for show command.
129
157
  * Returns an array of lines to be output.
@@ -379,6 +379,13 @@
379
379
  "allowNo": false,
380
380
  "type": "boolean"
381
381
  },
382
+ "show-dependencies": {
383
+ "char": "d",
384
+ "description": "show task dependencies",
385
+ "name": "show-dependencies",
386
+ "allowNo": false,
387
+ "type": "boolean"
388
+ },
382
389
  "verbose": {
383
390
  "char": "v",
384
391
  "description": "show detailed error information including stack traces",
@@ -545,5 +552,5 @@
545
552
  ]
546
553
  }
547
554
  },
548
- "version": "0.2.1"
555
+ "version": "0.2.6"
549
556
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "project-roadmap-tracking",
3
3
  "description": "CLI based project task tracking",
4
- "version": "0.2.1",
4
+ "version": "0.2.6",
5
5
  "author": "ZacharyEggert",
6
6
  "bin": {
7
7
  "prt": "./bin/run.js"