You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: PSProjectStatus.psd1
+11-8Lines changed: 11 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
@{
4
4
RootModule='PSProjectStatus.psm1'
5
-
ModuleVersion='0.11.1'
5
+
ModuleVersion='0.12.0'
6
6
CompatiblePSEditions='Desktop','Core'
7
7
GUID='ec249544-dc4e-4e24-aae8-4281ec84f54d'
8
8
Author='Jeff Hicks'
@@ -11,17 +11,20 @@
11
11
Description='A set of PowerShell tools for tracking module development status. The module uses a JSON file to create a custom object with information about your module. You can use this internally to track the status of your module including a simple to-do tracker. This module was first described at https://jdhitsolutions.com/blog/powershell/8960/introducing-psprojectstatus/'
This PowerShell module is designed to make it easier to manage your projects and modules. It provides a snapshot overview of the project's status. You can use this to quickly determine when you last worked on a module and what high-level tasks remain. Status information is stored in a JSON file that resides in the module's root directory. If you have initialized *git* for the module, the project status will include the current branch.
5
+
This PowerShell module is designed to make it easier to manage your projects and modules. It provides a snapshot overview of the project's status. You can use this to quickly determine when you last worked on a module and what high-level tasks remain. Status information is stored in a JSON file that resides in the module's root directory. If you have initialized *git* for the module, the project status will include the current branch.
6
6
7
7
## Installation
8
8
@@ -12,8 +12,25 @@ Install this module from the PowerShell Gallery.
12
12
Install-Module PSProjectStatus
13
13
```
14
14
15
+
Or you can use the [`Microsoft.PowerShell.PSResourceGet`](https://github.com/PowerShell/PSResourceGet/) module.
The project status is based on a private class-based definition. The PowerShell classes are used to construct the JSON file which in turn is used to create a `PSProject` object and update its properties.
@@ -158,7 +175,7 @@ The `Age` ScriptProperty and `VersionInfo` property sets are added to the object
158
175
159
176
To create a project status file, navigate to the module root and run [New-PSProjectStatus](docs/New-PSProjectStatus.md). The default status is `Development`
You are most likely to use tags when managing multiple projects. `Get-PSProjectReport` includes a `-Tag` parameter so that you can filter from your parent folder.
If you want to remove tags, either manually edit the JSON file or use `Set-PSProjectStatus` and set an empty array.
486
+
487
+
```powershell
488
+
Set-PSProjectStatus -Tags @()
489
+
```
490
+
421
491
## Removing Project Status
422
492
423
493
If no you longer want to track the project status for a given folder, simply delete the associated JSON file. As an alternative, you can set the status to `Archive`.
424
494
495
+
## Module Extensions
496
+
497
+
### Type Extensions
498
+
499
+
The commands in this module have defined type extensions. Alias and script properties have been defined.
Age ScriptProperty System.Object Age {get=(Get-Date) - $this.lastUpdate;}
525
+
```
526
+
527
+
The property sets make it easier to display a group of related properties.
528
+
529
+
```powershell
530
+
PS C:\Scripts\PSProjectStatus> Get-PSProjectstatus | Select Info
531
+
532
+
Name : PSProjectStatus
533
+
Status : Updating
534
+
Version : 0.12.0
535
+
GitBranch : 0.12.0
536
+
Tasks : {Create TUI-based management tools, Consider extending schema for a structured Task item [Issue 10],
537
+
Pester tests, Update README…}
538
+
Tags : {json}
539
+
Comment : none
540
+
```
541
+
542
+
### Formatting
543
+
544
+
The module uses custom and default formatting for projects and tasks. The default format is a table. There are examples you can see in several screenshots above. You can use also `Format-List`.
Tasks : {Create TUI-based management tools, Consider extending schema for a structured Task item [Issue 10], Pester
570
+
tests, Update README…}
571
+
Tags : {json}
572
+
Comment : none
573
+
Age : 00.00:16:04
574
+
```
575
+
576
+
### Verbose, Warning, and Debug
577
+
578
+
The commands in this module use localized string data to display verbose, warning, and debug messages. The module uses a private helper function to display verbose messaging. Each module command can be identified with a different ANSI color scheme.
You must use a PowerShell console that supports ANSI escape sequences. The PowerShell ISE __does not__ support this feature.
583
+
425
584
## Editor Integration
426
585
427
586
If you import this module into your PowerShell editor, either Visual Studio Code or the PowerShell ISE, the module will add an update function called `Update-PSProjectStatus`. You can run the command from the integrated terminal or use the appropriate shortcut (see below). The command will the status based on user input, update the `LastUpdate` time to the current date and time, update the project version from the module manifest (if found), and update the git branch if found.
@@ -463,9 +622,9 @@ These are a few things I'm considering or have been suggested.
463
622
+ Additional properties
464
623
+ priority
465
624
+ project type
466
-
+ tags
467
-
+ Extend the module to integrate into a SQLite database file. Although I would want this to work cross-platform.
468
625
+ Editor integration to manage project tasks.
469
626
+ A WPF or TUI form to display the project status and make it easier to edit tasks.
470
627
471
628
If you have any suggestions on how to extend this module or tips to others on how you are using it, please feel free to use the [Discussions](https://github.com/jdhitsolutions/PSProjectStatus/discussions) section of this module's GitHub repository.
0 commit comments