> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neuro-tech.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Runtime / deployment notes

> Production considerations for deploying Neuron packages

This page covers practical considerations when moving packages from development to production.

## Assembly packages require a restart

Assembly packages install C# DLLs into the Neuron runtime. The Neuron **must be restarted** after installation for the new assembly to be loaded. Content-only packages (Markdown, script, JavaScript) do not require a restart.

## Package versioning

* Packages are identified by name. Uploading a newer version replaces the previous one.
* The Neuron admin interface and `upgrade` chat command handle updates.
* Always re-sign with the **same private key** when releasing an update so the Neuron can verify the upgrade is from the same publisher.

## Child Neuron propagation

When a package is uploaded via the admin interface at `neuron.domain/UploadPackage.md`, it is propagated to all child Neurons in the federation. Plan rollouts accordingly.

## Installation keys

The installation key is the **public key + AES key** concatenated into a single string. Keep the AES key and private key secure — losing them means you cannot redistribute or update the package.

## Local development vs production

| Concern                     | Local dev                        | Production                           |
| --------------------------- | -------------------------------- | ------------------------------------ |
| Install method              | `Waher.Utility.Install` directly | Admin interface or `upgrade` command |
| Neuron data folder          | `C:\ProgramData\IoT Gateway Dev` | `C:\ProgramData\IoT Gateway`         |
| Restart required (assembly) | Yes                              | Yes                                  |
| Signature required          | No (optional for local)          | Yes                                  |

## Backup on upgrade

By default, the Neuron creates a backup before applying an upgrade. To skip the backup:

```text theme={null}
upgrade nobackup PACKAGE_NAME.package
```

Only skip backups if you have another backup strategy in place.

## Repository and clone order

For local development, repositories must be cloned in this order:

1. [IoTGateway](https://github.com/PeterWaher/IoTGateway)
2. [Neuro-Ledger](https://github.com/Trust-Anchor-Group/Neuro-Ledger)
3. [IoTBroker](https://github.com/Trust-Anchor-Group/IoTBroker)

All repos should be placed inside `C:/My Projects/` since build paths are currently hardcoded.
