Skip to content

CurseForge: fetch the real mod description from GET /v1/mods/{modId}/description #246

Description

@dyoung522

Spun off from #235, which removed the Description = Summary aliasing so CurseForge mods now surface an empty Description (honest: the mod response has no full-description field).

The endpoint exists

Verified against the CurseForge Core REST API docs (https://docs.curseforge.com/rest-api/): there is a dedicated endpoint

GET /v1/mods/{modId}/description

returning the mod's full description as HTML (with optional raw, stripped, and markup query flags controlling formatting). Wiring it up turns #235's "remove the duplicate" into "actually gain the feature": CurseForge mod details would show a real description, like NexusMods already does.

Design considerations

  • Do not fetch it during search — that would add one API round-trip per result row. The natural seam is the detail path (Service.ModDetail / GetMod), where exactly one mod is being shown.
  • Even on GetMod it is a second round-trip per call; worth deciding whether it belongs behind the existing client with the same auth/rate-limit handling, and whether the result should be cached.
  • The response is HTML; the display path already runs core.CleanChangelog on descriptions for the terminal, and mod show --json deliberately emits the raw markup, so both surfaces should cope unchanged.
  • internal/source/httpclient conventions (timeouts, size caps) apply.

Deliberately excluded from #235's cleanup PR per its scope boundary: no new API calls in that diff.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:sourcesinternal/source - NexusMods, CurseForge, custom sourcesenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions