Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Bug report
about: Report an issue with a PowerShell command
title: '[BUG] '
labels: bug
assignees: ''

---

**Command with Issue**
Identify the PowerShell command or script that has an issue.

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Using the following command '...'
2. With these parameters '....'
3. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Error Messages**
Include any error messages or unexpected output.

**Environment (please complete the following information):**
- OS: [e.g. Windows Server 2022, Windows 10]
- PowerShell Version: [e.g. 5.1, 7.2]
- Module Versions (if applicable): [e.g. AzureAD 2.0.2.130]

**Additional context**
Add any other context about the problem here.
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Jaquan Watson
url: mailto:jqwatson96@gmail.com
about: Contact the maintainer directly for urgent issues or support requests
- name: Documentation
url: https://github.com/jaquanwatson/powershell-command-reference#readme
about: Check the documentation for usage instructions and examples
- name: PowerShell Documentation
url: https://docs.microsoft.com/en-us/powershell/
about: Official PowerShell documentation for reference
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Feature request
about: Suggest a new command or improvement
title: '[FEATURE] '
labels: enhancement
assignees: ''

---

**Command Category**
Which category would this command belong to? (e.g., Active Directory, Azure, File System)

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Proposed Command Syntax**
```powershell
# Example of how the command would be used
Get-SomeNewFunction -Parameter Value
```

**Expected Output**
Describe what output or result the command should produce.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Use Cases**
Describe practical use cases for this command or feature.

**Additional context**
Add any other context or screenshots about the feature request here.
49 changes: 49 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
## Description
<!-- Provide a brief description of the changes in this pull request -->

## Related Issue
<!-- Link to the issue that this PR addresses (if applicable) -->
Fixes #(issue)

## Type of Change
<!-- Mark the appropriate option with an "x" -->
- [ ] New command(s)
- [ ] Command improvement/fix
- [ ] Documentation update
- [ ] Code refactoring
- [ ] Structure/organization improvement

## Command Category
<!-- If adding or modifying commands, specify which category they belong to -->
- [ ] Active Directory
- [ ] Azure & Microsoft 365
- [ ] File System & Storage
- [ ] Networking
- [ ] Security & Compliance
- [ ] Automation
- [ ] Other (please specify)

## Checklist
<!-- Mark the items you've completed with an "x" -->
- [ ] My code follows PowerShell best practices
- [ ] I have performed a self-review of my commands
- [ ] I have added proper comment-based help for all commands
- [ ] I have included examples for each command
- [ ] I have tested all commands in a real environment
- [ ] I have updated documentation if necessary

## Command Examples
<!-- Provide examples of how to use the new/modified commands -->
```powershell
# Example usage
Get-SomeCommand -Parameter Value
```

## Expected Output
<!-- Show the expected output from the command examples -->
```
Expected command output here
```

## Additional Context
<!-- Add any other context about the pull request here -->
117 changes: 117 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Contributing to PowerShell Command Reference

Thank you for your interest in contributing to the PowerShell Command Reference library! This document provides guidelines and instructions for contributing to this project.

## Code of Conduct

By participating in this project, you agree to abide by our Code of Conduct. Please be respectful and considerate of others.

## How to Contribute

### Reporting Issues

1. Check if the issue has already been reported by searching the [Issues](https://github.com/jaquanwatson/powershell-command-reference/issues).
2. If the issue hasn't been reported, [open a new issue](https://github.com/jaquanwatson/powershell-command-reference/issues/new/choose) using the Bug Report template.
3. Provide a clear title and description, along with steps to reproduce the issue.
4. Include any relevant error messages or unexpected output.

### Suggesting New Commands

1. Check if the command has already been suggested by searching the [Issues](https://github.com/jaquanwatson/powershell-command-reference/issues).
2. If the command hasn't been suggested, [open a new issue](https://github.com/jaquanwatson/powershell-command-reference/issues/new/choose) using the Feature Request template.
3. Provide a clear title and description of the command.
4. Include example usage and expected output.

### Pull Requests

1. Fork the repository.
2. Create a new branch from `main` for your changes.
3. Make your changes, following the coding standards and guidelines.
4. Test your commands thoroughly.
5. Update documentation if necessary.
6. Submit a pull request to the `main` branch.

## Command Structure

Each command in this repository should follow this structure:

```powershell
<#
.SYNOPSIS
Brief description of what the command does.

.DESCRIPTION
Detailed description of the command's functionality.

.PARAMETER ParameterName
Description of the parameter.

.EXAMPLE
Get-SomeCommand -Parameter Value
Description of what this example does.

.NOTES
Additional information about the command.

.LINK
Related links or documentation.
#>
function Get-SomeCommand {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true, HelpMessage = "Help message for parameter")]
[string]$ParameterName
)

# Command implementation
# ...

# Return results
}
```

## Command Categories

When adding new commands, place them in the appropriate category file:

- `active-directory.ps1`: Commands for Active Directory management
- `azure-m365.ps1`: Commands for Azure and Microsoft 365
- `file-system.ps1`: Commands for file and storage operations
- `networking.ps1`: Commands for networking tasks
- `security.ps1`: Commands for security and compliance
- `automation.ps1`: Commands for automation tasks

If your command doesn't fit into an existing category, please suggest a new category in your pull request.

## PowerShell Best Practices

- Use approved PowerShell verbs (use `Get-Verb` to see the list).
- Follow consistent naming conventions (Pascal case for functions and parameters).
- Include proper error handling.
- Use comment-based help for all functions.
- Keep functions focused on a single responsibility.
- Use pipeline support where appropriate.
- Follow the principle of least privilege.
- Include examples for all commands.

## Testing

- Test all commands in a real PowerShell environment.
- Verify that commands work in both Windows PowerShell 5.1 and PowerShell 7+.
- Test with different parameter combinations.
- Ensure error handling works as expected.

## Documentation

- Include comment-based help for all commands.
- Provide clear examples of how to use each command.
- Document any prerequisites or dependencies.
- Update the README.md if adding a new category or significant functionality.

## Review Process

1. All pull requests will be reviewed by the maintainers.
2. Feedback may be provided for necessary changes.
3. Once approved, the pull request will be merged.

Thank you for contributing to the PowerShell Command Reference library!
Loading