Skip to content

How to Generate Guidance

Generating guidance creates outputs from your baseline. By default it generates documentation (AsciiDoc, HTML, PDF). With additional flags, you can also generate compliance scripts, configuration profiles, and more.


  1. Run the command with your baseline

    Terminal window
    ./mscp.py guidance custom/baselines/BASELINE_NAME.yaml

    Example:

    Terminal window
    ./mscp.py guidance custom/baselines/800-53r5_moderate_macos_26.0.yaml
  2. Add flags for additional outputs

    Terminal window
    ./mscp.py guidance custom/baselines/800-53r5_moderate_macos_26.0.yaml -s -p

    This generates guidance docs plus compliance script (-s) and configuration profiles (-p).

    Generate all outputs at once with -A:

    Terminal window
    ./mscp.py guidance custom/baselines/800-53r5_moderate_macos_26.0.yaml -A
  3. Find your files

    All outputs are saved to build/BASELINE_NAME/:

    • Directorybuild/
      • Directory800-53r5_moderate_macos_26.0/
        • 800-53r5_moderate_macos_26.0.adoc AsciiDoc source
        • 800-53r5_moderate_macos_26.0.html Web documentation
        • 800-53r5_moderate_macos_26.0.pdf Printable documentation
        • 800-53r5_moderate_macos_26.0.md Markdown (if -m)
        • 800-53r5_moderate_macos_26.0_compliance.sh Compliance script (if -s)
        • 800-53r5_moderate_macos_26.0.xlsx Excel spreadsheet (if -x)
        • Directorymobileconfigs/ Configuration profiles (if -p)
        • Directoryactivations/ DDM components (if -d)
        • Directoryconfigurations/
        • Directoryassets/
        • Directorypreferences/

FlagOutput
(none)Guidance documents (.adoc, .html, .pdf)
-AAll outputs
-sCompliance script
-pConfiguration profiles
--consolidated-profileSingle consolidated configuration profile
--granular-profilesGranular profiles
-dDDM components
-xExcel spreadsheet (.xlsx)
-mMarkdown documentation

Additional options:

FlagDescription
-l LOGOInclude custom logo in documentation
-L LANGLanguage for output
-H HASHSign configuration profiles with certificate
--audit_name NAMECustom name for audit plist and log
--reference REFUse reference ID instead of rule ID
--darkDark mode output

Generate all outputs:

Terminal window
./mscp.py guidance custom/baselines/800-53r5_moderate_macos_26.0.yaml -A

Generate documentation only:

Terminal window
./mscp.py guidance custom/baselines/800-53r5_moderate_macos_26.0.yaml

Generate everything for MDM deployment:

Terminal window
./mscp.py guidance custom/baselines/DISA-STIG_macos_26.0.yaml -s -p -d

Generate with signed profiles:

Terminal window
./mscp.py guidance custom/baselines/cis_lvl2_macos_26.0.yaml -p -H YOUR_CERT_HASH

Generate documentation with custom logo:

Terminal window
./mscp.py guidance custom/baselines/800-53r5_moderate_macos_26.0.yaml -l /path/to/logo.png

Generate Markdown output:

Terminal window
./mscp.py guidance custom/baselines/800-53r5_moderate_macos_26.0.yaml -m

Generate documentation in a specific language:

Terminal window
./mscp.py guidance custom/baselines/800-53r5_moderate_macos_26.0.yaml -L de

The default language is English (en). Available languages are determined by the locales present in config/locales/. See Generate Localization for how to create and compile translation files.


TypeLocationUse Case
Generatedconfig/custom/baselines/Baselines created by ./mscp.py baseline
Tailoredconfig/custom/baselines/Tailored baselines for your organization

Both produce the same outputs. Custom baselines reflect your organization’s specific settings and excluded rules.