Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b3ff7ba

Browse files
authored
Update links and contribution guide in documentation (PowerShell#25532)
1 parent 260592d commit b3ff7ba

4 files changed

Lines changed: 118 additions & 88 deletions

File tree

.github/CONTRIBUTING.md

Lines changed: 88 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,24 @@
11
# Contributing to PowerShell
22

3-
We welcome and appreciate contributions from the community.
4-
There are many ways to become involved with PowerShell:
5-
including filing issues,
6-
joining in design conversations,
7-
writing and improving documentation,
8-
and contributing to the code.
9-
Please read the rest of this document to ensure a smooth contribution process.
10-
11-
## Intro to Git and GitHub
3+
We welcome and appreciate contributions from the community!
124

13-
* Make sure you have a [GitHub account](https://github.com/signup/free).
14-
* Learning Git:
15-
* GitHub Help: [Good Resources for Learning Git and GitHub][good-git-resources]
16-
* [Git Basics](../docs/git/basics.md): install and getting started
17-
* [GitHub Flow Guide](https://guides.github.com/introduction/flow/):
18-
step-by-step instructions of GitHub Flow
5+
There are many ways to become involved with PowerShell including:
196

20-
## Quick Start Checklist
21-
22-
* Review the [Contributor License Agreement][CLA] requirement.
23-
* Get familiar with the [PowerShell repository](../docs/git).
7+
- [Contributing to Documentation](#contributing-to-documentation)
8+
- [Contributing to Issues](#contributing-to-issues)
9+
- [Contributing to Code](#contributing-to-code)
2410

25-
## Contributing to Issues
26-
27-
* Review [Issue Management][issue-management].
28-
* Check if the issue you are going to file already exists in our [GitHub issues][open-issue].
29-
* If you can't find your issue already,
30-
[open a new issue](https://github.com/PowerShell/PowerShell/issues/new/choose),
31-
making sure to follow the directions as best you can.
32-
* If the issue is marked as [`Up-for-Grabs`][up-for-grabs],
33-
the PowerShell Maintainers are looking for help with the issue.
34-
* Issues marked as [`First-Time-Issue`][first-time-issue],
35-
are identified as being easy and a great way to learn about this project and making
36-
contributions.
11+
Please read the rest of this document to ensure a smooth contribution process.
3712

3813
## Contributing to Documentation
3914

40-
### Contributing to documentation related to PowerShell
15+
Contributing to the docs is an excellent way to get started with the process of making open source contributions with minimal technical skill required.
16+
17+
Please see the [Contributor Guide in `MicrosoftDocs/PowerShell-Docs`](https://aka.ms/PSDocsContributor).
4118

42-
Please see the [Contributor Guide in `MicrosoftDocs/PowerShell-Docs`](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/CONTRIBUTING.md).
19+
Learn how to [Contribute to Docs like a Microsoft Insider](https://www.youtube.com/watch?v=ZQODV8krq1Q) (by @sdwheeler)
4320

44-
#### Quick steps if you're changing an existing cmdlet
21+
### Updating Documentation for an existing cmdlet
4522

4623
If you made a change to an existing cmdlet and would like to update the documentation using PlatyPS,
4724
here are the quick steps:
@@ -67,13 +44,13 @@ which will update the documentation for you.
6744
made.
6845
1. Link your Docs PR to your original change PR.
6946

70-
### Contributing to documentation related to maintaining or contributing to the PowerShell project
47+
### Style notes for documentation related to maintaining or contributing to the PowerShell project
7148

7249
* When writing Markdown documentation, use [semantic linefeeds][].
7350
In most cases, it means "one clause/idea per line".
7451
* Otherwise, these issues should be treated like any other issue in this repository.
7552

76-
#### Spell checking documentation
53+
### Spell checking documentation
7754

7855
Documentation is spellchecked. We use the
7956
[textlint](https://github.com/textlint/textlint/wiki/Collection-of-textlint-rule) command-line tool,
@@ -89,7 +66,7 @@ To run the spell checker, follow these steps:
8966

9067
If you need to add a term or disable checking part of a file see the [configuration sections of the rule](https://github.com/sapegin/textlint-rule-terminology).
9168

92-
#### Checking links in documentation
69+
### Checking links in documentation
9370

9471
Documentation is link-checked. We make use of the
9572
`markdown-link-check` command-line tool,
@@ -102,22 +79,19 @@ To run the link-checker, follow these steps:
10279
`npm install -g [email protected]`
10380
* run `find . \*.md -exec markdown-link-check {} \;`
10481

105-
## Contributing to Code
106-
107-
### Code Editor
108-
109-
You should use the multi-platform [Visual Studio Code (VS Code)][use-vscode-editor].
110-
111-
### Building and testing
112-
113-
#### Building PowerShell
114-
115-
Please see [Building PowerShell](../README.md#building-the-repository).
116-
117-
#### Testing PowerShell
118-
119-
Please see PowerShell [Testing Guidelines - Running Tests Outside of CI][running-tests-outside-of-ci] on how to test your build locally.
82+
## Contributing to Issues
12083

84+
1. Review [Issue Management][issue-management].
85+
1. Check if the issue you are going to file already exists in our [GitHub issues][open-issue].
86+
1. If you can't find your issue already,
87+
[open a new issue](https://github.com/PowerShell/PowerShell/issues/new/choose),
88+
making sure to follow the directions as best you can.
89+
1. If the issue is marked as [`Up-for-Grabs`][up-for-grabs],
90+
the PowerShell Maintainers are looking for help with the issue.
91+
1. Issues marked as [`First-Time-Issue`][first-time-issue],
92+
are identified as being easy and a great way to learn about this project and making
93+
contributions.
94+
12195
### Finding or creating an issue
12296

12397
1. Follow the instructions in [Contributing to Issues][contribute-issues] to find or open an issue.
@@ -137,6 +111,59 @@ Additional references:
137111
* GitHub's guide on [Contributing to Open Source](https://guides.github.com/activities/contributing-to-open-source/#pull-request)
138112
* GitHub's guide on [Understanding the GitHub Flow](https://guides.github.com/introduction/flow/)
139113

114+
## Contributing to Code
115+
116+
### Quick Start Checklist
117+
118+
* Review the [Contributor License Agreement][CLA] requirement.
119+
* Get familiar with the [PowerShell Repository Git Concepts](../docs/git/README.md).
120+
* Start a [GitHub Codespace](#Dev Container) and start exploring the repository.
121+
* Consider if what you want to do might be implementable as a [PowerShell Binary Module](https://learn.microsoft.com/powershell/scripting/developer/module/how-to-write-a-powershell-binary-module?view=powershell-7.5).
122+
The PowerShell repository has a rigorous acceptance process due to its huge popularity and emphasis on stability and long term support, and with a binary module you can contribute to the community much more quickly.
123+
* Pick an existing issue to work on! For instance, clarifying a confusing or unclear error message is a great starting point.
124+
125+
### Intro to Git and GitHub
126+
127+
1. Sign up for a [GitHub account](https://github.com/signup/free).
128+
1. Learning Git and GitHub:
129+
- [Git Basics](../docs/git/basics.md): install and getting started
130+
- [Good Resources for Learning Git and GitHub][good-git-resources]
131+
1. The PowerShell repository uses GitHub Flow as the primary branching strategy. [Learn about GitHub Flow](https://guides.github.com/introduction/flow/)
132+
133+
### Code Editing
134+
135+
PowerShell is primarily written in [C#](https://learn.microsoft.com/dotnet/csharp/tour-of-csharp/overview). While you can use any C# development environment you prefer, [Visual Studio Code][use-vscode-editor] is recommended.
136+
137+
### Dev Container
138+
139+
There is a PowerShell [Dev Container](https://code.visualstudio.com/docs/devcontainers/containers) which enables you get up and running quickly with a prepared Visual Studio Code environment with all the required prerequisites already installed.
140+
141+
[GitHub Codespaces](https://github.com/features/codespaces) is the fastest way to get started.
142+
Codespaces allows you to start a Github-hosted devcontainer from anywhere and contribute from your browser or via Visual Studio Code remoting.
143+
All GitHub users get 15 hours per month of a 4-core codespace for free.
144+
145+
To start a codespace for the PowerShell repository:
146+
147+
1. Go to https://github.com/PowerShell/PowerShell
148+
1. Click the green button on the right and choose to create a codespace
149+
150+
![alt text](Images/Codespaces.png)
151+
1. Alternatively, just hit the comma `,` key on your keyboard which should instantly start a codespace as well.
152+
153+
Once the codespace starts, you can press `ctrl+shift+b` (`cmd+shift+b` on Mac) to run the default build task. If you would like to interactivey test your changes, you can press `F5` to start debugging, add breakpoints, etc.
154+
155+
[Learn more about how to get started with C# in Visual Studio Code](https://code.visualstudio.com/docs/csharp/get-started)
156+
157+
### Building and Testing
158+
159+
#### Building PowerShell
160+
161+
[Building PowerShell](../README.md#Building-Powershell) has instructions for various platforms.
162+
163+
#### Testing PowerShell
164+
165+
Please see PowerShell [Testing Guidelines - Running Tests Outside of CI][running-tests-outside-of-ci] on how to test your build locally.
166+
140167
### Lifecycle of a pull request
141168

142169
#### Before submitting
@@ -161,7 +188,7 @@ Additional references:
161188
In such case, it's better to split the PR to multiple smaller ones.
162189
For large features, try to approach it in an incremental way, so that each PR won't be too big.
163190
* If you're contributing in a way that changes the user or developer experience, you are expected to document those changes.
164-
See [Contributing to documentation related to PowerShell](#contributing-to-documentation-related-to-powershell).
191+
See [Contributing to documentation related to PowerShell](#contributing-to-documentation).
165192
* Add a meaningful title of the PR describing what change you want to check in.
166193
Don't simply put: "Fix issue #5".
167194
Also don't directly use the issue title as the PR title.
@@ -191,10 +218,10 @@ Additional references:
191218
As an example, this requirement includes any changes to cmdlets (including cmdlet parameters) and features which have associated about_* topics.
192219
While not required, we appreciate any contributors who add this label and create the issue themselves.
193220
Even better, all contributors are free to contribute the documentation themselves.
194-
(See [Contributing to documentation related to PowerShell](#contributing-to-documentation-related-to-powershell) for more info.)
221+
(See [Contributing to documentation related to PowerShell](#contributing-to-documentation) for more info.)
195222
* If your change adds a new source file, ensure the appropriate copyright and license headers is on top.
196223
It is standard practice to have both a copyright and license notice for each source file.
197-
* For `.h`, `.cpp`, and `.cs` files use the copyright header with empty line after it:
224+
* For `.cs` files use the copyright header with empty line after it:
198225

199226
```c#
200227
// Copyright (c) Microsoft Corporation.
@@ -266,7 +293,7 @@ Additional references:
266293

267294
#### Pull Request - Roles and Responsibilities
268295

269-
1. The PR *author* is responsible for moving the PR forward to get it Approved.
296+
1. The PR *author* is responsible for moving the PR forward to get it approved.
270297
This includes addressing feedback within a timely period and indicating feedback has been addressed by adding a comment and mentioning the specific *reviewers*.
271298
When updating your pull request, please **create new commits** and **don't rewrite the commits history**.
272299
This way it's very easy for the reviewers to see diff between iterations.
@@ -300,7 +327,7 @@ In these cases:
300327
Mention the original pull request ID in the description of the new issue and close the abandoned pull request.
301328
- If the changes in an abandoned pull request are no longer needed (e.g. due to refactoring of the codebase or a design change), *assignee* will simply close the pull request.
302329

303-
## Making Breaking Changes
330+
### Making Breaking Changes
304331

305332
When you make code changes,
306333
please pay attention to these that can affect the [Public Contract][breaking-changes-contract].
@@ -309,12 +336,12 @@ Before making changes to the code,
309336
first review the [breaking changes contract][breaking-changes-contract]
310337
and follow the guidelines to keep PowerShell backward compatible.
311338

312-
## Making Design Changes
339+
### Making Design Changes
313340

314341
To add new features such as cmdlets or making design changes,
315342
please follow the [PowerShell Request for Comments (RFC)][rfc-process] process.
316343

317-
## Common Engineering Practices
344+
### Common Engineering Practices
318345

319346
Other than the guidelines for [coding][coding-guidelines],
320347
the [RFC process][rfc-process] for design,
@@ -366,7 +393,7 @@ is also appropriate, as is using Markdown syntax.
366393
Before you invest a large amount of time,
367394
file an issue and start a discussion with the community.
368395

369-
## Contributor License Agreement (CLA)
396+
### Contributor License Agreement (CLA)
370397

371398
To speed up the acceptance of any contribution to any PowerShell repositories,
372399
you should sign the Microsoft [Contributor License Agreement (CLA)](https://cla.microsoft.com/) ahead of time.
@@ -404,7 +431,7 @@ Repeat offenses may result in a permanent ban from the PowerShell org.
404431
[PowerShell-Docs]: https://github.com/powershell/powershell-docs/
405432
[use-vscode-editor]: https://learn.microsoft.com/dotnet/core/tutorials/with-visual-studio-code
406433
[repository-maintainer]: ../docs/community/governance.md#repository-maintainers
407-
[area-expert]: ../docs/community/governance.md#area-experts
434+
[area-expert]: ../.github/CODEOWNERS
408435
[first-time-issue]: https://github.com/powershell/powershell/issues?q=is%3Aopen+is%3Aissue+label%3AFirst-Time-Issue
409436
[coding-guidelines]: ../docs/dev-process/coding-guidelines.md
410437
[breaking-changes-contract]: ../docs/dev-process/breaking-change-contract.md

.github/Images/Codespaces.png

15.2 KB
Loading

README.md

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Welcome to the PowerShell GitHub Community!
55
for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models.
66
It includes a command-line shell, an associated scripting language, and a framework for processing cmdlets.
77

8-
[logo]: https://raw.githubusercontent.com/PowerShell/PowerShell/master/assets/ps_black_64.svg?sanitize=true
8+
[logo]: assets/ps_black_64.svg?sanitize=true
99

1010
## Windows PowerShell vs. PowerShell 7+
1111

@@ -61,26 +61,12 @@ There are dozens of topic-specific channels on our community-driven PowerShell V
6161
* [IRC](https://web.libera.chat/#powershell) on Libera.Chat
6262
* [Slack](https://aka.ms/psslack)
6363

64-
## Building the Repository
65-
66-
| Linux | Windows | macOS |
67-
|--------------------------|----------------------------|------------------------|
68-
| [Instructions][bd-linux] | [Instructions][bd-windows] | [Instructions][bd-macOS] |
69-
70-
If you have any problems building, consult the developer [FAQ][].
71-
7264
### Build status of nightly builds
7365

7466
| Azure CI (Windows) | Azure CI (Linux) | Azure CI (macOS) | CodeFactor Grade |
7567
|:-----------------------------------------|:-----------------------------------------------|:-----------------------------------------------|:-------------------------|
7668
| [![windows-nightly-image][]][windows-nightly-site] | [![linux-nightly-image][]][linux-nightly-site] | [![macOS-nightly-image][]][macos-nightly-site] | [![cf-image][]][cf-site] |
7769

78-
[bd-linux]: https://github.com/PowerShell/PowerShell/tree/master/docs/building/linux.md
79-
[bd-windows]: https://github.com/PowerShell/PowerShell/tree/master/docs/building/windows-core.md
80-
[bd-macOS]: https://github.com/PowerShell/PowerShell/tree/master/docs/building/macos.md
81-
82-
[FAQ]: https://github.com/PowerShell/PowerShell/tree/master/docs/FAQ.md
83-
8470
[windows-nightly-site]: https://powershell.visualstudio.com/PowerShell/_build?definitionId=32
8571
[linux-nightly-site]: https://powershell.visualstudio.com/PowerShell/_build?definitionId=23
8672
[macos-nightly-site]: https://powershell.visualstudio.com/PowerShell/_build?definitionId=24
@@ -90,6 +76,30 @@ If you have any problems building, consult the developer [FAQ][].
9076
[cf-site]: https://www.codefactor.io/repository/github/powershell/powershell
9177
[cf-image]: https://www.codefactor.io/repository/github/powershell/powershell/badge
9278

79+
## Developing and Contributing
80+
81+
Want to contribute to PowerShell? Please start with the [Contribution Guide][] to learn how to develop and contribute.
82+
83+
If you are developing .NET Core C# applications targeting PowerShell Core, [check out our FAQ][] to learn more about the PowerShell SDK NuGet package.
84+
85+
Also, make sure to check out our [PowerShell-RFC repository](https://github.com/powershell/powershell-rfc) for request-for-comments (RFC) documents to submit and give comments on proposed and future designs.
86+
87+
[Contribution Guide]: .github/CONTRIBUTING.md
88+
[check out our FAQ]: docs/FAQ.md#where-do-i-get-the-powershell-core-sdk-package
89+
90+
## Building PowerShell
91+
92+
| Linux | Windows | macOS |
93+
|--------------------------|----------------------------|------------------------|
94+
| [Instructions][bd-linux] | [Instructions][bd-windows] | [Instructions][bd-macOS] |
95+
96+
If you have any problems building PowerShell, please start by consulting the developer [FAQ].
97+
98+
[bd-linux]: docs/building/linux.md
99+
[bd-windows]: docs/building/windows-core.md
100+
[bd-macOS]: docs/building/macos.md
101+
[FAQ]: docs/FAQ.md
102+
93103
## Downloading the Source Code
94104

95105
You can clone the repository:
@@ -100,16 +110,6 @@ git clone https://github.com/PowerShell/PowerShell.git
100110

101111
For more information, see [working with the PowerShell repository](https://github.com/PowerShell/PowerShell/tree/master/docs/git).
102112

103-
## Developing and Contributing
104-
105-
Please look into the [Contribution Guide][] to know how to develop and contribute.
106-
If you are developing .NET Core C# applications targeting PowerShell Core, [check out our FAQ][] to learn more about the PowerShell SDK NuGet package.
107-
108-
Also, make sure to check out our [PowerShell-RFC repository](https://github.com/powershell/powershell-rfc) for request-for-comments (RFC) documents to submit and give comments on proposed and future designs.
109-
110-
[Contribution Guide]: https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md
111-
[check out our FAQ]: https://github.com/PowerShell/PowerShell/tree/master/docs/FAQ.md#where-do-i-get-the-powershell-core-sdk-package
112-
113113
## Support
114114

115115
For support, see the [Support Section][].
@@ -122,7 +122,10 @@ PowerShell is licensed under the [MIT license][].
122122

123123
[MIT license]: https://github.com/PowerShell/PowerShell/tree/master/LICENSE.txt
124124

125-
### Windows Docker Files and Images
125+
### Docker Containers
126+
127+
> [!Important]
128+
> The PowerShell container images are now [maintained by the .NET team](https://github.com/PowerShell/Announcements/issues/75). The containers at `mcr.microsoft.com/powershell` are currently not maintained.
126129
127130
License: By requesting and using the Container OS Image for Windows containers, you acknowledge, understand, and consent to the Supplemental License Terms available on [Microsoft Artifact Registry][mcr].
128131

docs/building/windows-core.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ The `Start-PSBootstrap` function will automatically install it and add it to you
3535

3636
```powershell
3737
Import-Module ./build.psm1
38-
Start-PSBootstrap
38+
Start-PSBootstrap -Scenario Dotnet
3939
```
4040

4141
Or you can call `Install-Dotnet` directly:

0 commit comments

Comments
 (0)