diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 982c6af6..e1622143 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,7 +4,7 @@ Welcome! 👋 This is a guide on how to contribute to Void. We want to make it a
There are two main ways to contribute:
-- Suggest New Features ([discord](https://discord.gg/4GAxHVAD))
+- Suggest New Features ([discord](https://discord.gg/RSNjgaugJs))
- Build New Features ([project](https://github.com/orgs/voideditor/projects/2/views/3))
We use a [VSCode extension](https://code.visualstudio.com/api/get-started/your-first-extension) to implement most of Void's functionality. Scroll down to see 1. How to build/contribute to the Extension, or 2. How to build/contribute to the full IDE (for more native changes).
@@ -50,14 +50,14 @@ Now that you're set up, feel free to check out our [Issues](https://github.com/v
Beyond the extension, we very occasionally edit the IDE when we need to access more functionality. If you want to work on the full IDE, please follow the steps below, or see VS Code's full [how to contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute) page.
-Before starting, make sure you've built the extension (by running `cd .\extensions\void\` and `npm run build`).
+Before starting, make sure you've built the extension (by running `cd .\extensions\void\` and `npm run build`). Also make sure you have Python on your system.
Make sure you're on the correct NodeJS version as per `.nvmrc`.
1. Install all dependencies.
```
-yarn
+npm install
```
2. In VS Code, press Ctrl+Shift+B to start the build process - this can take some time. If you're not using VS Code, run `npm run watch` instead.
@@ -66,7 +66,7 @@ yarn
This should open up the built IDE after loading for some time. To see new changes without restarting the build, use Ctrl+Shift+P and run "Reload Window".
-To bundle the IDE, run `npm run gulp vscode-win32-x64`. Here are the full options: vscode-{win32-ia32 | win32-x64 | darwin-x64 | darwin-arm64 | linux-ia32 | linux-x64 | linux-arm}(-min)
+To bundle the IDE, run `npm run gulp vscode-darwin-arm64`. Here are the full options: `vscode-{win32-ia32 | win32-x64 | darwin-x64 | darwin-arm64 | linux-ia32 | linux-x64 | linux-arm}(-min)`
If you're on Windows, we recommend running the project inside a dev container. VSCode should prompt you to do this automatically.
@@ -120,19 +120,25 @@ Eventually, we want to build a convenient API for creating AI tools. The API wil
# Guidelines
-Please don't make big refactors without speaking with us first. We'd like to keep the codebase similar to vscode so we can periodically rebase, and if we have big changes this gets complicated.
+Please don't make big refactors without speaking with us first. We'd like to keep the codebase similar to vscode so we can periodically rebase, and if we have big changes that gets complicated.
# Submitting a Pull Request
-When you've made changes and want to submit them, please submit a pull request. Here are a few guidelines:
+Please submit a pull request once you've made a change. Here are a few guidelines:
+
+- A PR should be about one *single* feature change. The fewer items you change, the more likely the PR is to be accepted.
+
+- Your PR should contain a description that first explains at a high level what you did, and then describes the exact changes you made (and to which files). Please don't use vague statements like "refactored code" or "improved types" (instead, describe what code you refactored, or what types you changed).
-- A PR should be about one *single* feature change. Break large changes into multiple PRs.
- Your title should clearly describe the change you made.
-- Your description should cover the exact files and changes you made. Please don't use vague statements like "refactored code" or "improved types" (instead, describe what code you refactored, or what types you changed).
+
- Add tags to help us stay organized!
-- Please don't open a new issue for your PR.
+- Please don't open a new Issue for your PR. Just submit the PR.
+- Avoid refactoring and making feature changes in the same PR.
+
+- Write good code. For example, a common mistake when people edit Void's config is to hard-code a default value like `'claude-3.5'` in 2+ separate places. Please follow best practices or describe your thought process if you had to compromise.
# Relevant files
diff --git a/extensions/void/README.md b/extensions/void/README.md
index 04d86826..fd4840c4 100644
--- a/extensions/void/README.md
+++ b/extensions/void/README.md
@@ -1 +1,8 @@
Please see the `CONTRIBUTING.md` for information on how to contribute :)!
+
+
+Here's an overview on how the extension works:
+
+- The extension mounts in `extension.ts`.
+
+- The Sidebar's HTML (everything in `sidebar/`) is built in React, and it's rendered by mounting a `
+