Skip to content

Commit 752ffa0

Browse files
feat(#118): Add CONTRIBUTING.md with development setup and guidelines (#129)
* plan(#118): initial brief from issue * plan(#118): review brief * plan(#118): apply brief review feedback * plan(#118): review brief * plan(#118): apply brief review feedback * plan(#118): review brief * plan(#118): create task breakdown * feat(#118): add CONTRIBUTING.md and update README.md Create CONTRIBUTING.md at the repository root covering prerequisites, building, testing, code style, git workflow, pull request guidelines, line endings, and cross-platform notes. Update README.md to link to CONTRIBUTING.md from the contribution and development sections. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(#118): implement tasks * feat(#118): complete implementation --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 3b33f7e commit 752ffa0

2 files changed

Lines changed: 57 additions & 4 deletions

File tree

CONTRIBUTING.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Contributing
2+
3+
Thank you for your interest in contributing to HdrHistogram.NET.
4+
We welcome pull requests and encourage contributors to engage with the project.
5+
6+
## Prerequisites
7+
8+
- .NET 8 SDK minimum (newer SDKs are also supported)
9+
- Supported platforms: Windows, macOS, Linux
10+
11+
## Building
12+
13+
```sh
14+
dotnet build HdrHistogram.sln
15+
```
16+
17+
## Testing
18+
19+
```sh
20+
dotnet test ./HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj -v q -c Release
21+
```
22+
23+
## Code Style
24+
25+
- Code style is governed by `.editorconfig`
26+
- Run `dotnet format` before submitting a PR
27+
- Use the .NET 8 SDK to match the CI environment
28+
29+
## Git Workflow
30+
31+
- Branch naming prefixes: `feat/`, `fix/`, `chore/`
32+
- One issue per PR
33+
- PRs target `main`
34+
- No direct commits to `main`
35+
36+
## Pull Request Guidelines
37+
38+
- Please first raise an issue before contributing so the team is not caught off guard by the pull request.
39+
- Ensure the PR has a comment describing what it achieves and which issues it closes.
40+
- If fixing an issue or bug, include a unit test proving the fix and reference the issue in the PR comments.
41+
42+
## Line Endings
43+
44+
- LF is the project convention.
45+
- `.gitattributes` normalises line endings automatically on checkout.
46+
- Windows batch files (`.cmd`, `.bat`) use CRLF by exception.
47+
- Keep `core.autocrlf=false` or rely on `.gitattributes` to handle line endings correctly.
48+
49+
## Cross-Platform Notes
50+
51+
- Shell scripts require LF line endings.
52+
- `.gitattributes` normalises line endings on checkout, so no manual intervention is needed.
53+
- All platforms (Windows, macOS, Linux) with the .NET 8 SDK can build and test natively with no container required.
54+
- `.devcontainer/` exists in the repository but contains agent-automation infrastructure only (`fleet.sh`, `agent-loop.sh`, etc.) and is not intended for human contributors.

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -256,13 +256,12 @@ histogram.OutputPercentileDistribution(
256256

257257
### How would I contribute to this project?
258258

259-
We welcome pull requests!
260-
If you do choose to contribute, please first raise an issue so we are not caught off guard by the pull request.
261-
Next can you please ensure that your PR (Pull Request) has a comment in it describing what it achieves and the issues that it closes.
262-
Ideally if it is fixing an issue or a bug, there would be a Unit Test proving the fix and a reference to the Issues in the PR comments.
259+
See [CONTRIBUTING.md](CONTRIBUTING.md) for full contribution guidelines.
263260

264261
## Development
265262

263+
For prerequisites and development setup, see [CONTRIBUTING.md](CONTRIBUTING.md).
264+
266265
### Running the Tests
267266

268267
The unit tests can be run using `dotnet test`.

0 commit comments

Comments
 (0)