Conversation
Wizard - 10 interactive steps covering all user-facing config: OMP theme, WT color scheme, Nerd Font, tab bar + window chrome, terminal appearance (opacity, useAcrylic, fontSize, cursorShape, padding, scrollbarState, historySize), PSReadLine colors (default / scheme-derived / skip), background image, editor preference, telemetry opt-out, feature toggles. - Quick-start preset skips all 10 steps with sensible defaults. - State schema versioning (WIZARD_STATE_SCHEMA) rejects stale state on -Resume. Security and hardening - SHA-256 hash input documented honestly: file integrity and reproducible installs, not MITM protection. Docs + in-code messages updated. - setup.ps1 hard-failure paths now exit 1 (was silent return) so CI and callers see non-zero on missing admin / internet / winget. - AllSigned execution policy downgrade now requires explicit consent. - Telemetry opt-out tracked via ownership marker so uninstall does not remove env vars the user set for other tools. - Install-NerdFonts returns false on timeout; wizard retries with default. WT multi-variant - New Get-WindowsTerminalSettingsPaths returns all installed WT variants so writers (profile Update-Profile phase 6, Set-TerminalBackground, setup step 10/10) iterate and update Stable + Preview + Canary + unpackaged. Update-Profile - Compares hash against both PS5 and PS7 installed profiles so a stale edition is caught even when the current $PROFILE is up to date. - Creates the current edition's profile directory on fresh install. - Triggers terminal restart on any runtime change (profile / theme / terminal / user-settings), not only when profile.ps1 itself changes. - -WhatIf trips the ShouldProcess gate before any network download. - Refreshes applied-commit baseline for the opt-in update-check. Invoke-ProfileWizard - SupportsShouldProcess, -ExpectedSha256, -SkipHashCheck, exit-code capture. - -WhatIf returns before Invoke-DownloadWithRetry. New commands - cdb [N] / cdh - directory history stack, bounded, stack-pop semantics (SuppressPwdHistoryPush flag avoids oscillation on repeat cdb). - duration - elapsed time of the last command. - Test-ProfileHealth / psp-doctor - diagnose tools, caches, fonts, PATH, modules. Cross-platform safe (WARN when System.Drawing unavailable). Automation - Native completer cache for kubectl / gh / docker (first load caches to disk, subsequent loads dot-source). - Tab-title indicators via PrePrompt hook: venv, conda, aws, aws-vault, k8s (read from ~/.kube/config, YAML quotes stripped), jobs count > 0. - Opt-in features.updateCheck (default false); weekly check against GitHub commits API, stamp only written on success. Wrappers and fallbacks - admin / su fall back to pwsh/powershell -Verb runAs when wt is missing. - setprofile.ps1 backs up existing profile to oldprofile.ps1 before overwrite. - setup.ps1 auto-detects a local clone, skips GitHub downloads. commandOverrides - Underscore-prefixed keys (e.g. _note, _comment) are skipped so documentation markers in example JSON never compile as scriptblocks. Trusted directories - Add-TrustedDirectory rejects unresolvable paths instead of silently persisting bad strings. - Remove-TrustedDirectory matches case-insensitively so users can clean stale entries after path casing changes. ConvertTo-Json -Depth - All WT settings writers and test roundtrips use -Depth 100 (was -Depth 10) so deeply nested action/command objects are not truncated to type names. Tests - Moved test harnesses to tests/ directory; root ci-functional.ps1 removed. - New probes for Update-Profile, Update-PowerShell, Update-Tools, Invoke-ProfileWizard, Reconfigure-Profile, cdb, cdh, duration, Test-ProfileHealth, psp-doctor. - Signature-contract checks catch parameter renames. - -WhatIf leak detection verifies ShouldProcess gates prevent temp-file creation. - tests/lint.ps1 pins PSScriptAnalyzer to 1.24.0 to match CI. - tests/locallab.ps1 path references updated post-reorg. Docs - README, CONTRIBUTING, SECURITY synced with new surface area.
Enforce CRLF for .ps1 / .psm1 / .psd1 so Windows tooling sees the line endings it expects, LF for .json / .md / .yml / config, and binary mode for common asset types. Excludes tests/ from Linguist stats.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.