Skip to content
Merged
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
70 changes: 69 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,81 @@ Please read the rest of this document to ensure a smooth contribution process.
* [GitHub Flow Guide](https://guides.github.com/introduction/flow/):
step-by-step instructions of GitHub Flow

## Contributing to Issues
## Issues for new contributors

* Check if the issue you are going to file already exists in our [GitHub issues](https://github.com/powershell/DSC/).
* If you can't find your issue already,
[open a new issue](https://github.com/PowerShell/DSC/issues/new/choose),
making sure to follow the directions as best you can.

## Contribution Workflow

Whether you’re fixing bugs, developing new functionality, or improving tests,
contributions are managed through a GitHub-centered workflow.
After setting up your GitHub account, follow these instructions:

1. Fork the repo you plan to work on.

In GitHub, click Fork on the project page to create your copy under your account.

1. Clone your fork locally

```powershell
git clone https://github.com/<your-github-username>/DSC.git
cd DSC
```

1. Add the upstream remote and sync main

```powershell
git remote add upstream https://github.com/PowerShell/DSC.git
git fetch upstream
git checkout main
git pull --ff-only upstream main
```

1. Create a new branch to hold your work.

```powershell
git checkout -b <short-description>
```

1. Work on your new code. Write tests

```powershell
./build.ps1 -Clippy -Test
```

The build script uses crates.io by default.
For prerequisites, test groups, and cross-platform builds,
see [Building and testing](#building-and-testing).

1. Commit your changes with a clear message

```powershell
git add -A
git commit -m "<concise summary of the change>"
```

1. Push your branch and open a Pull Request

```powershell
git push -u origin <short-description>
```

In GitHub, open a PR from your branch to the upstream main branch. Link related issues
and include a brief summary and rationale.
See [Pull Request Guidelines](#pull-request-guidelines).

1. Keep your branch up to date

```powershell
git fetch upstream
git rebase upstream/main
# resolve conflicts if any, then continue the rebase
git push --force-with-lease
```

## Contributing to Documentation

### Contributing to documentation related to DSC
Expand Down