Skip to content

Commit

Permalink
updated CONTRIBUTING.md, made it better, precise, and emojified (#688)
Browse files Browse the repository at this point in the history
* updated CONTRIBUTING.md, made it better, precise, and emojified

* Format

---------

Co-authored-by: Filip Tammergård <filip@tammergard.se>
Co-authored-by: Filip Tammergård <44197016+filiptammergard@users.noreply.github.com>
  • Loading branch information
3 people committed Oct 31, 2023
1 parent 41b4ac3 commit 9e7fdb5
Showing 1 changed file with 22 additions and 17 deletions.
39 changes: 22 additions & 17 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,36 @@
# So you want to contribute!
# Let's Contribute Together! 🚀

Thanks for helping out the community! We are actively looking for contributors and maintainers so you are more than welcome.
We appreciate your interest in contributing to this project. Here are some core principles and a simplified project structure to make your contribution process more efficient and effective:

I thought I should lay out some core principles that we will follow so that this repo doesn't get too wild and lose its value.
## 📋 Core Principles

1. **We are a CHEATSHEET above all**: all examples to be as simple as possible, easily searched, and presented for copy-and-paste.
2. **Collapsible explanations**: No more than 1-2 sentences of explanation, any more than that we put inside `details` tags.
3. **React + TypeScript ONLY**: React's ecosystem is huge, we can't possibly cover it all. This includes Redux. Would encourage people to maintain separate lists for stuff like React + Apollo Graphql, for example. Also we make no attempt to convince people to use TypeScript, we only exist to help people who have already decided to try it out.
4. **Add TypeScript Playground Links**: Whenever adding a code example longer than four lines, add a link to the TypeScript Playground with the code. Use the default compiler Playground options.
1. **We're All About Cheatsheets**: Our main goal is to provide concise and easy-to-use cheatsheets. All code examples should be simple, easily searchable, and ready for copy-and-paste.

That's all I've got! Again, really happy you are thinking about helping out, who knows, the person who you might be helping is yourself in future!
2. **Collapsible Explanations**: Keep explanations short and sweet, limited to 1-2 sentences. For more in-depth explanations, use `details` tags to provide additional context.

## Project structure
3. **React + TypeScript Only**: We focus on React and TypeScript. React's ecosystem is vast, so we won't cover everything. If you think there's a need, consider maintaining separate lists for specialized topics, like React + Apollo GraphQL. We also don't aim to convince people to use TypeScript; we're here to assist those who have already chosen to use it.

- All content is in `/docs`
- the `/docs/basic` is compiled into `README.md` to preserve GitHub readability via GitHub action, thanks
- `/website` consumes the `/docs` content, which is a [Docusaurus 2](https://docusaurus.io/) site, which also has [Algolia search](https://www.algolia.com/) (thanks to both teams for their support!)
4. **Add TypeScript Playground Links**: For code examples longer than four lines, include a link to the TypeScript Playground. Use the default TypeScript Playground options for the best experience.

The website is deployed to Netlify on swyx's personal account.
Your contributions will help countless developers, including your future self! 🙌

To run the docsite locally:
## 📁 Project Structure

- **Content in `/docs`**: All the content resides here.
- The content in `/docs/basic` is compiled into `README.md` to ensure that it's easy to read on GitHub.
- **`/website` Folder**: This part consumes the content in `/docs`. It's a Docusaurus 2 site and includes Algolia search. A big thanks to both the Docusaurus and Algolia teams for their support!

The website is deployed on Netlify, under swyx's personal account.

To run the docsite locally, follow these steps:

```bash
yarn # install deps
## make sure deps are installed in /website too
yarn # Install dependencies
## Ensure dependencies are also installed in /website
cd website && yarn start
```

example output from successful startup
Here's an example of the expected output when the development server starts successfully:

```
yarn run v1.22.4
Expand All @@ -46,3 +49,5 @@ Starting the development server...
✔ Client
Compiled successfully in 116.41ms
```

Let's work together to enhance this resource and make it even more valuable to the developer community! 🌟👩‍💻👨‍💻

0 comments on commit 9e7fdb5

Please sign in to comment.