en-US/about_SecondLine.help.txt

TOPIC
    about_SecondLine
 
SHORT DESCRIPTION
    SecondLine keeps developer tools and repository conventions in step.
 
LONG DESCRIPTION
    Start with Show-SLHelp for the loaded version, the applicable configuration,
    the version policy and an automatically discovered command catalog. An
    exported command with comment-based help joins that catalog automatically;
    there is no separate manual list.
 
    Show-SLHelp -Command <name> displays full help. It never runs that command.
    Get-Help <command> -Examples shows usage examples.
 
CONFIGURATION
    Standards are PowerShell data files. Resolution order: an explicit -Path on
    standard-aware commands, then SECONDLINE_STANDARD, then the nearest
    secondline.standard.psd1 in the current folder or its parents.
 
    Extends names one parent, relative to the declaring file or absolute.
    Extends = '@development' loads the baseline from this installed package.
    Child tools replace complete entries by Name. Git profiles, repository
    mappings, ModuleVersions and Updates merge by key. Missing parents and
    inheritance cycles are errors.
 
    Settings layers (Get-SLSetting shows each value and its source):
      ModuleVersions machine < user < project chain (nearest file wins).
                      The project's approved version always wins.
      Updates defaults < project < machine < user. These are personal
                      notice preferences and never change an approved version.
    Machine: CommonApplicationData\SecondLine\settings.psd1
    User: ApplicationData\SecondLine\settings.psd1
    Both are ignored in CI and with SECONDLINE_NO_HOST_SETTINGS=1.
 
APPROVED VERSION BEFORE IMPORT
    A loaded module cannot choose its own version. Projects pin
    ModuleVersions = @{ SecondLine = '0.4.0' } in their standard. Their scripts
    run a vendored copy of Bootstrap\Import-SecondLine.ps1 before anything
    imports SecondLine:
        & "$PSScriptRoot\Import-SecondLine.ps1" -Path $PSScriptRoot
    The bootstrap imports exactly that version, refuses to swap a different
    loaded version, and never installs anything.
 
COMMANDS
    Show-SLHelp discovers the actual exports and their help automatically.
    Test commands audit. Set and Repair commands may change files, and support
    -WhatIf. Start and Stop commands change MongoDB state. Reading help never
    runs those operations.
 
VERSION CHECKS
    One update cache per user per machine (LocalApplicationData\SecondLine)
    is shared by Show-SLHelp, Invoke-SLUpdateCheck and the opt-in profile
    block. A lock prevents duplicate lookups across sessions.
      - Lookups refresh daily and use stable releases only.
      - Each request times out after 3 s and is retried once. A failure backs
        off for 60 minutes. Offline or failed results are reported as
        unknown, never as up to date.
      - Show-SLHelp starts a background lookup only when the cached result is
        not current, and never waits for it. -CheckForUpdates forces a
        refresh. -NoUpdateCheck starts none.
      - Get-SLUpdateStatus is offline. It keeps update availability,
        version-policy mismatch and security advisories apart. Advisories are
        NotConfigured: there is no advisory source.
      - Each notice appears once.
      - Checks are off in CI and with SECONDLINE_NO_UPDATE_CHECK=1.
      - Nothing is ever installed.
    Opt in with Enable-SLProfileUpdateCheck -Path $PROFILE.CurrentUserAllHosts.
    Remove it with Disable-SLProfileUpdateCheck.
 
LINE ENDINGS
    Test-SLLineEnding compares the effective .gitattributes, applicable
    .editorconfig files and explicit VS Code files.eol settings with the
    actual working copies and Git's stored copy. Repair-SLLineEnding converts
    endings only, preserving encoding and content, and never stages.
 
SHARED POLICY AND CHECKPOINTS
    Export-SLPolicy writes the reviewed, hash-verified shared policy into a
    repository. New-SLStatusCheckpoint creates docs/status/current.md.
    Test-SLPolicyReference audits the CLAUDE.md and AGENTS.md entry points,
    the policy copy and the checkpoint. A checkpoint is a handoff to verify,
    never an authorization.
 
EXAMPLES
    Show-SLHelp
    Show-SLHelp -Command Start-SLMongo
    Get-SLSetting
    Get-SLUpdateStatus
    Test-SLLineEnding -Path . -Strict
    Test-SLPolicyReference -Path . -Strict
 
SEE ALSO
    Show-SLHelp
    Get-SecondLineStandard
    Get-SLSetting
    Test-SLLineEnding
    Test-SLPolicyReference