Skip to content

Dev: Code Structure

SD.Next is organized as core repo with multiple submodules for different components where each submodule is a separate repository.

Core repo

Repo: https://github.com/vladmandic/sdnext
The core repo contains the main application code and default UI components

Entire server-side code is written in Python.
UI components are written in TypeScript.

Folders: - modules/ - main application code
this is core of SD.Next
- pipelines - model pipeline definitions and related code
loaders and model-specific code
- scripts/ - additional scripts available in the application
good place is to add new scripts
- ui/ - UI components and related code
client-side code for core UI components and StandardUI
- extensions-builtin/ - built-in extensions included in the application
look here for ModernUI and Kanvas
- cli/ - command-line interface tools and api usage examples
- configs/ - model configuration files and templates - data/ - json data files used for preconfigured items and models - models/ - model files and related assets - outputs/ - output files generated by the application - extensions/ - 3rd party extensions installed by users
this is where user-installed extensions are located
- test/ - test utilities

Wiki

Wiki repo contains documentation and guides for developers and users.

Wiki is also used to automatically build online documentation: https://vladmandic.github.io/sdnext-docs/.

ModernUI

ModernUI is the default UI for SD.Next.

Kanvas

Kanvas is a UI extension that provides a canvas-based interface for image editing and masking.

Data

Data repo is backend repo that provides data for the application such as 3rd party extension lists.
It runs fully automated workflows and typically is not cloned locally.

Docs

Docs repo is used to build online documentation from wiki content.
It runs fully automated workflows and typically is not cloned locally.