NukeIDE is an open-source Integrated Development Environment (IDE) specifically designed for nuclear simulation and engineering. Built on the extensible Theia platform, NukeIDE provides a robust and customizable environment for computational physics, reactor design, fusion energy, and radiation transport.
- Integrated Development Environment: A full-featured IDE powered by Theia, providing a modern code editing experience.
- Extensible Architecture: Custom extensions for specialized nuclear engineering tasks.
- Nuke Core: Python environment management, package installation, health checks, and the Nuke Tools sidebar.
- OpenMC Studio: No-code OpenMC modelling, tallies, depletion, variance reduction, optimization, and runs.
- Nuke Visualizer: Native 3D/2D viewers for statepoints, tallies, meshes, DAGMC geometry, and depletion output.
- Nuke CAD: Parametric CAD, sketching, assemblies, drawings, DAGMC export, meshing, and FEM.
- Cross-Platform: Browser and Electron desktop deployments, plus an all-in-one Docker image.
To set up and run NukeIDE locally, follow these steps:
- Node.js (>=22.13.0)
- Yarn (>=1.7.0 <2)
- Python 3.13 for the tested backend profile
-
Clone the repository:
git clone https://github.com/nukehub-dev/nuke-ide.git cd nuke-ide -
Install dependencies and build the project:
yarn
This installs root dependencies, hoists shared packages, and runs each extension's
preparebuild. Applications are bundled separately withyarn build:browseroryarn build:electron. -
Download Theia plugins:
yarn download:plugins
This command downloads pre-configured Theia plugins required for NukeIDE.
To start the browser-based version of NukeIDE:
yarn start:browserTo start the Electron-based desktop application:
yarn start:electronTo build all extensions:
npx lerna run build-
Browser:
yarn build:browser
-
Electron:
yarn build:electron
Navigate to the extension directory (e.g., extensions/nuke-essentials) and run:
yarn build
# or
tscapplications/: Contains the different NukeIDE application builds (browser, electron, docker).extensions/: Houses all the custom Theia extensions developed for NukeIDE.resources/: Static assets like logos and HTML preload templates.configs/: Shared configuration files.
In the IDE, open Help → Documentation. The same guides are in the repository:
We welcome contributions to NukeIDE! Please refer to our GitHub Issues for ongoing tasks and discussions. Contribution guidelines, project conventions, and verification commands live in AGENTS.md — run yarn lint, yarn test:python, yarn test:ts, and npx lerna run build before committing.
NukeIDE is released under the BSD-2-Clause License.
