Synthesis CLI
Synthesis offers a CLI alternative to the UI. This can be useful for Linux users, or anyone else that wants to do operations without the UI.
Run Pipeline
run-pipeline
Runs the Synthesis pipeline on all the groups for a specific profile.
Typical
.\Path\To\Synthesis.CLI.exe run-pipeline --OutputDirectory "C:\Games\steamapps\common\Skyrim Special Edition\Data" --PipelineSettingsPath ".\Path\To\PipelineSettings.json" --ProfileIdentifier "NameOfProfile"
Parameters
Short | Long | Required | Description |
---|---|---|---|
-o |
--OutputDirectory |
Required | Path where the patcher should place its resulting file(s). |
-s |
--PipelineSettingsPath |
Required | Path to a specific pipeline settings to read from |
-d |
--DataFolderPath |
Optional | Path to the data folder. |
-p |
--ProfileIdentifier |
Semi-Optional | Nickname/GUID of profile to run if path is to a settings file with multiple profiles |
-l |
--LoadOrderFilePath |
Optional | Path to the load order file to use. |
-e |
--ExtraDataFolder |
Optional | Path to where top level extra patcher data should be stored/read from. Default is next to the exe |
-r |
--PersistencePath |
Optional | Path to the shared FormKey allocation state |
-m |
--PersistenceMode |
Optional | Path to the Persistence state style to use |
-t |
--TargetRuntime |
Optional | Target runtime to specify explicitly |
Create Profile
create-profile
Creates a new profile and saves it to the settings
Typical
.\Path\To\Synthesis.CLI.exe create-profile --GameRelease SkyrimSE --ProfileName "New Profile Name" --InitialGroupName "New Group Name" --PipelineSettingsPath ".\Path\To\PipelineSettings.json"
Parameters
Short | Long | Required | Description |
---|---|---|---|
-r |
--GameRelease |
Required | Game release that the profile should be related to |
-p |
--ProfileIdentifier |
Semi-Optional | Nickname/GUID of profile to run if path is to a settings file with multiple profiles |
-g |
--InitialGroupName |
Required | Name to give the initial patcher group |
-s |
--PipelineSettingsPath |
Required | Path to a specific pipeline settings to target |
Add Git Patcher
add-git-patcher
Adds a Git patcher to a profile and saves it to the settings.
Main parameters are the Github URL address of the patcher to add, as well as the project subpath. The project subpath is the subpath needed to go from the top folder of the patcher's source code to the .csproj
to run as the patcher.
Typical
.\Path\To\Synthesis.CLI.exe add-git-patcher --ProfileIdentifier "Profile Name" --GroupName "Group Name" --GitRepoAddress "UrlOfPatcherGithub" --ProjectSubPath "Project/Project.csproj" --PipelineSettingsPath ".\Path\To\PipelineSettings.json"
Parameters
Short | Long | Required | Description |
---|---|---|---|
-p |
--ProfileIdentifier |
Semi-Optional | Nickname/GUID of profile to add to if path is to a settings file with multiple profiles |
-g |
--GroupName |
Required | Name of the patcher group to add the patcher to |
-s |
--PipelineSettingsPath |
Required | Path to a specific pipeline settings to target |
-a |
--GitRepoAddress |
Required | URL address to the repository to add the git patcher from |
--ProjectSubpath |
Required | Project subpath to target | |
--PatcherNickname |
Optional | Nickname to give the patcher's entry |
Add Solution Patcher
add-solution-patcher
Adds a Solution patcher to a profile and saves it to the settings.
Typical
.\Path\To\Synthesis.CLI.exe add-solution-patcher --ProfileIdentifier "Profile Name" --GroupName "Group Name" --SolutionPath ".\Path\To\Solution.sln" --ProjectSubPath "Project/Project.csproj" --PipelineSettingsPath ".\Path\To\PipelineSettings.json"
Parameters
Short | Long | Required | Description |
---|---|---|---|
-p |
--ProfileIdentifier |
Semi-Optional | Nickname/GUID of profile to add to if path is to a settings file with multiple profiles |
-g |
--GroupName |
Required | Name of the patcher group to add the patcher to |
-s |
--PipelineSettingsPath |
Required | Path to a specific pipeline settings to target |
--SolutionPath |
Required | Path to the solution to target | |
--ProjectSubpath |
Required | Project subpath to target | |
--PatcherNickname |
Optional | Nickname to give the patcher's entry |
Create Template Patcher
create-template-patcher
Create a new patcher project template for a developer to start creating a new patcher. This is a new folder with a csproj, solution, and other related bits to getting started developing a new patcher.
Typical
.\Path\To\Synthesis.CLI.exe create-template-patcher --GameCategory Skyrim --ParentDirectory "Path\To\Some\Dir" --PatcherName "My First Patcher"
Parameters
Short | Long | Required | Description |
---|---|---|---|
-c |
--GameCategory |
Required | Game category that the patcher should be related to |
-d |
--ParentDirectory |
Required | Parent directory to house new solution folder |
-n |
--PatcherName |
Required | Name to give patcher |