maksit-cluster-console/CONTRIBUTING.md
Maksym Sadovnychyy ab71023106 (feature): add workload, storage, and access actions, and highlight full YAML
Rollout control, PVC resize, reclaim policy, certificates, tokens, node images, and an optional confirmed chat agent are in this release. YAML coloring now covers the whole document, including long lines.
2026-09-29 21:25:25 +02:00

5.2 KiB

Contributing to MaksIT.ClusterConsole

Maintainer agent conventions: AGENTS.md. Repo hygiene: maksit-repo-maintenance. C# style: common/csharp + repo-root .editorconfig.

Development setup

  • .NET 10 SDK
  • Git
  • PowerShell 7+ (RepoUtils under utils/)

Build

cd src
dotnet build MaksIT.ClusterConsole.slnx

Tests

utils\Invoke-TestEngine.bat

Coverage shields in README.md are rewritten by CoverageBadges.

Release

  1. Update CHANGELOG.md and bump <Version> in src/Directory.Build.props.
  2. Commit on main, tag v{version} on HEAD (v1.2.3 or SemVer prerelease such as v0.1.0-alpha.1, v0.1.0-beta.1, v0.1.0-rc.1). GitHub marks hyphenated versions as prerelease.
  3. Run utils\Invoke-ReleasePackage.bat. That run publishes the portable zip (win-x64), Windows setup exe, and Flatpak (Flatpak via WSL Debian on Windows). Publishing the GitHub Release starts macOS release assets, which attaches unsigned osx-arm64 and osx-x64 DMGs.

Microsoft Store (MSIX)

MsixPack writes releases/maksit-cluster-console-{version}.msix from the win-x64 publish. It is a full-trust desktop package (runFullTrust), x64, language English (en-us only). Upload that file on an MSIX product in Partner Center. The Store re-signs it. An EXE/MSI product listing cannot take this file.

The UI project sets SatelliteResourceLanguages to en, and MsixPack drops any leftover culture folder that contains *.resources.dll (AvaloniaEdit ships zh-Hans). If that folder is packed, makeappx treats it as a second package language. Partner Center then reports the English resources as incomplete, even though the app UI is English only. A Store listing language marked incomplete is separate: that means a required listing field for that language is still empty.

Partner Center package identity for this product:

Field Value
Package/Identity/Name MAKS-IT.ClusterConsole
Package/Identity/Publisher CN=FCC8C0E7-6D5F-4028-B8EE-903B88C0C8F9
PublisherDisplayName MAKS-IT
Package Family Name MAKS-IT.ClusterConsole_pt3s39h1tn26a
Store ID 9MX86PTHBNN4

Those name, publisher, and publisher display strings are packageName, publisher, and publisherDisplayName in utils/engines/release/scriptSettings.json. A placeholder publisher CN=PartnerCenter stops MsixPack until it is replaced.

The .msix is not a GitHub release asset.

Store listing copy:

Field Document
Short description, description, extra requirements packaging/microsoft-store/description.md
Product features (up to 20 bullets, 200 characters each) packaging/microsoft-store/product-features.md
Keywords (up to 7, 40 characters each, 21 words total) packaging/microsoft-store/keywords.md
Copyright, additional license terms, Developed by packaging/microsoft-store/additional-info.md
Store logos (9:16 poster, 1:1 box art, app tiles) packaging/microsoft-store/logos.md

System requirements (Properties)

Partner Center → Properties → System requirements. A blank cell stays unset. Minimum is what the Store may warn on; Recommended does not warn.

The app is a win-x64 desktop console (tables, YAML, terminal). It does not use a camera, microphone, radio, gamepad, or a specific GPU.

Feature Minimum Recommended
Touch screen
Keyboard Minimum
Mouse Minimum
Camera
NFC HCE
NFC Proximity
Bluetooth LE
Telephony
Microphone
Xbox controller or gamepad
Windows Mixed Reality motion controllers
Windows Mixed Reality immersive headset
Memory 2 GB 4 GB
DirectX Not specified Not specified
Video memory Not specified Not specified
Processor x64 Not specified
Graphics Not specified Not specified

GitHub setup exe

The GitHub Windows installer stays the WiX Burn setup.exe. Its switches are /quiet /norestart (install), /repair /quiet /norestart (repair), and /uninstall /quiet /norestart (uninstall). Signing that exe for an EXE/MSI Store listing needs a Trusted Root Authenticode certificate (homelab works/repostories-maintenance.md, §11 Code signing certificate) and the Burn order: payload PEs, then the MSI, then wix burn detach / sign the engine / wix burn reattach / sign setup.exe (WiX signing).

Commit format

(type): description

Types: (feature):, (bugfix):, (refactor):, (perf):, (test):, (docs):, (build):, (ci):, (style):, (revert):, (chore):.

Lowercase description; no trailing period.

License

By contributing, you agree that your contributions are licensed under the terms in LICENSE.md (Apache 2.0).