Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
9bc309b
Add Dockerfile for Render.com deploy (X11 libs for native modules)
danialsamiei Feb 15, 2026
ed30705
Fix @vscode/ripgrep 403: use system ripgrep instead of GitHub download
danialsamiei Feb 15, 2026
7e2b826
Fix extensions ENOENT + remote ripgrep: use install for subdirs, syst…
danialsamiei Feb 15, 2026
0d6ed16
Fix SyntaxError: avoid ?? with || for older Node/parser compatibility
danialsamiei Feb 15, 2026
473b1d6
Skip git config in postinstall when not in git repo (Docker builds)
danialsamiei Feb 15, 2026
9f9b782
Fix build ripgrep 403: use system ripgrep for build dir too
danialsamiei Feb 16, 2026
f0bbfde
Fix white page: run gulp compile before compile-web, use code-server …
danialsamiei Feb 16, 2026
3389d8b
Fix HTTPS mixed content and optimize OpenRouter configuration
devin-ai-integration[bot] Feb 16, 2026
cf3c3ba
Add upgrade-insecure-requests CSP directive for HTTPS
devin-ai-integration[bot] Feb 16, 2026
d896a1d
Merge pull request #1 from danialsamiei/devin/1771247103-fix-https-op…
danialsamiei Feb 16, 2026
565dcd5
Fix build: run buildreact before compile in Dockerfile
devin-ai-integration[bot] Feb 16, 2026
81f83cb
Merge pull request #2 from danialsamiei/devin/1771249677-fix-react-build
danialsamiei Feb 16, 2026
6857182
Fix Forbidden error: add --without-connection-token to server CMD
devin-ai-integration[bot] Feb 16, 2026
3406c2b
Merge pull request #3 from danialsamiei/devin/1771251927-fix-connecti…
danialsamiei Feb 16, 2026
4c44ef6
Fix blank page: set VSCODE_DEV=1 for dev workbench template
devin-ai-integration[bot] Feb 16, 2026
755beb6
Merge pull request #4 from danialsamiei/devin/1771257507-fix-dev-mode
danialsamiei Feb 16, 2026
3884cb2
Fix Void services for web mode: add web-compatible LLM service and stubs
devin-ai-integration[bot] Feb 16, 2026
784c058
Merge pull request #5 from danialsamiei/devin/1771259915-fix-web-serv…
danialsamiei Feb 16, 2026
6d6a2bd
Guard Electron service registrations with isWeb check
devin-ai-integration[bot] Feb 16, 2026
4d6b992
Merge pull request #6 from danialsamiei/devin/1771264490-fix-web-serv…
danialsamiei Feb 16, 2026
8d7599c
Inline web service stubs into existing service files
devin-ai-integration[bot] Feb 16, 2026
16d75aa
Merge pull request #7 from danialsamiei/devin/1771270006-inline-web-s…
danialsamiei Feb 16, 2026
7b38339
Fix unused onAbort variable causing build failure
devin-ai-integration[bot] Feb 16, 2026
7a7c654
Merge pull request #8 from danialsamiei/devin/1771272361-fix-unused-var
danialsamiei Feb 16, 2026
a8cc68b
Fix this-binding: use arrow functions in LLMMessageServiceWeb
devin-ai-integration[bot] Feb 16, 2026
be97256
Merge pull request #9 from danialsamiei/devin/1771276683-fix-this-bin…
danialsamiei Feb 16, 2026
9c56494
Fix settings state: fire event before async storage to ensure React u…
devin-ai-integration[bot] Feb 16, 2026
5351e09
Merge pull request #10 from danialsamiei/devin/1771279979-fix-setting…
danialsamiei Feb 16, 2026
8d8243a
Fix hidden models: reduce OpenRouter defaults to 8 (under 10 threshold)
devin-ai-integration[bot] Feb 16, 2026
9d7eab5
Merge pull request #11 from danialsamiei/devin/1771284216-fix-hidden-…
danialsamiei Feb 16, 2026
a74c1cc
Fix stale hidden models: unhide defaults when count drops below thres…
devin-ai-integration[bot] Feb 17, 2026
35e5a92
Merge pull request #12 from danialsamiei/devin/1771287206-fix-stale-h…
danialsamiei Feb 17, 2026
eff55dc
Fix Render deploy: add .dockerignore, reduce NODE_OPTIONS to 4096MB
devin-ai-integration[bot] Feb 18, 2026
a1f99f9
Merge pull request #14 from danialsamiei/devin/1771405734-fix-render-…
danialsamiei Feb 18, 2026
2b68983
docs: add RainyModel configuration guide for Orcest AI
devin-ai-integration[bot] Feb 18, 2026
854f906
Merge pull request #15 from orcest-ai/devin/1771431963-rainymodel-docs
danialsamiei Feb 18, 2026
043cf55
refactor: Complete deep rebranding - remove Void upstream traces
devin-ai-integration[bot] Feb 18, 2026
d3163fe
fix: Correct broken URLs - orcide.com -> orcest.ai, github.com/orcide…
devin-ai-integration[bot] Feb 18, 2026
871c045
chore: Add GitHub hardening files (CODEOWNERS, SECURITY.md, dependabot)
devin-ai-integration[bot] Feb 18, 2026
3bcc12b
Merge pull request #16 from orcest-ai/devin/1771447245-orcide-rebrand
danialsamiei Feb 19, 2026
bf0031b
fix: Revert widget import paths to void-editor-widgets-tsx (actual bu…
devin-ai-integration[bot] Feb 19, 2026
9294b95
Merge pull request #17 from orcest-ai/devin/1771514045-fix-widget-paths
danialsamiei Feb 19, 2026
38966a0
feat: Complete Orcide rebrand with SSO, user profiles, collaboration,…
claude Feb 21, 2026
3314490
Merge pull request #18 from orcest-ai/devin/1771668918-orcide-rebrand…
danialsamiei Feb 21, 2026
dddf478
feat: Replace Void branding with Orcide, integrate OllamaFreeAPI as d…
claude Feb 21, 2026
f9647e8
fix: Remove unused isWeb import from orcideUserProfileService.ts
claude Feb 21, 2026
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
31 changes: 31 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Git
.git
.github
.gitignore
.gitattributes

# Node (rebuilt in Docker)
node_modules

# IDE
.idea

# Documentation
README.md
HOW_TO_CONTRIBUTE.md
VOID_CODEBASE_GUIDE.md
LICENSE*.txt
ThirdPartyNotices.txt

# CI/CD
CodeQL.yml

# Build output (rebuilt in Docker)
out

# OS
.DS_Store
Thumbs.db

# Playwright browsers (not needed for server)
.playwright
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Default code owners for all files
* @danialsamiei

12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
2 changes: 1 addition & 1 deletion .voidrules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This is a fork of the VSCode repo called Void.
This is the Orcide IDE repository, a fork of VSCode.

Most code we care about lives in src/vs/workbench/contrib/void.

Expand Down
61 changes: 61 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Dockerfile for ide.orcest.ai (VS Code fork) - Render.com deploy
# Requires X11 libs for native-keymap, node-pty, etc.

FROM node:20-bookworm-slim

# Install build deps for native modules (native-keymap, node-pty, etc.)
# ripgrep: @vscode/ripgrep postinstall downloads from GitHub and gets 403 in cloud builds
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
make \
g++ \
pkg-config \
libxkbfile-dev \
libx11-dev \
libxrandr-dev \
libxi-dev \
libxtst-dev \
libxrender-dev \
libxfixes-dev \
libxext-dev \
libxkbcommon-dev \
libsecret-1-dev \
libkrb5-dev \
git \
ripgrep \
&& rm -rf /var/lib/apt/lists/*

WORKDIR /app

# Copy source (postinstall needs full tree for build/, remote/, etc.)
COPY . .

# Install deps - requires X11 libs above for native-keymap, node-pty
# Use --ignore-scripts to skip @vscode/ripgrep postinstall (403 from GitHub in cloud builds),
# supply system ripgrep, run postinstall (with install not rebuild for subdirs), then rebuild native modules
RUN npm i --ignore-scripts \
&& mkdir -p node_modules/@vscode/ripgrep/bin \
&& cp /usr/bin/rg node_modules/@vscode/ripgrep/bin/rg \
&& VSCODE_USE_SYSTEM_RIPGREP=1 npm rebuild \
&& mkdir -p build/node_modules/@vscode/ripgrep/bin \
&& cp /usr/bin/rg build/node_modules/@vscode/ripgrep/bin/rg \
&& (cd build && npm rebuild) \
&& mkdir -p remote/node_modules/@vscode/ripgrep/bin \
&& cp /usr/bin/rg remote/node_modules/@vscode/ripgrep/bin/rg \
&& (cd remote && npm rebuild)

# Build: React components first, then compile produces out/ (server + workbench), compile-web adds extension web bundles
ENV NODE_OPTIONS="--max-old-space-size=4096"
RUN npm run buildreact \
&& npm run compile \
&& npm run compile-web

# VSCODE_DEV=1 tells the server to use the dev workbench template which loads CSS
# dynamically via import maps. Without this, the server expects a bundled workbench.css
# that is only produced by the full packaging pipeline (gulp vscode-web-min), not by
# npm run compile.
ENV VSCODE_DEV=1

# Render sets PORT; use code-server (production) not code-web (test harness)
EXPOSE 10000
CMD ["sh", "-c", "node out/server-main.js --host 0.0.0.0 --port ${PORT:-10000} --without-connection-token --accept-server-license-terms"]
14 changes: 7 additions & 7 deletions HOW_TO_CONTRIBUTE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ This is the official guide on how to contribute to Void. We want to make it as e

There are a few ways to contribute:

- 💫 Complete items on the [Roadmap](https://github.com/orgs/voideditor/projects/2).
- 💫 Complete items on the [Roadmap](https://github.com/orgs/orcide/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/orcest-ai/Orcide/issues).



### 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/orcest-ai/Orcide/blob/main/VOID_CODEBASE_GUIDE.md) guide that we put together on Void'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!

Expand Down Expand Up @@ -56,7 +56,7 @@ First, run `npm install -g node-gyp`. Then:

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.

1. `git clone https://github.com/voideditor/void` to clone the repo.
1. `git clone https://github.com/orcest-ai/Orcide` 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):
- Windows: Press <kbd>Ctrl+Shift+B</kbd>.
Expand Down Expand Up @@ -85,7 +85,7 @@ If you get any errors, scroll down for common fixes.
- 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/orcest-ai/Orcide/issues/new). You can also refer to VSCode's complete [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute) page.



Expand All @@ -103,9 +103,9 @@ 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).
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/orcest-ai/Orcide-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 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/orcest-ai/Orcide-builder) repo which builds Void and contains a few important notes about auto-updating and rebasing.


#### Building a Local Executible
Expand Down
71 changes: 50 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,70 @@
# Welcome to Void.
<a name="readme-top"></a>

<div align="center">
<img
src="./src/vs/workbench/browser/parts/editor/media/slice_of_void.png"
alt="Void Welcome"
width="300"
height="300"
/>
<h1 align="center" style="border-bottom: none">Orcide: Cloud IDE</h1>
<p align="center"><b>Part of the Orcest AI Ecosystem</b></p>
</div>

Void is the open-source Cursor alternative.
<div align="center">
<a href="https://github.com/orcest-ai/Orcide/blob/main/LICENSE"><img src="https://img.shields.io/badge/LICENSE-MIT-20B2AA?style=for-the-badge" alt="MIT License"></a>
</div>

<hr>

Orcide is an AI-powered cloud IDE that provides intelligent code editing, autocomplete, and refactoring capabilities. It is a core component of the **Orcest AI** ecosystem, integrated with **RainyModel** (rm.orcest.ai) for intelligent LLM routing.

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.
### Orcest AI Ecosystem

This repo contains the full sourcecode for Void. If you're new, welcome!
| Service | Domain | Role |
|---------|--------|------|
| **Lamino** | llm.orcest.ai | LLM Workspace |
| **RainyModel** | rm.orcest.ai | LLM Routing Proxy |
| **Maestrist** | agent.orcest.ai | AI Agent Platform |
| **Orcide** | ide.orcest.ai | Cloud IDE |
| **Login** | login.orcest.ai | SSO Authentication |

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

- 👋 [Discord](https://discord.gg/RSNjgaugJs)
- **AI-Powered Code Editing**: Intelligent code suggestions and completions
- **Chat Interface**: Built-in AI chat for code assistance
- **Autocomplete**: Context-aware code completion powered by RainyModel
- **Code Refactoring**: AI-assisted code improvements
- **RainyModel Integration**: Smart LLM routing with automatic fallback (Free → Internal → Premium)
- **SSO Authentication**: Enterprise-grade access control via login.orcest.ai
- **VS Code Compatible**: Full VS Code extension ecosystem support

- 🚙 [Project Board](https://github.com/orgs/voideditor/projects/2)
## RainyModel Configuration

Configure Orcide to use RainyModel as its AI backend:

## Note
1. Open Settings (Ctrl+,)
2. Navigate to AI / LLM settings
3. Set:
- **API Provider**: OpenAI-Compatible
- **Base URL**: `https://rm.orcest.ai/v1`
- **API Key**: Your RainyModel API key
- **Chat Model**: `rainymodel/chat`
- **Autocomplete Model**: `rainymodel/code`

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.
## Development

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.
```bash
# Install dependencies
yarn install

## Reference
# Build
yarn build

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).
# Run in development mode
yarn watch
```

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).
## Contributing

See [HOW_TO_CONTRIBUTE.md](HOW_TO_CONTRIBUTE.md) for contribution guidelines.

## License

This project is licensed under the [MIT License](LICENSE).

## Support
You can always reach us in our Discord server or contact us via email: hello@voideditor.com.
Part of the [Orcest AI](https://orcest.ai) ecosystem.
27 changes: 27 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Security Policy

## Supported Versions

| Version | Supported |
|---------|-----------|
| Latest | Yes |

## Reporting a Vulnerability

If you discover a security vulnerability, please report it responsibly:

1. **Do NOT** open a public GitHub issue
2. Use [GitHub Security Advisories](https://github.com/orcest-ai/Orcide/security/advisories/new) to report privately
3. Or email: support@orcest.ai

We will acknowledge receipt within 48 hours and provide a timeline for resolution.

## Security Best Practices

- All secrets must be stored in environment variables, never in code
- All services require SSO authentication via login.orcest.ai
- API keys must be rotated regularly
- All traffic must use HTTPS/TLS

Part of the [Orcest AI](https://orcest.ai) ecosystem.

30 changes: 15 additions & 15 deletions VOID_CODEBASE_GUIDE.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# 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/orcest-ai/Orcide/blob/main/HOW_TO_CONTRIBUTE.md).



Expand All @@ -14,10 +14,10 @@ The purpose of this document is to explain how Void's codebase works. If you wan



## 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 +54,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 relevent 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 +69,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 +79,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 +97,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:
### Orcide Settings Inner Workings
We have a service `voidSettingsService` that stores all your Orcide settings (providers, models, global Orcide settings, etc). Imagine this as an implicit dependency for any of the core Orcide services:

<div align="center">
<img width="800" src="https://github.com/user-attachments/assets/9f3cb68c-a61b-4810-8429-bb90b992b3fa">
Expand All @@ -126,13 +126,13 @@ 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).
If you want to know how our build pipeline works, see our build repo [here](https://github.com/orcest-ai/Orcide-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, the Orcide team put together this list of links to get up and running with VSCode.
<details>


Expand All @@ -155,7 +155,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.
Orcide is no longer an extension, so these links are no longer required, 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
Loading