Skip to content

Latest commit

 

History

History
68 lines (50 loc) · 2.93 KB

File metadata and controls

68 lines (50 loc) · 2.93 KB
title Development

Development

Documentation home | Development | Deployment | Compatibility | Validation

Use the shared Windows workstation guide for Git, GitHub CLI, editor setup, account checks, and the pinned validation modules. Use Windows PowerShell 5.1 for development validation and deployment.

Names and paths

Use the script's filename in prose, banners, and the ConfigMgr Script name field. Set the package source to the extracted Scripts directory.

The repository keeps production code in Scripts, tests in Tests, development helpers in build, and guides in docs. Use filenames as link labels and retain the correct source paths in their targets.

VS Code recommends the PowerShell extension for this workspace. Its Validate with Windows PowerShell 5.1 and Check generated banners tasks use the explicit Windows PowerShell executable, independent of your default terminal.

From a terminal at the repository root, use the relative path:

.\build\Invoke-Validation.ps1

For existing ConfigMgr packages rooted above Scripts, retain the source-relative path in the script-name field. See deployment.

Maintain the shared banner layout

The two OSD repositories use byte-identical build\Update-Banners.ps1 generators. Only assets\branding.json contains project-specific titles, descriptions, and the bare script filename.

.\build\Update-Banners.ps1
.\build\Update-Banners.ps1 -Check

Both wide banners are 1280 x 360; both compact banners are 640 x 360 at the same 720-pixel breakpoint. Fonts, coordinates, corner radius, owner line, and runtime/ license footer are shared. Keep release numbers in the README badges and validation status in the validation guide.

Keep intrinsic width, height, and viewBox in each SVG. In Markdown <picture> markup, keep the width attributes but omit height from both <source> and <img>: GitHub shrinks the width without automatically reducing a fixed HTML height. Small standalone icons still specify both dimensions. Check actual rendered image rectangles, not just the SVG metadata.

Keep generator changes synchronized between the two repositories. Update the source JSON rather than hand-editing an SVG. Tests\Branding.Tests.ps1 rejects stale generated bytes, layout drift, and directory prefixes in the filename label. README image URLs use the release version as a cache key.

Validate a change

Run the full validator in Windows PowerShell 5.1. Keep the existing parser, PSScriptAnalyzer, Pester, version/tag, and checksum gates. After any file changes, normalize line endings and regenerate CHECKSUMS.txt last using the documented release process. A banner-only change still changes source hashes and must not silently replace an already published release ZIP.