A PowerShell module developer working with games on CurseForge needs a way to interact with the CurseForge platform programmatically from PowerShell. No PSModule-framework-compliant module currently exists for this purpose.
CurseForge exposes two distinct APIs:
- CurseForge Core API —
https://api.curseforge.com — read access to games, mods, files, categories, fingerprints, and Minecraft-specific data. Authenticated via x-api-key header with a key from the CurseForge for Studios Console.
- CurseForge Upload API — site-relative endpoints for managing project files. Authenticated via
X-Api-Token header with a token from the API Tokens page.
The module uses the Context module to persist credentials locally, follows PSModule Standards, and provides an ergonomic PowerShell experience over the raw REST surface.
Acceptance criteria:
Naming convention (applies to all child issues):
- Module prefix:
CurseForge on all public commands and classes
- Full unabbreviated PascalCase properties (e.g.,
DownloadCount, FileSizeOnDisk, GameVersionTypeId)
- Domain term
Mod is preserved (term of art, not an abbreviation)
- Standard conventions:
Id, Url kept per .NET/PowerShell norms
- Boolean properties:
Is, Has, Can prefix
Versioning strategy:
- PBI 1 (Foundation + Auth + Games) = v1.0.0
- All subsequent PBIs = non-breaking Minor bumps (v1.1, v1.2, ...)
- Upload API additions are additive, not breaking
Sub-issues
Child PBIs (Features) covering the full API surface — see linked sub-issues below.
A PowerShell module developer working with games on CurseForge needs a way to interact with the CurseForge platform programmatically from PowerShell. No PSModule-framework-compliant module currently exists for this purpose.
CurseForge exposes two distinct APIs:
https://api.curseforge.com— read access to games, mods, files, categories, fingerprints, and Minecraft-specific data. Authenticated viax-api-keyheader with a key from the CurseForge for Studios Console.X-Api-Tokenheader with a token from the API Tokens page.The module uses the Context module to persist credentials locally, follows PSModule Standards, and provides an ergonomic PowerShell experience over the raw REST surface.
Acceptance criteria:
Naming convention (applies to all child issues):
CurseForgeon all public commands and classesDownloadCount,FileSizeOnDisk,GameVersionTypeId)Modis preserved (term of art, not an abbreviation)Id,Urlkept per .NET/PowerShell normsIs,Has,CanprefixVersioning strategy:
Sub-issues
Child PBIs (Features) covering the full API surface — see linked sub-issues below.