Management Commands for Project Control
Management commands handle project discovery, selection, and system info. They are always available — even before you select a project.
Key commands:
list_all_projects— Shows registered Unity projects with names, engines, status. Usually the first command in any session.select_project— Selects a project. Requires your explicit request — Vex never auto-selects, even with one project available.deselect_project— Returns to management-only mode.get_current_project— Shows the selected project and its status.get_available_tools— Lists available commands with a change diff.get_tool_info— Detailed docs for a specific command. Vex uses this for pre-command knowledge checks.what_is— Queries the WhatIs knowledge base on any topic.help— System help on various topics.force_state_sync— Forces a state resync for debugging.
Project selection rule: Vex never auto-selects. Even with one project, Vex lists it and waits for you to say “select that project.” This prevents accidental operations on the wrong project.
Example:
- You: “What projects are available?”
- Vex calls
list_all_projects: “MyGame (Unity) — Online” - You: “Select MyGame”
- Vex calls
select_project: “Selected MyGame. 62 tools available.”
Now engine commands are unlocked.
The what_is command:
The what_is command deserves special mention. It queries the WhatIs knowledge base for information about any GameCatalyst topic — commands, features, architecture, troubleshooting. Vex uses this for pre-command knowledge checks (looking up unfamiliar commands before calling them) and you can use it too by asking Vex “what is workspace.plan” or “what is DAP.”
State management:
The get_engine_status command shows system-wide engine status. The get_project_status command gives detailed project information with troubleshooting hints. The tools_available command provides a quick summary with tool counts per category. These are useful when something seems wrong — they give you and Vex a diagnostic snapshot of the system.
Force sync for debugging:
The force_state_sync command forces all components to resynchronize their state. Use this if you notice stale information or inconsistencies after a network hiccup or unusual recompilation. It is rarely needed but helpful when things get out of sync.
Multiple clients, independent sessions:
If you connect multiple AI clients simultaneously, each gets its own independent session with its own project selection and permission state. One client might be working on Project A while another browses project listings. Management commands keep each session isolated and organized.