en-US/about_FileOptimizer.help.txt

TOPIC
    about_FileOptimizer
 
SHORT DESCRIPTION
    PowerShell module that mirrors FileOptimizer plugin optimization chains.
 
LONG DESCRIPTION
    PS-FileOptimizer (module name FileOptimizer) runs the same external plugin
    chains as Javier Gutiérrez Chamorro's FileOptimizer application, with a
    scriptable CLI and JSON configuration.
 
    QUICK START
 
      Import-Module .\FileOptimizer.psd1
      Initialize-FoConfig -Scope Global
      .\Scripts\Install-Plugins.ps1 -Mode FullPortable
      Optimize-FoFile -Path .\images\*.png
      Get-FoHistory -Last 10
      Undo-FoOptimization -Last 3
 
    CONFIGURATION PRECEDENCE
 
      Module defaults
        -> %USERPROFILE%\.config\FileOptimizer\config.json
        -> -ConfigPath (local JSON file)
        -> explicit cmdlet parameters
 
    BATCH ERRORS
 
      Use -ContinueOnError on Optimize-FoFile to finish a multi-file batch when
      individual files fail. Without it, the first error stops the batch.
 
    MISSING TOOLS
 
      SkipMissingTools (default false) controls whole-file behavior when the
      execution plan lists missing plugin executables. When true, the file is
      skipped entirely. When false, optimization continues and each step skips
      individually when its tool is missing (FileOptimizer parity).
 
    OUTPUT MODES
 
      TempMove Default. Optimized file at original path; original moved to TempBackupPath.
      Replace Overwrite original in place (not reversible).
      BackupSuffix Original renamed with BackupSuffix beside optimized file.
      BackupMove Original moved under BackupPath preserving relative layout.
      OptimizedSuffix Original kept; smaller optimized copy written with OptimizedSuffix.
 
    MISC PIPELINE
 
      Unrecognized image-like extensions may route to the MISC pipeline (ImageMagick).
      Set MiscDisable = true in config unless you intend that behavior.
 
    HISTORY AND UNDO
 
      When HistoryEnabled is true, history.json records each optimization.
 
      TargetPath Where the optimized file was written (undo restore destination).
      OriginalPath Same value as TargetPath on each entry.
      OptimizedPath Optimized output path.
      BackupPath Pre-optimization bytes for reversible modes.
      ReversalStatus Pending, Reversed, NotReversible, or Error.
 
      Example entry:
 
        {
          "Id": "20260708-143000-a1b2c3d4",
          "TargetPath": "C:\\data\\photo.png",
          "OriginalPath": "C:\\data\\photo.png",
          "OptimizedPath": "C:\\data\\photo.png",
          "BackupPath": "C:\\Users\\you\\AppData\\Local\\Temp\\backups\\photo.png",
          "OutputMode": "TempMove",
          "ReversalStatus": "Pending"
        }
 
      Reversible modes: TempMove, BackupSuffix, BackupMove, OptimizedSuffix.
 
    TEST TOOLING
 
      Install-FoDssim downloads DSSIM for image compare tests only (not optimization).
      FO_TEST_PLUGIN_PATH overrides the plugin directory during tests.
      FO_RUN_INSTALL_INTEGRATION and FO_RUN_CORPUS_INTEGRATION gate integration tests.
 
    IMAGE TESTS (ON-DEMAND)
 
      Image integration, lossy compare, and corpus sweeps are for local verification.
      See Tests\README.md for Pester tags (ImageIntegration, Lossy, Smoke).
 
SEE ALSO
    Optimize-FoFile, Get-FoConfig, Get-FoHistory, Undo-FoOptimization, Install-FoPlugins