From 912bff8d81b23d52c6e2dd65df28cd1c55bc6d1a Mon Sep 17 00:00:00 2001 From: ek-dyoder Date: Thu, 16 Jul 2026 10:42:41 -0400 Subject: [PATCH] added context for agents --- AGENTS.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..257429b --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,21 @@ +# Repository Guidance + +## RMM script execution model + +Scripts in this repository are generally executed by a small caller script in the RMM. The caller first downloads and dot-sources `Tools.ps1` from the public repository URL: + +```powershell +. $([Scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://dev.emberkom.com/emberkom/management-scripts/raw/branch/master/Tools.ps1'))) +``` + +The caller then invokes `Run-Script`, passing the repository script's filename without the `.ps1` extension: + +```powershell +Run-Script -LivePSScript Create-BatteryReport +``` + +For a live PowerShell script without `-Arguments`, `Run-Script` downloads the target script and dot-sources it. This keeps the core script logic in version control, and changes pushed to the repository take effect in production without updating each RMM caller. + +When a repository script needs RMM-provided input, define the variable in the RMM caller before calling `Run-Script`. Because the target is dot-sourced into the caller's scope, it can read that variable directly. + +When changing `Run-Script` or scripts invoked through it, preserve this shared-scope behavior unless the change explicitly includes migrating all affected RMM callers.