Conversation
Co-authored-by: pardeike <853584+pardeike@users.noreply.github.com>
games list output to show only game IDs for AI-friendly parsing
|
@copilot Here comes an open question, not a suggestion. Do you think 'id' is a good term for 'game id'? How about 'handle' or some other term? Discuss different aspects of this and focus on reducing user/AI confusion. |
Looking at the terminology question from different angles: "ID" (current) vs alternatives: Pros of "ID":
"Handle" alternative:
"Key" alternative:
From AI confusion perspective: Recommendation:
The simplified format makes the identifier instantly usable regardless of what we call it. Thoughts on this analysis? |
Problem
The
gabs games listcommand was producing verbose, confusing output that made it difficult for AI agents to parse and identify available games:When an AI tried to discover if a game like "rimworld" exists, this verbose format caused confusion with multiple identifiers (game name, Steam App ID, launch mode details) and unnecessary logging noise.
Solution
Simplified the output to show only game IDs, one per line:
This format is:
rimworld.cmd_hereChanges Made
CLI Command (
cmd/gabs/main.go)listGames()to output only game IDsgames listto keep output cleanMCP Tool (
internal/mcp/stdio_server.go)games.listtool to return simplified output for AI consumptionTests
TestCurrentGameCommandBehavior/GamesListto verify simplified outputTestGameStopFix/GamesListIsSimplifiedto ensure no verbose detailsBackward Compatibility
For users who need detailed game information, it's still available via:
gabs games show <id>- Full configuration detailsgames.status <id>- Runtime status and limitationsOther
gamessubcommands retain their normal logging and verbose output for debugging purposes.Impact
This change directly addresses the core issue: AI agents can now easily discover and use game identifiers without getting confused by extraneous information. The command now serves its primary purpose of listing available games in the simplest possible format.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.