diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..4a4453d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -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. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..20473b5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -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 \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..3a4eb19 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -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. \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..e7f3511 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,49 @@ +## Description + + +## Related Issue + +Fixes #(issue) + +## Type of Change + +- [ ] New command(s) +- [ ] Command improvement/fix +- [ ] Documentation update +- [ ] Code refactoring +- [ ] Structure/organization improvement + +## Command Category + +- [ ] Active Directory +- [ ] Azure & Microsoft 365 +- [ ] File System & Storage +- [ ] Networking +- [ ] Security & Compliance +- [ ] Automation +- [ ] Other (please specify) + +## Checklist + +- [ ] 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 + +```powershell +# Example usage +Get-SomeCommand -Parameter Value +``` + +## Expected Output + +``` +Expected command output here +``` + +## Additional Context + \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ae2af1a --- /dev/null +++ b/CONTRIBUTING.md @@ -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! \ No newline at end of file