Skip to content

Commit bd1b224

Browse files
authored
Merge pull request #27 from jdarcyryan/jdr/documentation_update
jdr/documentation_update
2 parents 56c5999 + 96305d6 commit bd1b224

3 files changed

Lines changed: 67 additions & 1 deletion

File tree

CODE_OF_CONDUCT.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
We are committed to providing a welcoming and respectful environment for everyone, regardless of experience level, background, identity, or personal characteristics.
6+
7+
## Our Standards
8+
9+
**Expected behaviour:**
10+
11+
- Being respectful and considerate in communication
12+
- Providing and accepting constructive feedback graciously
13+
- Focusing on what is best for the project and community
14+
- Showing empathy towards other contributors
15+
16+
**Unacceptable behaviour:**
17+
18+
- Harassment, insults, or derogatory comments
19+
- Personal or political attacks
20+
- Publishing others' private information without permission
21+
- Any conduct that would be considered inappropriate in a professional setting
22+
23+
## Scope
24+
25+
This Code of Conduct applies to all project spaces, including issues, pull requests, discussions, and any public representation of the project.
26+
27+
## Enforcement
28+
29+
Instances of unacceptable behaviour may be reported by contacting the project maintainer. All reports will be reviewed and addressed appropriately. The maintainer reserves the right to remove, edit, or reject contributions that violate this Code of Conduct, and to temporarily or permanently ban contributors for behaviour deemed inappropriate.
30+
31+
## Attribution
32+
33+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.

CONTRIBUTING.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ make setup
4545
```
4646
This will set up an example module for testing.
4747

48+
#### Install Dependencies
49+
```bash
50+
make depend
51+
```
52+
This installs any required modules defined in `PSDepend.psd1`. If your changes add a new module dependency, make sure it is listed in both `PSDepend.psd1` and in `RequiredModules` in the module manifest.
53+
4854
#### Build the Module
4955
```bash
5056
make build
@@ -61,6 +67,7 @@ All tests should pass before submitting your pull request.
6167

6268
- **If you modify Pester tests**: Create example functions and ensure to reference GitHub Actions runs on your forked repository
6369
- **If you modify scripts or workflows**: Verify that the associated pipelines run correctly in your fork
70+
- **If you add dependencies**: Ensure they are declared in both `PSDepend.psd1` and `RequiredModules` in the module manifest
6471

6572
### 6. Commit Your Changes
6673

README.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Use this template to quickly bootstrap new PowerShell module projects with indus
1212
- Pre-configured module structure
1313
- Easy building and testing with make
1414
- Pester testing framework integration
15+
- Dependency management with PSDepend
1516
- GitHub Actions CI/CD workflows
1617
- C# class support
1718
- Automatic documentation
@@ -48,6 +49,14 @@ This creates a folder with the repository name, housing the module files/folders
4849
make setup
4950
```
5051

52+
### Installing dependencies
53+
54+
This installs any required modules defined in `PSDepend.psd1` at the root of your repository.
55+
If no `PSDepend.psd1` file exists, this step is skipped gracefully.
56+
```bash
57+
make depend
58+
```
59+
5160
### Perform a build
5261

5362
This builds a nupkg from your source code into the .output folder.
@@ -62,6 +71,23 @@ This runs all pester tests against the built module.
6271
make pester
6372
```
6473

74+
## Dependencies
75+
76+
Module dependencies are managed using [PSDepend](https://github.com/RamblingCookieMonster/PSDepend).
77+
To declare dependencies, create or edit the `PSDepend.psd1` file in the root of your repository.
78+
79+
A simple example that installs the latest version of a module from PSGallery:
80+
```powershell
81+
@{
82+
'Microsoft.PowerShell.ConsoleGuiTools' = 'latest'
83+
}
84+
```
85+
86+
You can also pin versions, use hashtable format for more control, or pull from Git repositories.
87+
See the comments in the included `PSDepend.psd1` template for all supported options.
88+
89+
Any modules listed in `PSDepend.psd1` should also be added to `RequiredModules` in your module manifest so that PowerShell enforces the dependency at import time.
90+
6591
## Custom Scripts
6692

6793
For advanced scenarios that fall outside the standard module build process, two custom scripts are available.
@@ -116,4 +142,4 @@ Copyright (c) 2026 James D'Arcy Ryan
116142

117143
## Acknowledgments
118144

119-
Thank you to all contributors who help improve this template!
145+
Thank you to all contributors who help improve this template!

0 commit comments

Comments
 (0)