diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6d43425c..d5354d6f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,33 +1,37 @@ -# 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 @@ -46,3 +50,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! 🌟👩‍💻👨‍💻 \ No newline at end of file