From 028061c87986259efabb16732548193b581b800f Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Tue, 21 Jan 2025 18:48:27 -0800 Subject: [PATCH 01/14] Update CONTRIBUTING.md --- CONTRIBUTING.md | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index be386721..fd47fb85 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,17 +2,18 @@ Welcome! 👋 This is the official guide on how to contribute to Void. We want to make it as easy as possible to contribute, so if you have any questions or comments, reach out via email or discord! + + There are a few ways to contribute: - 👨‍💻 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. -Void's code lives in `src/vs/workbench/contrib/void/browser/` and `src/vs/platform/void/`. +Void's code mostly lives in `src/vs/workbench/contrib/void/` and `src/vs/platform/void/`. - -## Building the full IDE +## Building Void ### a. Build Prerequisites - Mac @@ -52,10 +53,11 @@ To build Void, open `void/` inside VSCode. Then open your terminal and run: - Press Ctrl+Shift+B (Windows/Linux). - This step can take ~5 min. The build is done when you see two check marks. 4. Run Void. - - Run `./scripts/code.sh` (Mac/Linux). + - Run `./scripts/code.sh` (Mac/Linux). - Run `./scripts/code.bat` (Windows). - - This command should open up the built IDE. You can always press Ctrl+R (Cmd+R) inside the new window to see changes without re-building, or press or Ctrl+Shift+P in the new window and run "Reload Window". - - If you are actively developing Void, we strongly recommend adding the flags `--user-data-dir ./.tmp/user-data --extensions-dir ./.tmp/extensions` to the above run command (just append them at the end of the string). This will save all data and extensions to the `.tmp` folder. You can delete this folder to reset any IDE changes you made when testing. +6. Nice-to-knows. + - You can always press Ctrl+R (Cmd+R) inside the new window to reload and see your new changes. It's faster than Ctrl+Shift+P and `Reload Window`. + - You might want to add the flags `--user-data-dir ./.tmp/user-data --extensions-dir ./.tmp/extensions` to the above run command, which lets you delete the `.tmp` folder to reset any IDE changes you made when testing. #### Building Void from Terminal @@ -70,20 +72,19 @@ Alternatively, if you want to build Void from the terminal, instead of pressing -### Common Fixes +#### Common Fixes -- Make sure you follow the prerequisite steps. +- Make sure you followed the prerequisite steps. - Make sure you have the same NodeJS version as `.nvmrc`. -- Make sure your `npm run watchreact` is running if you change any React files, or else you'll need to re-build. -- If you see missing styles, go to `src2/styles.css` and re-save the file. -- If you get `"TypeError: Failed to fetch dynamically imported module: vscode-file://vscode-app/.../workbench.desktop.main.js", source: file:///.../bootstrap-window.js`, make sure all imports end with `.js`. -- 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 get `"TypeError: Failed to fetch dynamically imported module"`, make sure all imports end with `.js`. +- If you see missing styles, wait a few seconds and then reload. +- If you have any questions, feel free to [submit an issue](https://github.com/voideditor/void/issues/new). You can also refer to VSCode's complete [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute) page. -## Bundling +## Packaging -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, make sure you've built first, then run one of the following commands. This will create a folder named `VSCode-darwin-arm64` or similar outside of the void/ repo (see below). Be patient - compiling can take ~25 minutes. +We don't usually recommend packaging. Instead, you should probably just build. If you're sure you want to package Void into an executable app, make sure you've built first, then run one of the following commands. This will create a folder named `VSCode-darwin-arm64` or similar outside of the void/ repo (see below). Be patient - packaging can take ~25 minutes. ### Mac @@ -109,17 +110,15 @@ workspace/ └── VSCode-darwin-arm64/ # Generated output ``` +### Distributing +We have a few scripts to convert `Mac .app -> .dmg`, `Windows folder -> .exe`, and `Linux folder -> appimage` for distribution. Let us know if you'd like access to them. + +## Pull Request Guidelines -# 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 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. No need to submit an Issue unless you're creating a new feature. -- Please don't use AI to write your PR 🙂. +- 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 🙂 ## References From c94dda65f752971b08683b1317460eaf48826770 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Tue, 21 Jan 2025 19:13:59 -0800 Subject: [PATCH 02/14] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fd47fb85..bb0e5871 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -42,7 +42,7 @@ First, run `npm install -g node-gyp`. Then: - 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). -### Building Void +### d. Building Void To build Void, open `void/` inside VSCode. Then open your terminal and run: From 98c1a7e528ef91a07fdae1cc5466c671ab19dca0 Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Tue, 21 Jan 2025 23:15:29 -0800 Subject: [PATCH 03/14] minor change --- .../void/browser/react/src/void-settings-tsx/Settings.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx index 5dd24c92..62de3bed 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx @@ -513,7 +513,7 @@ const OneClickSwitchButton = () => { if (transferTheseFiles.length === 0) return <> - + From 3aa6d3d28aa96a8c12f73fb4bf0af865460df56f Mon Sep 17 00:00:00 2001 From: Andrew Pareles Date: Tue, 21 Jan 2025 23:15:44 -0800 Subject: [PATCH 04/14] rm changelog --- CHANGELOG.md | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index a4ec6dbb..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -## Jan. 13, 2025 - Entering beta - -- Added quick edits! Void handles FIM-prompting, output parsing, and history management for inline UI. - -- Migrated away from VS Code extension API - Void now lives and interacts entirely within the VS Code codebase. - -- New settings page with model configuration, one-click switch, and user settings. - -- Added auto-detection (via polling) of local models by default. - -- LLM requests originate from `node/`, which fixes common CORS and CSP issues when running some models locally. - -- Misc improvements like UI and history for Accept | Reject in the sidebar and editor, streaming interruptions, and past chat history. - -- Automatic file selection on tab switches. - -- Lots of new UI, misc bug fixes, and performance improvements. - -- VS Code's default Ctrl+L is now Ctrl+M in Void (on Mac Cmd+L becomes Cmd+M). - -- Switched from the MIT License to the Apache 2.0 License. Apache's attribution clause provides a small amount of protection to our source initiative. - -A huge shoutout to our many contributors. If you'd like to help build Void, - -## Sept/Oct. 2024 - Early launch - -- Initialized Void's website and GitHub repo. - -- Started a waitlist. - From aa2394e20737965638a5d75b6adee5940e48f5e5 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:38:26 -0800 Subject: [PATCH 05/14] Update README.md --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 5eccf4b5..2db5e0b5 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,9 @@ /> -Void is the open-source Cursor alternative. This repo contains the full sourcecode for Void. We are currently in [open beta](https://voideditor.com/) for downloading the official release. If you're new, welcome! +Void is the open-source Cursor alternative. + +This repo contains the full sourcecode for Void. We are currently in [open beta](https://voideditor.com/) for Discord members, and have a waitlist for our official release. If you're new, welcome! - 👋 [Discord](https://discord.gg/RSNjgaugJs) @@ -20,20 +22,18 @@ Void is the open-source Cursor alternative. This repo contains the full sourceco - 🔨 [Contribute](https://github.com/voideditor/void/blob/main/CONTRIBUTING.md) - - ## Contributing +1. We host weekly contributing meetups in our Discord channel. Feel free to attend! -1. To contribute to the Void repository, follow the steps in [`CONTRIBUTING.md`](https://github.com/voideditor/void/blob/main/CONTRIBUTING.md). - -2. To suggest a new feature, please create a new [GitHub Issue](https://github.com/voideditor/void/issues). Suggestions will be added to our Roadmap within one day. +2. To get started developing, see [`CONTRIBUTING.md`](https://github.com/voideditor/void/blob/main/CONTRIBUTING.md). + +3. To suggest a new feature, please create a new [GitHub Issue](https://github.com/voideditor/void/issues). -3. We're open to collaborations of all types. Feel free to contact us via email or discord. ## Reference Void is a fork of the [vscode](https://github.com/microsoft/vscode) repository. For some useful links on VSCode, see [`VOID_USEFUL_LINKS.md`](https://github.com/voideditor/void/blob/main/VOID_USEFUL_LINKS.md). ## Support -Feel free to reach out in our discord or contact us via email. +Feel free to reach out in our Discord or contact us via email: support@voideditor.com. From 6970ec9fd2185e3ac2f64cc652fdb3e1c1ee6042 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:54:01 -0800 Subject: [PATCH 06/14] contrib --- CONTRIBUTING.md | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bb0e5871..c553fa65 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,8 +8,8 @@ There are a few ways to contribute: - 👨‍💻 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. +If you'd like to get started developing Void, feel free to follow the steps below to build Void and do PRs. Void's code mostly lives in `src/vs/workbench/contrib/void/` and `src/vs/platform/void/`. @@ -111,7 +111,7 @@ workspace/ ``` ### Distributing -We have a few scripts to convert `Mac .app -> .dmg`, `Windows folder -> .exe`, and `Linux folder -> appimage` for distribution. Let us know if you'd like access to them. +Void's maintainers distribute Void on our website and in releases. If you'd like to see the scripts to convert `Mac .app -> .dmg`, `Windows folder -> .exe`, and `Linux folder -> appimage` for distribution, feel free to reach out. ## Pull Request Guidelines @@ -121,6 +121,21 @@ We have a few scripts to convert `Mac .app -> .dmg`, `Windows folder -> .exe`, a - Please don't use AI to write your PR 🙂 +## Codebase Guide + +We highly recommend reading [this](https://github.com/microsoft/vscode/wiki/Source-Code-Organization) article on VSCode's sourcecode organization. + + + +For some misc useful links on VSCode we've put together, see [`VOID_USEFUL_LINKS.md`](https://github.com/voideditor/void/blob/main/VOID_USEFUL_LINKS.md). + + + + + + - -## References - -For some useful links we've compiled on VSCode, see [`VOID_USEFUL_LINKS.md`](https://github.com/voideditor/void/blob/main/VOID_USEFUL_LINKS.md). From 7891a908ffe50737b62afc1159d8d0b9ac7c7ea5 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:55:22 -0800 Subject: [PATCH 07/14] links --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2db5e0b5..efbc1456 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Void is the open-source Cursor alternative. -This repo contains the full sourcecode for Void. We are currently in [open beta](https://voideditor.com/) for Discord members, and have a waitlist for our official release. If you're new, welcome! +This repo contains the full sourcecode for Void. We are currently in [open beta](https://voideditor.com/) for Discord members, and we have a waitlist for our official release. If you're new, welcome! - 👋 [Discord](https://discord.gg/RSNjgaugJs) @@ -24,11 +24,9 @@ This repo contains the full sourcecode for Void. We are currently in [open beta] ## Contributing -1. We host weekly contributing meetups in our Discord channel. Feel free to attend! +1. To get started developing Void, see [`CONTRIBUTING.md`](https://github.com/voideditor/void/blob/main/CONTRIBUTING.md). -2. To get started developing, see [`CONTRIBUTING.md`](https://github.com/voideditor/void/blob/main/CONTRIBUTING.md). - -3. To suggest a new feature, please create a new [GitHub Issue](https://github.com/voideditor/void/issues). +2. Feel free to attend a weekly meeting in our Discord channel. ## Reference From 326e75eb45271b79dbeacdac63cca145d8326081 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:57:57 -0800 Subject: [PATCH 08/14] minor --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index efbc1456..55b41123 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,9 @@ This repo contains the full sourcecode for Void. We are currently in [open beta] 1. To get started developing Void, see [`CONTRIBUTING.md`](https://github.com/voideditor/void/blob/main/CONTRIBUTING.md). -2. Feel free to attend a weekly meeting in our Discord channel. +2. Feel free to attend a weekly meeting in our Discord channel! + +3. We're open to collaborations of all types - just reach out. ## Reference From 198f04d87a90053149ab9624768ff0274208af69 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Wed, 22 Jan 2025 01:04:08 -0800 Subject: [PATCH 09/14] minor --- CONTRIBUTING.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c553fa65..c9738f76 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,14 +3,14 @@ Welcome! 👋 This is the official guide on how to contribute to Void. We want to make it as easy as possible to contribute, so if you have any questions or comments, reach out via email or discord! +If you'd like to get started developing Void, feel free to follow the steps below on building Void yourself and doing a PR. +Void's code mostly lives in `src/vs/workbench/contrib/void/` and `src/vs/platform/void/`. There are a few ways to contribute: - 👨‍💻 Build new features - see [Issues](https://github.com/voideditor/void/issues). - 💡 Make suggestions in our [Discord](https://discord.gg/RSNjgaugJs). -If you'd like to get started developing Void, feel free to follow the steps below to build Void and do PRs. -Void's code mostly lives in `src/vs/workbench/contrib/void/` and `src/vs/platform/void/`. ## Building Void @@ -125,11 +125,13 @@ Void's maintainers distribute Void on our website and in releases. If you'd like We highly recommend reading [this](https://github.com/microsoft/vscode/wiki/Source-Code-Organization) article on VSCode's sourcecode organization. +We are currently putting together our own articles on VSCode and Void's sourcecode organization. The best way to get this information right now is by attending a weekly meeting. + -For some misc useful links on VSCode we've put together, see [`VOID_USEFUL_LINKS.md`](https://github.com/voideditor/void/blob/main/VOID_USEFUL_LINKS.md). +For some miscellaneous useful links on VSCode we've put together, see [`VOID_USEFUL_LINKS.md`](https://github.com/voideditor/void/blob/main/VOID_USEFUL_LINKS.md). From c2f358bd5e569956f80fd970162387236132d903 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Wed, 22 Jan 2025 01:18:50 -0800 Subject: [PATCH 10/14] #announcements --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 55b41123..ca12db5a 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Void is the open-source Cursor alternative. -This repo contains the full sourcecode for Void. We are currently in [open beta](https://voideditor.com/) for Discord members, and we have a waitlist for our official release. If you're new, welcome! +This repo contains the full sourcecode for Void. We are currently in [open beta](https://voideditor.com/) for Discord members (`#announcements`), and we have a waitlist for our official release. If you're new, welcome! - 👋 [Discord](https://discord.gg/RSNjgaugJs) @@ -24,11 +24,12 @@ This repo contains the full sourcecode for Void. We are currently in [open beta] ## Contributing -1. To get started developing Void, see [`CONTRIBUTING.md`](https://github.com/voideditor/void/blob/main/CONTRIBUTING.md). -2. Feel free to attend a weekly meeting in our Discord channel! +2. To get started developing Void, see [`CONTRIBUTING.md`](https://github.com/voideditor/void/blob/main/CONTRIBUTING.md). -3. We're open to collaborations of all types - just reach out. +3. Feel free to attend a weekly meeting in our Discord channel! + +4. We're open to collaborations of all types - just reach out. ## Reference From d54ccff4a256d83cbc4b977cdaa5b0c04e79bd65 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Wed, 22 Jan 2025 02:30:06 -0800 Subject: [PATCH 11/14] see --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca12db5a..f8eedda4 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Void is the open-source Cursor alternative. -This repo contains the full sourcecode for Void. We are currently in [open beta](https://voideditor.com/) for Discord members (`#announcements`), and we have a waitlist for our official release. If you're new, welcome! +This repo contains the full sourcecode for Void. We are currently in [open beta](https://voideditor.com/) for Discord members (see `#announcements`), and we have a waitlist for our official release. If you're new, welcome! - 👋 [Discord](https://discord.gg/RSNjgaugJs) From 151cdb13e617294cd6b3478a1abd2b043b7dab1b Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Wed, 22 Jan 2025 02:56:56 -0800 Subject: [PATCH 12/14] add roadmap --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c9738f76..3d73f87f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ Void's code mostly lives in `src/vs/workbench/contrib/void/` and `src/vs/platfor There are a few ways to contribute: -- 👨‍💻 Build new features - see [Issues](https://github.com/voideditor/void/issues). +- 👨‍💻 Build new features - see [Roadmap](https://github.com/orgs/voideditor/projects/2/views/3) or [Issues](https://github.com/voideditor/void/issues). - 💡 Make suggestions in our [Discord](https://discord.gg/RSNjgaugJs). @@ -117,7 +117,7 @@ Void's maintainers distribute Void on our website and in releases. If you'd like - Please submit a pull request once you've made a change. -- No need to submit an Issue unless you're creating a new feature. +- No need to submit an Issue unless you're creating a new feature that might involve multiple PRs. - Please don't use AI to write your PR 🙂 From 7e5cc27349d6b7d0b6eb5da6b68bfe63934a87c5 Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Wed, 22 Jan 2025 03:08:50 -0800 Subject: [PATCH 13/14] tes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f8eedda4..e729ede4 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Void is the open-source Cursor alternative. -This repo contains the full sourcecode for Void. We are currently in [open beta](https://voideditor.com/) for Discord members (see `#announcements`), and we have a waitlist for our official release. If you're new, welcome! +This repo contains the full sourcecode for Void. We are currently in [open beta](https://voideditor.com/) for Discord members (see `#announcements` to download), and we have a waitlist for our official release. If you're new, welcome! - 👋 [Discord](https://discord.gg/RSNjgaugJs) From 2aec37fc5780ee28483156e7e31544e9922804de Mon Sep 17 00:00:00 2001 From: Andrew Pareles <43356051+andrewpareles@users.noreply.github.com> Date: Wed, 22 Jan 2025 03:09:18 -0800 Subject: [PATCH 14/14] numbering --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e729ede4..613b772f 100644 --- a/README.md +++ b/README.md @@ -25,11 +25,11 @@ This repo contains the full sourcecode for Void. We are currently in [open beta] ## Contributing -2. To get started developing Void, see [`CONTRIBUTING.md`](https://github.com/voideditor/void/blob/main/CONTRIBUTING.md). +1. To get started developing Void, see [`CONTRIBUTING.md`](https://github.com/voideditor/void/blob/main/CONTRIBUTING.md). -3. Feel free to attend a weekly meeting in our Discord channel! +2. Feel free to attend a weekly meeting in our Discord channel! -4. We're open to collaborations of all types - just reach out. +3. We're open to collaborations of all types - just reach out. ## Reference