Neural Inverse is Open Source →
GuidesGetting Started
GuidesOpen Source ContributingGetting Started

Getting Started


Prerequisites

  • Node.js 20+ (see .nvmrc)
  • Git
  • Python 3 (for native module builds)
  • Platform-specific:
    • macOS: Xcode Command Line Tools (xcode-select --install)
    • Linux: build-essential, libkrb5-dev, libsecret-1-dev
    • Windows: Visual Studio Build Tools with C++ workload

Setup

git clone https://github.com/NeuralInverse/neuralinverse.git
cd neuralinverse
npm install

Dev Mode

You need two watch processes running, then launch the IDE:

Terminal 1 — Watch TypeScript:

npm run watch

Terminal 2 — Watch React UI:

npm run watchreact

Terminal 3 — Launch:

macOS / Linux:

./scripts/code.sh

Windows:

.\scripts\code.bat

Changes to TypeScript are picked up by the watcher. React UI changes are picked up by the React watcher. Reload the dev window (Cmd+Shift+P > Developer: Reload Window) to see your changes.


Project Structure

All Neural Inverse code lives under src/vs/workbench/contrib/:

ModulePathShortcut
AI Chat & Corecontrib/void/Ctrl+L (sidebar), Ctrl+K (inline edit)
Power Modecontrib/powerMode/Cmd+Alt+P
Agent Managercontrib/neuralInverse/Cmd+Alt+A
Firmware & Embeddedcontrib/neuralInverseFirmware/Cmd+Alt+F
Legacy Modernisationcontrib/neuralInverseModernisation/Cmd+Alt+M

Each module has a .contribution.ts file that registers all its services on IDE startup.


Making Changes

  1. Create a branch from main
  2. Make changes in src/vs/workbench/contrib/
  3. Watch processes pick up changes automatically
  4. Reload the dev window to test
  5. Verify: npm run compile (must pass with zero errors)
  6. Open a pull request against main

Common Issues

IssueFix
Non-ASCII build failureOnly use ASCII in TS/JS string literals. Use unicode escapes if needed.
React changes not showingMake sure npm run watchreact is running. Reload window.
Node version mismatchRun nvm use to match .nvmrc.
Compile errors in unrelated modulesPull latest main and npm install again.

Was this page helpful?