astro/COMMUNITY_GUIDE.md
2022-07-05 20:13:38 +00:00

4.7 KiB

Guide to Contributing to the Astro Community

When interacting, strive to maintain a friendly, empathetic tone. This includes, but is not limited to, interactions on Discord, GitHub, and Twitter.

"Tone" refers to word, punctuation, and conversational choices that determine how your message feels to others. This includes nonverbal cues, like emojis and gifs.

Compare these two responses:

Question: Hey, I'm beginning with Astro. I tried to use document in my Astro page, but it says that the object doesn't exist. How can I manipulate the DOM?

Answer 1 Answer 2
You can't manipulate the DOM from an Astro file 😂 Astro is a static site builder. Hey, welcome to the community!
Astro pages and components run on the server. Because of that, you won't have access to everything you're used to when writing JavaScript for the web. You're on the right track, though - you can access document from a <script> tag in your Astro file.
Check out the docs here, and let me know if you need any more help! https://docs.astro.build/en/core-concepts/astro-components/#client-side-scripts

Answer 2 centered the user's feelings and as such, took more effort. However, it made a significant difference. This response:

  • welcomed the new member into the community
  • made them feel validated for asking the question ("You're on the right track")
  • provided an explanation that fit the person who asked the question: Answer 2 sought to explain things to a self-described beginner, who might not understand the implications of "static site builder"
  • made it clear that the community is willing to help and that asking is not a burden ("let me know if you need any more help!")
  • equipped them with a next step ("Check out the docs here"), while at the same time familiarized them onto our docs page

Our community prides itself on being positive, helpful, and inclusive. If you have these goals in mind when interacting in the community, you're on the right track!

  • To stay positive:

    • Make it clear that you appreciate the other person's contributions.
    • Aim to learn: even complaints can be valuable feedback.
    • Look for alternate interpretations of your message before sending, and consider clarifying your intent if you're unsure how your words might come across (using exclamation points and emojis to convey friendliness is generally 👍 !)
    • During conflict: maintain respect, avoid aggression, and avoid making it personal ("you").
    • Set boundaries. Feel free to step away from a conversation when you feel frustrated. Reach out to community leaders who can step in and de-escalate the situation. We are in this together!
  • To stay helpful:

    • Seek to understand the the other person's desired outcomes. Are they looking for assistance? Just wanting to vent?
    • When explaining something, first establish the knowledge level of the person you're responding to. Match your explanation to that level. A good rule of thumb is to assume that everyone is a beginner. Your response will most likely be read by others as well!
    • Ask clarifying questions. If you're not sure what the person meant, ask them if your understanding is correct. If you're not sure what they already know, ask them if they're familiar with a concept.
  • To stay inclusive:

    • Refer to someone by their expressed name. Don't use your own nicknames for someone (unless you're friends with established trust).
    • Refer to someone by their expressed pronouns. If this wasn't expressed, use they/them, which in English can be used to refer to individuals of any gender.
    • If you sense hesitancy in someone's participation, make it clear that you're happy they're participating.
    • Advocate for someone if you see that they're being dismissed.