Skip to content

Commit 7706cee

Browse files
mohnjilesclaude
andcommitted
docs: add data directory guide and section overview pages
- getting-started/data-directory.md: what lives in the library folder, default locations per OS, portable mode (.sm-portable marker and precedence), changing it later (re-points, does not move data), and the FAT32/OneDrive warnings. All claims verified against SelectDataDirectoryViewModel, SettingsManager, and Compat. - package-manager/overview.md, advanced/overview.md, tips/overview.md: short section index pages so the "Section Overview" breadcrumbs on existing pages resolve; planned pages listed unlinked. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 5cd827e commit 7706cee

4 files changed

Lines changed: 133 additions & 0 deletions

File tree

docs/advanced/overview.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Overview
2+
3+
The Advanced section covers the technical details behind how Stability Matrix works: how packages are built and run, how shared model storage and symlinks are organized, how hardware backends are selected, how the Python environment is managed, and how the app integrates with ComfyUI. These pages are aimed at users who want to understand or fine-tune the internals rather than just use the defaults.
4+
5+
[`Home`](../README.md)
6+
7+
---
8+
9+
Most users never need to touch these topics, since Stability Matrix handles environments, dependencies, and shared folders automatically. They are here for troubleshooting, customization, and for anyone building from source or contributing to the project.
10+
11+
## In This Section
12+
13+
- [Environment Variables](environment-variables.md) — Per-package environment variable configuration
14+
- [ComfyUI Integration](comfyui-integration.md) — ComfyUI node API, WebSocket protocol, and custom nodes
15+
- Building from Source and Contributing *(planned)* — Local builds, runtime targets, and where to start for code or docs contributions
16+
- Shared Folders *(planned)* — Folder structure, symlinks, and cross-package model sharing
17+
- Hardware Support *(planned)* — CUDA, ROCm, DirectML, MPS, ZLUDA, IPEX, and CPU backends
18+
- Python Environment *(planned)* — Virtual environments, uv, pip, and Python version management
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Data Directory
2+
3+
The data directory (also called the library) is the single folder where Stability Matrix keeps everything it manages: installed packages, shared model storage, generated images, downloaded tools, and its own settings file. This page explains what lives in that folder, where it goes by default, and how to choose or relocate it.
4+
5+
[`Section Overview`](overview.md) | [`Home`](../README.md)
6+
7+
## Table of Contents
8+
9+
- [What the Data Directory Is](#what-the-data-directory-is)
10+
- [What Lives Inside It](#what-lives-inside-it)
11+
- [Default Location](#default-location)
12+
- [Portable Mode](#portable-mode)
13+
- [Changing the Data Directory Later](#changing-the-data-directory-later)
14+
- [A Note on Disk Space](#a-note-on-disk-space)
15+
- [What's Next](#whats-next)
16+
17+
---
18+
19+
## What the Data Directory Is
20+
21+
Stability Matrix stores all of the data it manages under one root folder, referred to internally as the library. The location is chosen during [first launch](first-launch.md) and can be changed later. Whenever the app needs to install a package, share a model, or save an output, it works relative to this one directory.
22+
23+
The data directory always contains a `settings.json` file at its root. When the **Select Data Directory** dialog validates a folder, it treats the folder as an existing Stability Matrix library if a readable `settings.json` is present, and otherwise accepts the folder only if it is empty.
24+
25+
## What Lives Inside It
26+
27+
Stability Matrix creates and manages several subfolders inside the data directory. The main ones are:
28+
29+
- **`Packages/`** — Each installed package is cloned into its own subfolder here, named after its display name (for example `Packages/ComfyUI`). This includes the package's own files and its Python virtual environment.
30+
- **`Models/`** — The shared model library. Rather than every package keeping its own copy of large files, models are stored once here and shared. This folder is organized into type-based subfolders such as `StableDiffusion` (checkpoints), `Lora`, `VAE`, `ControlNet`, `ESRGAN` (upscalers), `Embeddings`, and others. The location of the `Models` folder can be pointed elsewhere with a model directory override in settings.
31+
- **`Images/`** — The shared outputs folder. When output sharing is enabled for a package, its generated images are saved here instead of inside the package folder. Inference UI outputs are kept under `Images/Inference`.
32+
- **`Assets/`** — Portable tooling that Stability Matrix downloads and manages for you, such as the `uv` utility, bundled Python installations, 7-Zip, and (for packages that need it) Node.js. Keeping these here means no system-wide Python or Git install is required.
33+
- **`Workflows/`** — Saved ComfyUI workflows managed through the app.
34+
- **`Tags/`** — Tag autocomplete data used by the Inference UI.
35+
- **`.downloads/`** — A working folder for in-progress downloads.
36+
37+
The root also holds the `settings.json` configuration file. This layout is why the data directory can grow large, and why it is treated as a single portable unit.
38+
39+
## Default Location
40+
41+
The default location depends on your operating system and on whether Portable Mode is enabled.
42+
43+
For a non-portable install, the default library path is:
44+
45+
| Platform | Default location |
46+
|---|---|
47+
| Windows | `%AppData%\StabilityMatrix` (the Roaming AppData folder) |
48+
| Linux | `StabilityMatrix` inside your home directory (`~/StabilityMatrix`) |
49+
| macOS | The application data directory, which resolves to `~/.config/StabilityMatrix` |
50+
51+
For non-portable installs, Stability Matrix records the chosen library path in a `library.json` file kept in its AppData home folder, and reads that on startup to find your data directory.
52+
53+
## Portable Mode
54+
55+
Portable Mode keeps the data directory next to the application instead of sending it to one of the default locations above. When Portable Mode is used, the library is a folder named `Data` alongside the Stability Matrix executable, marked by a `.sm-portable` file inside it.
56+
57+
Portable Mode is enabled by default in the **Select Data Directory** dialog, and it is the recommended option for most users. Because the app and its `Data` folder stay bundled together, the whole setup is easier to move to another folder, drive, or computer later. On startup, Stability Matrix checks for the portable marker first, so a portable `Data` folder always takes precedence over any saved non-portable path.
58+
59+
## Changing the Data Directory Later
60+
61+
The data directory can be changed after setup from the app's settings, which reopens the same **Select Data Directory** dialog used during first launch. You can either pick a new custom folder or switch to Portable Mode. Applying the change requires restarting Stability Matrix.
62+
63+
Changing the setting only updates where Stability Matrix *looks* for its library — it points the app at the new location (and creates that folder if needed) but does not move your existing packages, models, or images for you. If you want to keep your current data, move or copy the contents of the old data directory to the new location yourself before or after switching, then confirm the app finds a valid `settings.json` there.
64+
65+
## A Note on Disk Space
66+
67+
Choose the data directory location with disk space in mind. The bulk of the space usage comes from the `Packages` and `Models` folders. A single package install is commonly in the multi-gigabyte range once its PyTorch dependencies are downloaded, and individual model checkpoints are frequently several gigabytes to tens of gigabytes each. Over time a model library can easily reach hundreds of gigabytes.
68+
69+
Prefer a drive with plenty of free space, and ideally a fast one. FAT32 and exFAT drives are not supported, so pick a drive formatted with a modern filesystem (such as NTFS on Windows); the **Select Data Directory** dialog shows a warning if the chosen drive uses a FAT format. Placing the library inside a synced cloud folder such as OneDrive is also discouraged, and the dialog shows a warning when it detects a OneDrive path.
70+
71+
## What's Next
72+
73+
- [First Launch](first-launch.md) — Where the data directory is first chosen
74+
- [Installing Packages](../package-manager/installing-packages.md) — What gets written into `Packages/`
75+
- Shared Folders *(planned)* — How the `Models/` library is shared across packages

docs/package-manager/overview.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Overview
2+
3+
The Package Manager is where Stability Matrix installs, updates, launches, and manages the AI generation packages you use, such as ComfyUI, Stable Diffusion WebUI variants, Forge, InvokeAI, and various training tools. This section of the documentation covers how those workflows work.
4+
5+
[`Home`](../README.md)
6+
7+
---
8+
9+
From the **Packages** screen you can install new packages through a guided flow, keep multiple packages side by side as isolated installations, launch them with live console output, update or roll back versions, and configure per-package options such as launch arguments, environment variables, shared model folders, and extensions. Each package keeps its own Python environment while sharing common resources like the model library, so the same checkpoints and LoRAs do not need to be duplicated for every tool.
10+
11+
## In This Section
12+
13+
- [Supported Packages](supported-packages.md) — Full list of supported inference and training packages
14+
- [Installing Packages](installing-packages.md) — One-click install, hardware selection, and GPU backends
15+
- Managing Packages *(planned)* — Launching, monitoring, updating, and deleting installed packages
16+
- Launch Arguments *(planned)* — Configuring launch arguments per package
17+
- Extensions *(planned)* — Browsing and managing package plugins and extensions
18+
19+
## What's Next
20+
21+
- [Installing Packages](installing-packages.md) — Install your first package
22+
- [Supported Packages](supported-packages.md) — See what you can install

docs/tips/overview.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Overview
2+
3+
The Tips and Tricks section collects practical guidance for getting more out of Stability Matrix and local AI generation in general. It covers common terminology, effective use of the built-in Inference UI, package-specific advice, hardware-specific workflows, and ways to work within limited VRAM.
4+
5+
[`Home`](../README.md)
6+
7+
---
8+
9+
These pages are meant to be dipped into as needed rather than read front to back. Some of the material applies broadly to AI image and video generation and is useful whether or not you are working inside Stability Matrix.
10+
11+
## In This Section
12+
13+
- [Terminology](terminology.md) — Common image generation terms and what they mean
14+
- Inference UI Tips *(planned)* — Effective use of the built-in Inference UI
15+
- Per-Package Tips *(planned)* — Package-specific tips and links to upstream documentation
16+
- AMD GPU Workflow *(planned)* — Getting image and video generation working on AMD hardware
17+
- Model Dependencies *(planned)* — Required secondary files for modern models (text encoders, VAEs, etc.)
18+
- VRAM Optimization *(planned)* — Reducing VRAM usage without sacrificing too much quality or speed

0 commit comments

Comments
 (0)