Skip to content

Reserve the ErpForFactoryGames.* package-id prefix on nuget.org #320

Description

@ChrisonSimtian

For Chris — nuget.org account task, not a code change.

Trusted publishing is configured and working end-to-end, but it only authenticates the push. It does not reserve the package-id prefix. Those are separate things on nuget.org and it's easy to assume the first covers the second.

Why it matters

Without a reserved prefix:

  • Anyone can publish ErpForFactoryGames.<anything> before we do, and first push wins the id permanently.
  • Our packages get no owner badge on nuget.org, so consumers have nothing distinguishing ours from a lookalike.

The SatisfactorySaveNet id is already the cautionary case — it's taken by upstream, which is what forced the rename in #312 in the first place.

What to do

  • Request the ErpForFactoryGames.* ID prefix reservation on nuget.org, under the ERP-for-Factory.Games organisation.
  • Confirm the reservation covers the ids below, including the .Cli tool packages.
  • Once granted, tag a release in each repo to publish (publishing is tag-triggered by design — see ADR-0030 §7).

Ids awaiting the reservation

Per ADR-0030, a package per layer rather than one per repo:

ErpForFactoryGames.CaptainOfIndustry.Domain
ErpForFactoryGames.CaptainOfIndustry.Application
ErpForFactoryGames.CaptainOfIndustry.Infrastructure
ErpForFactoryGames.CaptainOfIndustry.Cli            (tool: erp-coi)

ErpForFactoryGames.OutworldStation.Domain
ErpForFactoryGames.OutworldStation.Application
ErpForFactoryGames.OutworldStation.Infrastructure
ErpForFactoryGames.OutworldStation.Cli              (tool: erp-outworld)

Satisfactory's ids follow once that repo is restructured (#312 covers the rename, #311 the move).

Already done

  • nuget.org trusted publishing configured for all three game repos (Chris, 2026-08-09).
  • NUGET_USER repository variable set to ERP-for-Factory.Games on both new repos.
  • Production GitHub environment created on both, matching the environment the trusted-publishing policy is bound to.

Nothing is blocked on this until the first release — the packages build and pack fine today, they just shouldn't be pushed until the prefix is held.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions