From 967292e6150fc57b7a49246567b3af50bc39498a Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:31:37 -0800 Subject: [PATCH 01/10] Update CONTRIBUTING.md --- CONTRIBUTING.md | 54 +++++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8d53dedf..8669ba6b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,16 +8,13 @@ There are a few ways to contribute: - Build New Features ([Project](https://github.com/orgs/voideditor/projects/2/views/3)) - Submit Issues/Docs/Bugs ([Issues](https://github.com/voideditor/void/issues)) +Most of Void's code lives in `src/vs/workbench/contrib/void/browser/` and `src/vs/platform/void/`. ## Building the full IDE -Please follow the steps below to build the IDE. If you have any questions, feel free to [submit an issue](https://github.com/voideditor/void/issues/new) with any build errors, or refer to VSCode's full [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute) page. - -Most of Void's code lives in `src/vs/workbench/contrib/void/browser/` and `src/vs/platform/void/`. - ### a. Build Prerequisites - Mac -If you're using a Mac, make sure you have Python and XCode installed (you probably do by default). +If you're using a Mac, you need Python and XCode. You probably have these by default. ### b. Build Prerequisites - Windows @@ -36,30 +33,31 @@ Finally, click Install. ### c. Build Prerequisites - Linux -First, make sure you've installed NodeJS and run `npm install -g node-gyp`. Then: -- Debian (Ubuntu, etc) - `sudo apt-get install build-essential g++ libx11-dev libxkbfile-dev libsecret-1-dev libkrb5-dev python-is-python3`. -- Red Hat (Fedora, etc) - `sudo dnf install @development-tools gcc gcc-c++ make libsecret-devel krb5-devel libX11-devel libxkbfile-devel`. -- Others - see [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute). +First, run `npm install -g node-gyp`. Then: -### Build instructions +- Debian (Ubuntu, etc): `sudo apt-get install build-essential g++ libx11-dev libxkbfile-dev libsecret-1-dev libkrb5-dev python-is-python3`. +- Red Hat (Fedora, etc): `sudo dnf install @development-tools gcc gcc-c++ make libsecret-devel krb5-devel libX11-devel libxkbfile-devel`. +- Others: see [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute). -To build Void, first follow the prerequisite steps above for your operating system and open `void/` inside VSCode. Then: +### Building Void -1. Install all dependencies. +To build Void, open `void/` inside VSCode. Then: -``` -npm install -``` +1. `npm install` to install all dependencies. +2. `npm run buildreact` to build Void's browser dependencies like React. +3. Build. + - Press Cmd+Shift+B (Mac). + - Press Ctrl+Shift+B (Windows/Linux). + - This step can take ~5 min. The build is done when you see two check marks. +4. Run. + - Run `./scripts/code.sh` (Mac/Linux). + - Run `./scripts/code.bat` (Windows). + - This command should open up the built IDE. You can always press Ctrl+Shift+P and run "Reload Window" inside the new window to see changes without re-building, unless they're React changes. -2. Run `npm run buildreact` to build Void's browser-based external dependencies (our React components, etc). -3. Press Ctrl+Shift+B, or if you prefer using the terminal run `npm run watch`. +#### Building Void from Terminal -This can take ~5 min. - -If you ran Ctrl+Shift+B, the build is done when you see two check marks. - -If you ran `npm run watch`, the build is done when you see something like this: +Alternatively, if you want to build Void from the terminal, instead of pressing Cmd+Shift+B you can run `npm run watch`. The build is done when you see something like this: ``` [watch-extensions] [00:37:39] Finished compilation extensions with 0 errors after 19303 ms @@ -68,23 +66,21 @@ If you ran `npm run watch`, the build is done when you see something like this: [watch-client ] [00:38:07] Finished compilation with 0 errors after 5 ms ``` - -4. In a new terminal, run `./scripts/code.sh` (Mac/Linux) or `./scripts/code.bat` (Windows). This should open up the built IDE. -You can always press Ctrl+Shift+P and run "Reload Window" inside the new window to see changes without re-building. - -Now that you're set up, feel free to check out our [Issues](https://github.com/voideditor/void/issues) page. ### Common Fixes +- Make sure you follow the prerequisite steps. - Make sure you have the same NodeJS version as `.nvmrc`. +- If you make any React changes, you must re-run `npm run buildreact` and re-build. +- If you have any questions, feel free to [submit an issue](https://github.com/voideditor/void/issues/new). For building questions, you can also refer to VSCode's full [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute) page. + -- If you see `[ERROR] Cannot start service: Host version "0.23.1" does not match binary version "0.23.0"`, run `npm i -D esbuild@0.23.0` or do a clean install of your npm dependencies. ## Bundling -We don't usually recommend bundling. Instead, you should probably just build (above). If you're sure you want to bundle Void into an executable app, run one of the following commands. This will create a folder named `VSCode-darwin-arm64` (or similar) in the repo's parent's directory. Be patient - compiling can take ~25 minutes. +We don't usually recommend bundling. Instead, you should probably just build. If you're sure you want to bundle Void into an executable app, run one of the following commands. This will create a folder named `VSCode-darwin-arm64` (or similar) in the repo's parent's directory. Be patient - compiling can take ~25 minutes. ### Mac - `npm run gulp vscode-darwin-arm64` - most common (Apple Silicon) From f299998994fee0ee86d03130a62c6395b12fa333 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:41:18 -0800 Subject: [PATCH 02/10] Update CONTRIBUTING.md --- CONTRIBUTING.md | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8669ba6b..015b5a1e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,6 +10,13 @@ There are a few ways to contribute: Most of Void's code lives in `src/vs/workbench/contrib/void/browser/` and `src/vs/platform/void/`. +## Roadmap + +- Refer to our [Issues](https://github.com/voideditor/void/issues) page for the latest issues! +- ⭐️ If you want to build your AI tool into Void, feel free to get in touch! It's very easy to extend Void, and the UX you create will be much more natural than a VSCode Extension. + + + ## Building the full IDE ### a. Build Prerequisites - Mac @@ -95,29 +102,20 @@ We don't usually recommend bundling. Instead, you should probably just build. If - `npm run gulp vscode-linux-arm` - `npm run gulp vscode-linux-ia32` -## Roadmap -Please refer to our [Issues](https://github.com/voideditor/void/issues) page for the latest issues. - - -## ⭐⭐⭐ Creative. - -Examples: creating better code search, or supporting AI agents that can edit across files and make multiple LLM calls. - -Eventually, we want to build a convenient API for creating AI tools. The API will provide methods for creating the UI (showing an autocomplete suggestion, or creating a new diff), detecting event changes (like `onKeystroke` or `onFileOpen`), and modifying the user's file-system (storing indexes associated with each file), making it much easier to make your own AI plugin. We plan on building these features further along in timeline, but we wanted to list them for completeness. # Guidelines -We're always glad to talk about new ideas, help you get set up, and make sure your changes align with our vision for the project. Feel free to shoot us a message in the #general channel of the [Discord](https://discord.gg/RSNjgaugJs) for any reason. Please check in especially if you want to make a lot of changes or build a large new feature. - +We're always glad to talk about new ideas, help you get set up, and make sure your changes align with our vision for the project! Feel free to shoot Mat or Andrew a message, or start chatting with us in the `#contributing` channel of our [Discord](https://discord.gg/RSNjgaugJs). ## Submitting a Pull Request -Please submit a pull request once you've made a change. You don't need to submit an issue. +- Please submit a pull request once you've made a change. You don't need to submit an issue. +- Please don't use AI to write your PR 🙂. -Please don't use AI to write your PR 🙂. + ## References From b53e5d488687e46dadb11ff381a407f17b9b81b5 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:45:37 -0800 Subject: [PATCH 03/10] Update CONTRIBUTING.md --- CONTRIBUTING.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 015b5a1e..4772ed14 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,16 +4,14 @@ Welcome! 👋 This is the official guide on how to contribute to Void. We want t There are a few ways to contribute: -- Suggest New Features ([Discord](https://discord.gg/RSNjgaugJs)) -- Build New Features ([Project](https://github.com/orgs/voideditor/projects/2/views/3)) -- Submit Issues/Docs/Bugs ([Issues](https://github.com/voideditor/void/issues)) +- 👨‍💻 Refer to our [Issues](https://github.com/voideditor/void/issues) page for the latest issues! +- 💡 Suggest New Features in our [Discord](https://discord.gg/RSNjgaugJs). +- ⭐️ If you want to build your AI tool into Void, feel free to get in touch! It's very easy to extend Void, and the UX you create will be much more natural than a VSCode Extension. Most of Void's code lives in `src/vs/workbench/contrib/void/browser/` and `src/vs/platform/void/`. ## Roadmap -- Refer to our [Issues](https://github.com/voideditor/void/issues) page for the latest issues! -- ⭐️ If you want to build your AI tool into Void, feel free to get in touch! It's very easy to extend Void, and the UX you create will be much more natural than a VSCode Extension. From aada60c5be98cad73f4e89bedb2b3367db4a4f29 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:45:45 -0800 Subject: [PATCH 04/10] Update CONTRIBUTING.md --- CONTRIBUTING.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4772ed14..37fc66de 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,9 +10,6 @@ There are a few ways to contribute: Most of Void's code lives in `src/vs/workbench/contrib/void/browser/` and `src/vs/platform/void/`. -## Roadmap - - ## Building the full IDE From 5d44fdc17de32b5fe1b793a15daaec58fd0637e8 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:47:21 -0800 Subject: [PATCH 05/10] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 37fc66de..7d86107b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,7 +4,7 @@ Welcome! 👋 This is the official guide on how to contribute to Void. We want t There are a few ways to contribute: -- 👨‍💻 Refer to our [Issues](https://github.com/voideditor/void/issues) page for the latest issues! +- 👨‍💻 Build new features on our [Issues](https://github.com/voideditor/void/issues)! - 💡 Suggest New Features in our [Discord](https://discord.gg/RSNjgaugJs). - ⭐️ If you want to build your AI tool into Void, feel free to get in touch! It's very easy to extend Void, and the UX you create will be much more natural than a VSCode Extension. From d2692d259420b1686773334c342e716513d3720b Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:47:44 -0800 Subject: [PATCH 06/10] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7d86107b..c0372771 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,7 +4,7 @@ Welcome! 👋 This is the official guide on how to contribute to Void. We want t There are a few ways to contribute: -- 👨‍💻 Build new features on our [Issues](https://github.com/voideditor/void/issues)! +- 👨‍💻 Build new features - see [Issues](https://github.com/voideditor/void/issues)! - 💡 Suggest New Features in our [Discord](https://discord.gg/RSNjgaugJs). - ⭐️ If you want to build your AI tool into Void, feel free to get in touch! It's very easy to extend Void, and the UX you create will be much more natural than a VSCode Extension. From 56923eec521a27ff16cbe69fb616750477f8fa9d Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:50:16 -0800 Subject: [PATCH 07/10] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c0372771..baf0c9fe 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -106,7 +106,7 @@ We're always glad to talk about new ideas, help you get set up, and make sure yo ## Submitting a Pull Request -- Please submit a pull request once you've made a change. You don't need to submit an issue. +- Please submit a pull request once you've made a change. No need to submit an Issue unless you're creating a new feature. - Please don't use AI to write your PR 🙂. From deb30b49bc027b5d94be3d91f1660ea012763514 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:51:28 -0800 Subject: [PATCH 08/10] Update CONTRIBUTING.md --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index baf0c9fe..4b6d1f01 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,9 +27,9 @@ Go to the "Workloads" tab and select: - `Node.js build tools` Go to the "Individual Components" tab and select: -- `MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libs (Latest)`, -- `C++ ATL for latest build tools with Spectre Mitigations`, -- `C++ MFC for latest build tools with Spectre Mitigations`. +- `MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libs (Latest)` +- `C++ ATL for latest build tools with Spectre Mitigations` +- `C++ MFC for latest build tools with Spectre Mitigations` Finally, click Install. From bb87726b34587e5178ef1310fda9100e24f96de9 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 14 Dec 2024 20:15:15 -0800 Subject: [PATCH 09/10] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4b6d1f01..ca6a5985 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,7 +5,7 @@ Welcome! 👋 This is the official guide on how to contribute to Void. We want t There are a few ways to contribute: - 👨‍💻 Build new features - see [Issues](https://github.com/voideditor/void/issues)! -- 💡 Suggest New Features in our [Discord](https://discord.gg/RSNjgaugJs). +- 💡 Make suggestions in our [Discord](https://discord.gg/RSNjgaugJs). - ⭐️ If you want to build your AI tool into Void, feel free to get in touch! It's very easy to extend Void, and the UX you create will be much more natural than a VSCode Extension. Most of Void's code lives in `src/vs/workbench/contrib/void/browser/` and `src/vs/platform/void/`. From f146385e1d891623ba6e2e48079661001d707001 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Sat, 14 Dec 2024 20:17:30 -0800 Subject: [PATCH 10/10] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ca6a5985..144b7130 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,7 +4,7 @@ Welcome! 👋 This is the official guide on how to contribute to Void. We want t There are a few ways to contribute: -- 👨‍💻 Build new features - see [Issues](https://github.com/voideditor/void/issues)! +- 👨‍💻 Build new features - see [Issues](https://github.com/voideditor/void/issues). - 💡 Make suggestions in our [Discord](https://discord.gg/RSNjgaugJs). - ⭐️ If you want to build your AI tool into Void, feel free to get in touch! It's very easy to extend Void, and the UX you create will be much more natural than a VSCode Extension.