Skip to content

docs: improve CONTRIBUTING.md #327

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from
Closed
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
101 changes: 71 additions & 30 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,54 @@
# Contributing to GitHub Maintainer Month

:+1::tada: First off, thanks for taking the time to contribute! :tada::+1:
## Hey there! 👋

This document provides guidelines and instructions for contributing to the Maintainer Month website.
First off, thanks for taking the time to contribute! 🎉✨

## Quick Navigation
This document provides guidelines and instruction for contributing to the **Maintainer Month** website.

Don't worry if you're new here, we appreciate and support everyone here! If you have any questions, **feel free to reach out for help** and we'll try to answer as soon as possible!

## SUMMARY

- [How to Contribute](#how-to-contribute)
- [Contribution Walkthrough](#contribution-walkthrough)
- [Adding a New Event](#adding-a-new-event)
- [Adding a New Resource
](#adding-a-new-resource)
Comment on lines +16 to +17
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The closing bracket should be inline.

Suggested change
- [Adding a New Resource
](#adding-a-new-resource)
- [Adding a New Resource](#adding-a-new-resource)

- [Fixing Typos or Content Issues](#fixing-typos-or-content-issues)
- [Making Code Changes
](#making-code-changes)
Comment on lines +19 to +20
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Making Code Changes
](#making-code-changes)
- [Making Code Changes](#making-code-changes)

- [Development Guidelines](#development-guidelines)
- [Setting Up Your Environment
](#setting-up-your-enviroment)
Comment on lines +22 to +23
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [Setting Up Your Environment
](#setting-up-your-enviroment)
- [Setting Up Your Environment](#setting-up-your-enviroment)

- [Code Style](#code-style)
- [Testing](#testing)
- [Content Guidelines](#content-guidelines)
- [Frontmatter Fields](#frontmatter-fields)
- [Event Fields](#event-fields)
- [Library Resource Fields](#library-resource-fields)
- [Static Content](#static-content)
- [Questions](#questions)

## How to Contribute

1. **Fork the repository** and create your branch from `main`
2. **Make your changes** following the guidelines below
3. **Test your changes** locally if possible
4. **Submit a pull request** with a clear description of your changes
If you want to contribute to the project, follow the instructions below:

1. Fork the repository and create your branch from `main`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add a period here for consistency.

Note: If you'd like to end the sentence in the instruction lists with period, add one to each of them when possible. If not, omit the periods.

Suggested change
1. Fork the repository and create your branch from `main`
1. Fork the repository and create your branch from `main`.

2. Make your changes following the guidelines at [Contribution Walkthrough](#contribution-walkthrough).
3. Test your changes locally before committing, if possible.
4. Submit a Pull Request (PR) with a clear description of your changes, follow the instructions at [Contribution Walkthrough](#contribution-walkthrough).

## Contribution Walkthrough

### Adding a New Event
### → Adding a New Event
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As there is no icon for the titles anymore, let's remove this one as well.

Suggested change
### Adding a New Event
### Adding a New Event


If you want to add a new event, go to the `content/events/` folder.

1. Navigate to the `content/events/` folder
2. Create a new markdown file with a descriptive name (e.g., `2025-05-20-your-event-name.md`)
3. Use the following template:
Each event is documented in a markdown file for each one. So, to create one:

2. Create a new markdown file with a descriptive name (e.g., `2025-05-20-your-event-name.md` )
3. Use the following template to add the event details:
Comment on lines +46 to +51
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thoughts: I think we can stick to the original instructions here. But maintainers are the best to decide.

1. Navigate to the `content/events/` folder
2. Create a new markdown file with a descriptive name (e.g., `2025-05-20-your-event-name.md`)
3. Use the following template:

...


```markdown
---
Expand All @@ -45,13 +69,14 @@ linkUrl: 'https://link-to-event.com'
Detailed description of your event goes here. You can use markdown formatting.
```

4. All frontmatter fields (between `---`) are mandatory
5. Submit a PR with your changes
After these fields, on the line following `---`, add the event description in markdown format, then submit a PR with your changes.

### → Adding a New Resource
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Adding a New Resource
### Adding a New Resource


### Adding a New Resource
If you want to add a new resource (podcasts, articles, video, etc.) to the Library page (where links can be added and edited), you should:

1. Open the `content/library/resources.json` file
2. Add a new entry to the `resources` array following this format:
2. Add a new entry to the `resources` array following this format below:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Add a new entry to the `resources` array following this format below:
2. Add a new entry to the `resources` array following the below format:


```json
{
Expand All @@ -66,16 +91,24 @@ Detailed description of your event goes here. You can use markdown formatting.

3. Submit a PR with your changes

### Fixing Typos or Content Issues
### → Fixing Typos or Content Issues
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Fixing Typos or Content Issues
### Fixing Typos or Content Issues


Found a grammatical mistake? A broken link? Or even something more technical, like outdated information? Firstly, you should:

1. Locate the file with the content that needs correction
- Website text is in the `content/` directory
- For events, check `content/events/`
- For library resources, check `content/library/resources.json`

- **Website text** is in the `content/` directory
- For **events**, check `content/events/`
- For **library resources**, check `content/library/resources.json`
- For **homepage sections**, `content/home/`
- **Common website text** (menu, footer, page titles, etc.) `content/commons.json`
Comment on lines +100 to +104
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe maintainers are the perfect people to response to this. 🙂


2. Make your corrections
3. Submit a PR describing what you fixed

### Making Code Changes
### → Making Code Changes
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Making Code Changes
### Making Code Changes


If you believe there's a feature or functionality that could be improved or even a better way to perform a certain task, here's what you should do:

1. For structural code changes, please open an issue first to discuss your proposal
2. Follow the project's coding style and patterns
Expand All @@ -84,31 +117,39 @@ Detailed description of your event goes here. You can use markdown formatting.

## Development Guidelines

### Setting Up Your Environment
### Setting Up Your Environment
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Setting Up Your Environment
### Setting Up Your Environment


1. Clone the repository

```bash
git clone https://github.com/YOUR-USERNAME/maintainermonth.git
```
Comment on lines +124 to +126
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indentation is important here. If there is no indentation, after this point, the list will restart from no. 1.
You can use Markdown Live Preview to check on the result.

Suggested change
```bash
git clone https://github.com/YOUR-USERNAME/maintainermonth.git
```
```bash
git clone https://github.com/YOUR-USERNAME/maintainermonth.git
```


2. Install dependencies: `npm install`
3. Start the development server: `npm run dev`
4. Visit `http://localhost:3000` to see your changes

### Code Style
### Code Style
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Code Style
### Code Style


- Follow the existing code style and patterns
- Use descriptive variable and function names
- Write comments for complex logic

### Testing
### Testing
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Testing
### Testing


- Run tests with `npm test` before submitting changes
- Add new tests for new functionality when appropriate

## Content Guidelines

### Frontmatter Fields
Here you’ll find explanations and instructions for filling out content templates. Following these guidelines helps keep everything organized and easy to review!

## → Frontmatter Fields
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is part of "Content Guidelines" section. So, it should be an H3.

Suggested change
## Frontmatter Fields
### Frontmatter Fields


> **Important:** Do not modify variable names in frontmatter sections (between `---`). These are required for the website to function properly.
> [!IMPORTANT]
> Do not modify variable names in frontmatter sections (between `---`). These are required for the website to function properly.

#### Event Fields
## Event Fields
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is part of "Frontmatter Fields". Therefore, it should be an H4.

Suggested change
## Event Fields
#### Event Fields


- `title`: Event title
- `metaTitle`: Title for SEO meta tags
Expand All @@ -123,7 +164,7 @@ Detailed description of your event goes here. You can use markdown formatting.
- `userLink`: Link to organizer profile/website
- `linkUrl`: Direct link to the event

#### Library Resource Fields
## Library Resource Fields
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Library Resource Fields
#### Library Resource Fields


- `title`: Resource title
- `author`: Author or creator name
Expand All @@ -132,7 +173,7 @@ Detailed description of your event goes here. You can use markdown formatting.
- `type`: Content type (e.g., `video`, `article`, `tutorial`)
- `topics`: Relevant topic tags

### Static Content
## Static Content
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is part of "Content Guidelines". So, it should be an H3.

Suggested change
## Static Content
### Static Content


Other content files are organized as follows:

Expand All @@ -141,6 +182,6 @@ Other content files are organized as follows:

When editing these files, maintain the existing structure and frontmatter fields.

### Questions?
## Questions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's put back the questions mark here. Without one, it feels like we are the one who have questions for folks.

Suggested change
## Questions
## Questions?


The Maintainer Month website is maintained by the Open Source team at GitHub. You can reach out at <maintainermonth @ github .com>
The Maintainer Month website is maintained by the Open Source team at GitHub. You can reach out at <maintainermonth@github.com>. ✨