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: Easily extendable with custom extensions for specialized nuclear engineering tasks.
- PWA Support: Progressive Web Application (PWA) capabilities for enhanced web-based deployment.
- Essential Extensions: Includes core extensions for common nuclear simulation workflows.
- Cross-Platform: Supports both browser-based and Electron-based desktop deployments.
To set up and run NukeIDE locally, follow these steps:
- Node.js (>=18)
- Yarn (>=1.7.0 <2)
-
Clone the repository:
git clone https://github.com/nukehub-dev/nuke-ide.git cd nuke-ide
-
Install dependencies and build the project:
yarn
This command will install all root dependencies, hoist them, and then use Lerna to install dependencies and run
prepare
scripts for all workspaces (applications and extensions). -
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:browser
To start the Electron-based desktop application:
yarn start:electron
To build all applications and extensions:
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
tsc
applications/
: 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.
We welcome contributions to NukeIDE! Please refer to our GitHub Issues for ongoing tasks and discussions. For contribution guidelines, please see the repository's contributing document (if available).
NukeIDE is released under the BSD-2-Clause License.