start-coding-challenge
Version:
Easily start a number of coding challenges.
56 lines (37 loc) • 2.5 kB
Markdown
# Contribution Guidelines
When contributing to `start-coding-challenge` whether on GitHub or in other community spaces:
- Be respectful, civil, and open-minded.
- Before opening a new pull request, try searching through the [issue tracker](https://github.com/martijnd/start-coding-challenge/issues) for known issues or fixes.
## How to Contribute
1. [Open an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue) and describe the problem.
2. [Fork this repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo) to your own GitHub account, then [clone the repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) to your machine.
3. Follow the [README](https://github.com/martijnd/start-coding-challenge#readme) to install the project.
4. Create a new branch and implement your changes.
> Note: We use `commitlint` to autoupdate the changelog and versioning.
>
> - Make sure you follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) guidelines when making commits.
> - Do not manually update the [changelog](./CHANGELOG.md) and version in the [package.json](./package.json).
5. Open a pull request! All pull requests must be made to the `main` branch.
## Adding new coding challenges
Help me with adding some coding challenges! The challenges can range from very easy to expert level.
Since I provide the challenges in both TypeScript and JavaScript, the exercises are duplicated in the project.
The best way to add a challenge, is to copy over an existing challenge from the `src/exercises/ts` folder.
Create a new file, paste in the copied contents and modify it to your needs. Think about the level of the challenge, whether it's
a very easy, easy, medium, hard or expert level challenge and place it inside the appropriate folder.
Once your challenge is added, you _must_ run the following command to generate the JavaScript version for it.
```bash
npm run detype
```
This command will generate the JavaScript version of the challenge in the `src/exercises/js` folder. Please check this file to make sure it happened correctly.
## Contributor Development Setup
```bash
# Install pnpm
npm install -g pnpm
# Install dependencies
pnpm install
# Initial build
pnpm run build
# Start the package locally
pnpm start
```
This contribution guide is inspired by the [Next.js contribution guide.](https://github.com/vercel/next.js/blob/canary/contributing.md)