Skip to main content

Installation

Requirements

For the published PowerShell Gallery module, plan on:

  • Windows with PowerShell 7+
  • access to PowerShell Gallery

For source builds, also plan on:

  • .NET SDK
  • access to the DataGen source tree

Install the published module:

Install-PSResource SyntheticEnterprise.PowerShell -Repository PSGallery
Import-Module SyntheticEnterprise.PowerShell

The Gallery package includes the seeded runtime catalog at catalogs/catalogs.sqlite inside the module. Standard generation commands load that bundled catalog automatically when you omit -CatalogRootPath.

The separate catalogs.sqlite file attached to GitHub releases is optional. Use it when you want to inspect the catalog directly, feed another tool, or maintain a custom catalog location outside the module.

Build the module from source

From the repository root:

.\scripts\build-catalog-artifact.ps1 -InstallToCatalogRoot

That generates the seeded catalog to artifacts\catalog\catalogs.sqlite and installs a local working copy to catalogs\catalogs.sqlite for source builds. The source build must create this file before compiling the module because the module project packages it into the build output.

Then build the solution:

dotnet build .\DataGen.slnx -v minimal

If you want to run tests before using the module:

dotnet test .\DataGen.slnx -v minimal

Import the PowerShell module

The module project lives under src/SyntheticEnterprise.PowerShell.

$modulePath = Join-Path $PWD 'src\SyntheticEnterprise.PowerShell\bin\Debug\net8.0\SyntheticEnterprise.PowerShell.dll'
Import-Module $modulePath -Force
Get-Command -Module SyntheticEnterprise.PowerShell | Sort-Object Name

If you want a packaged module with a manifest, build one from the repo root:

.\scripts\package-module.ps1 -Version 0.8.1 -Configuration Release
Import-Module .\artifacts\module\SyntheticEnterprise.PowerShell\0.8.1\SyntheticEnterprise.PowerShell.psd1 -Force

Verify the core command surface

At minimum, confirm these commands are available:

  • Get-SEModuleCommandSurface
  • Get-SEScenarioArchetype
  • New-SEScenarioFromArchetype
  • Get-SEScenarioPersonaPreset
  • New-SEScenarioFromPersonaPreset
  • New-SEScenarioWizard
  • Resolve-SEScenario
  • Test-SEScenario
  • New-SEEnterpriseWorld
  • Get-SEWorldSummary
  • Export-SEEnterpriseWorld
  • Save-SEEnterpriseWorld
  • Import-SEEnterpriseWorld

If you want the categorized module view instead of a flat command list:

Get-SEModuleCommandSurface

Catalog expectations

Most real workflows should not pass -CatalogRootPath. When the module is installed from PowerShell Gallery, DataGen finds the packaged catalogs/catalogs.sqlite file beside the module and uses it as the default catalog set.

Pass -CatalogRootPath only when you need to override the packaged catalog with a custom directory or SQLite database.

Use New-SECatalogDatabase when you need to rebuild the packaged SQLite catalog or produce a refreshed catalog database from the curated sources.

Next step

Continue to First World to validate that generation and export work correctly in your environment.