Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/scripts/issue_triage.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import os, sys, json, datetime, pathlib, textwrap, requests
from openai import OpenAI

REPO = "voideditor/void"
REPO = "danialsamiei/ide.orcest.ai"
CACHE_FILE = pathlib.Path(".github/triage_cache.json")
STAMP_FILE = pathlib.Path(".github/last_triage.txt")

Expand Down
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Dockerfile for ide.orcest.ai (VS Code fork) - Render.com deploy
# Dockerfile for Orcide (ide.orcest.ai) — Self-hosted LLM Orchestration IDE
# Orcide: Orchestrated Revolutionary Collaborative Intelligence Development Environment
# Requires X11 libs for native-keymap, node-pty, etc.

FROM node:20-bookworm-slim
Expand Down
58 changes: 24 additions & 34 deletions HOW_TO_CONTRIBUTE.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
# Contributing to Void
# Contributing to Orcide
### 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!
This is the official guide on how to contribute to Orcide — the self-hosted IDE for LLM Orchestration by [Orcest.ai](https://orcest.ai). We want to make it as easy as possible to contribute, so if you have any questions or comments, reach out via email!

There are a few ways to contribute:

- 💫 Complete items on the [Roadmap](https://github.com/orgs/voideditor/projects/2).
- 💡 Make suggestions in our [Discord](https://discord.gg/RSNjgaugJs).
- 🪴 Start new Issues - see [Issues](https://github.com/voideditor/void/issues).
- 🪴 Start new Issues - see [Issues](https://github.com/danialsamiei/ide.orcest.ai/issues).
- 📧 Contact: [hello@orcest.ai](mailto:hello@orcest.ai)



### Codebase Guide

We [highly recommend reading this](https://github.com/voideditor/void/blob/main/VOID_CODEBASE_GUIDE.md) guide that we put together on Void's sourcecode if you'd like to add new features.
We [highly recommend reading this](https://github.com/danialsamiei/ide.orcest.ai/blob/main/ORCIDE_CODEBASE_GUIDE.md) guide on Orcide's sourcecode if you'd like to add new features.

The repo is not as intimidating as it first seems if you read the guide!

Most of Void's code lives in the folder `src/vs/workbench/contrib/void/`.
Most of Orcide's code lives in the folder `src/vs/workbench/contrib/void/`.



## Editing Void's Code
## Editing Orcide's Code

If you're making changes to Void's code as a contributor, you'll want to run a local version of Void to make sure your changes worked. Developer mode lets you do this. Here's how to use it.
If you're making changes to Orcide's code as a contributor, you'll want to run a local version of Orcide to make sure your changes worked. Developer mode lets you do this. Here's how to use it.

### a. Mac - Prerequisites

Expand Down Expand Up @@ -54,19 +53,19 @@ First, run `npm install -g node-gyp`. Then:

### Developer Mode Instructions

Here's how to start changing Void's code. These steps cover everything from cloning Void, to opening a Developer Mode window where you can play around with your updates.
Here's how to start changing Orcide's code. These steps cover everything from cloning, to opening a Developer Mode window where you can play around with your updates.

1. `git clone https://github.com/voideditor/void` to clone the repo.
1. `git clone https://github.com/danialsamiei/ide.orcest.ai` to clone the repo.
2. `npm install` to install all dependencies.
3. Open Void or VSCode, and initialize Developer Mode (this can take ~5 min to finish, it's done when 2 of the 3 spinners turn to check marks):
3. Open Orcide or VSCode, and initialize Developer Mode (this can take ~5 min to finish, it's done when 2 of the 3 spinners turn to check marks):
- Windows: Press <kbd>Ctrl+Shift+B</kbd>.
- Mac: Press <kbd>Cmd+Shift+B</kbd>.
- Linux: Press <kbd>Ctrl+Shift+B</kbd>.
4. Open the Void Developer Mode window:
4. Open the Orcide Developer Mode window:
- Windows: `./scripts/code.bat`.
- Mac: `./scripts/code.sh`.
- Linux: `./scripts/code.sh`.
5. You're good to start editing Void's code!
5. You're good to start editing Orcide's code!
- You won't see your changes unless you press <kbd>Ctrl+R</kbd> (<kbd>Cmd+R</kbd>) inside the new window to reload. Alternatively, press <kbd>Ctrl+Shift+P</kbd> and `Reload Window`.
- You might want to add the flags `--user-data-dir ./.tmp/user-data --extensions-dir ./.tmp/extensions` to the command in step 4, which lets you reset any IDE changes you made by deleting the `.tmp` folder.
- You can kill any of the build scripts by pressing `Ctrl+D` in its terminal. If you press `Ctrl+C` the script will close but will keep running in the background.
Expand All @@ -78,20 +77,20 @@ If you get any errors, scroll down for common fixes.
- Make sure you followed the prerequisite steps above.
- Make sure you have Node version `20.18.2` (the version in `.nvmrc`).
- You can do this without changing your global Node version using [nvm](https://github.com/nvm-sh/nvm): run `nvm install`, followed by `nvm use` to install the version in `.nvmrc` locally.
- Make sure the path to your Void folder does not have any spaces in it.
- Make sure the path to your Orcide folder does not have any spaces in it.
- If you get `"TypeError: Failed to fetch dynamically imported module"`, make sure all imports end with `.js`.
- If you get an error with React, try running `NODE_OPTIONS="--max-old-space-size=8192" npm run buildreact`.
- If you see missing styles, wait a few seconds and then reload.
- If you get errors like `npm error libtool: error: unrecognised option: '-static'`, when running ./scripts/code.sh, make sure you have GNU libtool instead of BSD libtool (BSD is the default in macos)
- If you get errors like `The SUID sandbox helper binary was found, but is not configured correctly` when running ./scripts/code.sh, run
`sudo chown root:root .build/electron/chrome-sandbox && sudo chmod 4755 .build/electron/chrome-sandbox` and then run `./scripts/code.sh` again.
- If you have any other 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.
- If you have any other questions, feel free to [submit an issue](https://github.com/danialsamiei/ide.orcest.ai/issues/new). You can also refer to VSCode's complete [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute) page.



#### Building Void from Terminal
#### Building from Terminal

To build Void from the terminal instead of from inside VSCode, follow the steps above, but instead of pressing <kbd>Cmd+Shift+B</kbd>, run `npm run watch`. The build is done when you see something like this:
To build from the terminal instead of from inside VSCode, follow the steps above, but instead of pressing <kbd>Cmd+Shift+B</kbd>, 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
Expand All @@ -103,19 +102,15 @@ To build Void from the terminal instead of from inside VSCode, follow the steps


### Distributing
Void's maintainers distribute Void on our website and in releases. Our build pipeline is a fork of VSCodium, and it works by running GitHub Actions which create the downloadables. The build repo with more instructions lives [here](https://github.com/voideditor/void-builder).

If you want to completely control Void's build pipeline for your own internal usage, which comes with a lot of time cost (and is typically not recommended), see our [`void-builder`](https://github.com/voideditor/void-builder) repo which builds Void and contains a few important notes about auto-updating and rebasing.
If you want to build a distributable version of Orcide, see the Docker instructions in the [README](./README.md).


#### Building a Local Executible
We don't usually recommend building a local executible of Void - typically you should follow the steps above to distribute a complete executible with the advantages of VSCodium baked-in, or you should just use Developer Mode to run Void locally which is much faster. If you're certain this is what you want, see details below.
#### Building a Local Executable

<details>
<summary> Building Locally (not recommended)</summary>
If you're certain you want to build a local executible of Void, follow these steps. It can take ~25 minutes.

Make sure you've already entered Developer Mode with Void 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).
<summary> Building Locally</summary>
Make sure you've already entered Developer Mode first, then run one of the following commands. This will create a folder named `VSCode-darwin-arm64` or similar outside of the repo (see below).


##### Mac
Expand All @@ -131,12 +126,12 @@ Make sure you've already entered Developer Mode with Void first, then run one of
- `npm run gulp vscode-linux-arm64`


##### Local Executible Output
##### Local Executable Output

The local executible will be located in a folder outside of `void/`:
The local executable will be located in a folder outside of the repo:
```bash
workspace/
├── void/ # Your Void fork
├── ide.orcest.ai/ # Your Orcide clone
└── VSCode-darwin-arm64/ # Generated output
```

Expand All @@ -145,11 +140,6 @@ workspace/

## Pull Request Guidelines


- Please submit a pull request once you've made a change.
- 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 🙂




40 changes: 15 additions & 25 deletions VOID_CODEBASE_GUIDE.md → ORCIDE_CODEBASE_GUIDE.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,18 @@
# Void Codebase Guide
# Orcide Codebase Guide

The Void codebase is not as intimidating as it seems!
The Orcide codebase is not as intimidating as it seems!

Most of Void's code lives in the folder `src/vs/workbench/contrib/void/`.
Most of Orcide's code lives in the folder `src/vs/workbench/contrib/void/`.

The purpose of this document is to explain how Void's codebase works. If you want build instructions instead, see [Contributing](https://github.com/voideditor/void/blob/main/HOW_TO_CONTRIBUTE.md).
The purpose of this document is to explain how Orcide's codebase works. If you want build instructions instead, see [Contributing](https://github.com/danialsamiei/ide.orcest.ai/blob/main/HOW_TO_CONTRIBUTE.md).

> **Note:** Orcide is built on a fork of Void (voideditor/void), which is itself a fork of VS Code. Internal code paths still reference `void/` in some places for backward compatibility.








## Void Codebase Guide
## Orcide Codebase Guide

### VSCode Rundown
Here's a VSCode rundown if you're just getting started with Void. You can also see Microsoft's [wiki](https://github.com/microsoft/vscode/wiki/Source-Code-Organization) for some pictures. VSCode is an Electron app. Electron runs two processes: a **main** process (for internals) and a **browser** process (browser means HTML in general, not just "web browser").
Here's a VSCode rundown if you're just getting started with Orcide. You can also see Microsoft's [wiki](https://github.com/microsoft/vscode/wiki/Source-Code-Organization) for some pictures. VSCode is an Electron app. Electron runs two processes: a **main** process (for internals) and a **browser** process (browser means HTML in general, not just "web browser").
<p align="center" >
<img src="https://github.com/user-attachments/assets/eef80306-2bfe-4cac-ba15-6156f65ab3bb" alt="Credit - https://github.com/microsoft/vscode/wiki/Source-Code-Organization" width="700px">
</p>
Expand Down Expand Up @@ -54,7 +49,7 @@ Here's some terminology you might want to know about when working inside VSCode:

### Internal LLM Message Pipeline

Here's a picture of all the dependencies that are relevent between the time you first send a message through Void's sidebar, and the time a request is sent to your provider.
Here's a picture of all the dependencies that are relevant between the time you first send a message through Orcide's sidebar, and the time a request is sent to your provider.
Sending LLM messages from the main process avoids CSP issues with local providers and lets us use node_modules more easily.


Expand All @@ -69,7 +64,7 @@ Sending LLM messages from the main process avoids CSP issues with local provider

### Apply

Void has two types of Apply: **Fast Apply** (uses Search/Replace, see below), and **Slow Apply** (rewrites whole file).
Orcide has two types of Apply: **Fast Apply** (uses Search/Replace, see below), and **Slow Apply** (rewrites whole file).

When you click Apply and Fast Apply is enabled, we prompt the LLM to output Search/Replace block(s) like this:
```
Expand All @@ -79,7 +74,7 @@ When you click Apply and Fast Apply is enabled, we prompt the LLM to output Sear
// replaced code goes here
>>>>>>> UPDATED
```
This is what allows Void to quickly apply code even on 1000-line files. It's the same as asking the LLM to press Ctrl+F and enter in a search/replace query.
This is what allows Orcide to quickly apply code even on 1000-line files. It's the same as asking the LLM to press Ctrl+F and enter in a search/replace query.

### Apply Inner Workings

Expand All @@ -97,10 +92,10 @@ How Apply works:


### Writing Files Inner Workings
When Void wants to change your code, it just writes to a text model. This means all you need to know to write to a file is its URI - you don't have to load it, save it, etc. There are some annoying background URI/model things to think about to get this to work, but we handled them all in `voidModelService`.
When Orcide wants to change your code, it just writes to a text model. This means all you need to know to write to a file is its URI - you don't have to load it, save it, etc. There are some annoying background URI/model things to think about to get this to work, but we handled them all in `voidModelService`.

### Void Settings Inner Workings
We have a service `voidSettingsService` that stores all your Void settings (providers, models, global Void settings, etc). Imagine this as an implicit dependency for any of the core Void services:
### Settings Inner Workings
We have a service `voidSettingsService` that stores all your Orcide settings (providers, models, global settings, etc). Imagine this as an implicit dependency for any of the core services:

<div align="center">
<img width="800" src="https://github.com/user-attachments/assets/9f3cb68c-a61b-4810-8429-bb90b992b3fa">
Expand All @@ -125,14 +120,9 @@ Here's a guide to some of the terminology we're using:



### Build process
If you want to know how our build pipeline works, see our build repo [here](https://github.com/voideditor/void-builder).



## VSCode Codebase Guide

For additional references, the Void team put together this list of links to get up and running with VSCode.
For additional references, here is a list of links to get up and running with VSCode.
<details>


Expand All @@ -155,7 +145,7 @@ For additional references, the Void team put together this list of links to get

#### VSCode's Extension API

Void is no longer an extension, so these links are no longer required, but they might be useful if we ever build an extension again.
These links are no longer required for core development, but they might be useful if we ever build an extension again.

- [Files you need in an extension](https://code.visualstudio.com/api/get-started/extension-anatomy).
- [An extension's `package.json` schema](https://code.visualstudio.com/api/references/extension-manifest).
Expand Down
79 changes: 58 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,78 @@
# Welcome to Void.
# Orcide

**Orchestrated Revolutionary Collaborative Intelligence Development Environment**

> *Orcide: Ignite Your Creative AI Orchestra.*

<div align="center">
<img
src="./src/vs/workbench/browser/parts/editor/media/slice_of_void.png"
alt="Void Welcome"
width="300"
height="300"
/>
<img
src="./src/vs/workbench/browser/parts/editor/media/orcide_logo.svg"
alt="Orcide"
width="300"
height="300"
/>
</div>

Void is the open-source Cursor alternative.
---

Orcide is a self-hosted, open-source IDE for **LLM Orchestration** — the dedicated IDE companion to [Orcest.ai](https://orcest.ai). Built as a fork of VS Code, Orcide gives you a premium, visual environment for building, orchestrating, and deploying AI agents and workflows.

## ✨ Features

- 🤖 **AI Agent Modes** — Chat, Agent, and Gather modes for intelligent code assistance
- 🔗 **Multi-Model Support** — Connect to Anthropic, OpenAI, Gemini, Ollama, and 15+ providers
- 🏠 **Local-First** — Run models locally with Ollama, LM Studio, vLLM — your data stays private
- 🎯 **Smart Apply** — Fast Apply with Search/Replace or full file rewrite
- 🔧 **MCP Integration** — Model Context Protocol for extensible agent tools
- ⌨️ **Quick Edit (Ctrl+K)** — Inline code editing powered by AI
- 📝 **AI Commit Messages** — Auto-generate commit messages from diffs
- 🔄 **One-Click Migration** — Transfer settings from VS Code, Cursor, or Windsurf

## 🚀 Getting Started

### Self-Hosted (Docker)

Use AI agents on your codebase, checkpoint and visualize changes, and bring any model or host locally. Void sends messages directly to providers without retaining your data.
```bash
docker build -t orcide .
docker run -p 10000:10000 orcide
```

This repo contains the full sourcecode for Void. If you're new, welcome!
Then open `http://localhost:10000` in your browser.

- 🧭 [Website](https://voideditor.com)
### Development Mode

- 👋 [Discord](https://discord.gg/RSNjgaugJs)
1. Clone: `git clone https://github.com/danialsamiei/ide.orcest.ai`
2. Install: `npm install`
3. Build React: `npm run buildreact`
4. Compile: `npm run compile`
5. Launch: `./scripts/code.sh` (Linux/macOS) or `scripts\code.bat` (Windows)

- 🚙 [Project Board](https://github.com/orgs/voideditor/projects/2)
See [HOW_TO_CONTRIBUTE.md](./HOW_TO_CONTRIBUTE.md) for detailed setup instructions.

## 🏗️ Architecture

## Note
Orcide is built on VS Code's Electron architecture with custom AI orchestration layers:

We've paused work on the Void IDE (this repo) to explore a few novel coding ideas. We want to focus on innovation over feature-parity. Void will continue running, but without maintenance some existing features might stop working over time. Depending on the direction of our new work, we might not resume Void as an IDE.
- **Frontend**: Monaco Editor + React with Tailwind CSS
- **AI Layer**: Multi-provider LLM integration via `src/vs/workbench/contrib/void/`
- **Backend**: Electron main process for native capabilities
- **Self-Hosted**: Docker-ready with web server mode

We won't be actively reviewing Issues and PRs, but we will respond to all [email](mailto:hello@voideditor.com) inquiries on building and maintaining your own version of Void while we're paused.
See [ORCIDE_CODEBASE_GUIDE.md](./ORCIDE_CODEBASE_GUIDE.md) for the full codebase guide.

## Reference
## 🔗 Ecosystem

Void is a fork of the [vscode](https://github.com/microsoft/vscode) repository. For a guide to the codebase, see [VOID_CODEBASE_GUIDE](https://github.com/voideditor/void/blob/main/VOID_CODEBASE_GUIDE.md).
- 🌐 [Orcest.ai](https://orcest.ai) — AI Orchestration Platform
- 🚪 [Dargah.ai](https://dargah.ai) — Model Gateway & Routing
- 💻 [Orcide IDE](https://ide.orcest.ai) — This project

For a guide on how to develop your own version of Void, see [HOW_TO_CONTRIBUTE](https://github.com/voideditor/void/blob/main/HOW_TO_CONTRIBUTE.md) and [void-builder](https://github.com/voideditor/void-builder).
## 📄 License

[MIT License](./LICENSE.txt)

## 🤝 Contributing

We welcome contributions! See [HOW_TO_CONTRIBUTE.md](./HOW_TO_CONTRIBUTE.md) for guidelines.

## Support
You can always reach us in our Discord server or contact us via email: hello@voideditor.com.
- 🐛 [Report Issues](https://github.com/danialsamiei/ide.orcest.ai/issues)
- 📧 Contact: [hello@orcest.ai](mailto:hello@orcest.ai)
Loading