Imported from thisisivaan/OmenGamingShell (
AGENTS.md). Install upstream withnpx skills add thisisivaan/OmenGamingShell. Copyright stays with the author.
Omen Gaming Shell — Release Conventions
Build conventions
One app exe, always in the main dir. OmenGamingShell.exe lives in the repo root and is the only distributable copy of the app — never publish it anywhere else.
- Rebuild it with
scripts/build-app.ps1(self-contained, single file, written straight to the repo root). scripts/build-installer.ps1callsbuild-app.ps1first, then stages its payload from the repo-root exe and deletes the staged copy once the zip is built. Staging is never left behind, so the root exe stays the only copy.- The installer project embeds
Payload/OmenGamingShell.zipat build time, so that zip stays on disk (it is an archive, not a loose exe). - Build intermediates never land in the tree.
Directory.Build.propsenables the .NET artifacts layout, so every project'sbin/andobj/output goes to the sibling folder..\OmenGamingShell-buildinstead. Delete that folder to force a clean build. - The installer's published output stays at
build/installer-release/(git-ignored), which is a deliverable, not an intermediate.
Version folders
Every published version must have a folder versions/vX.Y.Z/RELEASE-NOTES.md describing that version (features added + bugs fixed).
- Automatic: the
release-notesGitHub Actions workflow creates the folder on everyv*tag push and commits it back tomain. It derives the changelog fromgit log <prev-tag>..<new-tag>. - Manual authoring: for meaningful notes, enrich the
.mdwith a Features-added / Bugs-fixed breakdown before or just after tagging. Keep the auto-generated commit list, then add/adjust sections. - Editing a released note: edit
versions/<tag>/RELEASE-NOTES.mdand push tomain— do NOT re-tag.
When cutting a new release (vX.Y.Z)
- Commit the feature/fix work to
main. - Create annotated tag
vX.Y.Zpointing at that commit and push it. buildworkflow publishes the exe and creates the GitHub release with auto-generaged notes.release-notesworkflow writesversions/vX.Y.Z/RELEASE-NOTES.mdback tomain.- Immediately author/enrich that file with Features added / Bugs fixed, pushed as a normal commit.
- Local rebaseline:
git fetch origin --prune, then rebuild viascripts/build-installer.ps1— it refreshes the main-dirOmenGamingShell.exefirst, then the installer. - Bump the
Versionin both.csprojfiles to the next version only when work on that version starts, not at tag time (CI derives the exe version from the tag).
Version history reference
- v1.0.0 (
e36f1c7) — initial shell, NO self-update feature. - v1.0.1 (
066e183) — background updater added, installer build script, controller reconnect + guide bar + installer header + CI path + overlay nesting fixes.