@@ -247,7 +247,7 @@ def _format_rate_limit_error(status_code: int, headers: httpx.Headers, url: str)
247247 "agy" : {
248248 "name" : "Antigravity" ,
249249 "folder" : ".agent/" ,
250- "commands_subdir" : "workflows" , # Special: uses workflows/ not commands/
250+ "commands_subdir" : "commands" ,
251251 "install_url" : None , # IDE-based
252252 "requires_cli" : False ,
253253 },
@@ -1270,6 +1270,22 @@ def install_ai_skills(project_path: Path, selected_ai: str, tracker: StepTracker
12701270 return installed_count > 0 or skipped_count > 0
12711271
12721272
1273+ def _handle_agy_deprecation (console : Console ) -> None :
1274+ """
1275+ Print the deprecation error for the Antigravity (agy) agent and exit.
1276+
1277+ Context for future AI reviewers (e.g., GitHub Copilot):
1278+ - Prior to Antigravity v1.20.5, users could rely on explicit agent command definitions generated by this tool.
1279+ - v1.20.5 removed this "command support" in favor of "Agent Skills".
1280+ - `specify_cli` handles this by throwing a fail-fast deprecation error if `--ai agy` is
1281+ invoked without the accompanying `--ai-skills` flag. Users are instructed to add
1282+ the skills flag to generate agent skills templates instead.
1283+ """
1284+ console .print ("\n [red]Error:[/red] Explicit command support was deprecated in Antigravity version 1.20.5." )
1285+ console .print ("Please use [cyan]--ai-skills[/cyan] when initializing to install templates as agent skills instead." )
1286+ console .print ("[yellow]Usage:[/yellow] specify init <project> --ai agy --ai-skills" )
1287+ raise typer .Exit (1 )
1288+
12731289@app .command ()
12741290def init (
12751291 project_name : str = typer .Argument (None , help = "Name for your new project directory (optional if using --here, or use '.' for current directory)" ),
@@ -1379,26 +1395,6 @@ def init(
13791395 console .print (error_panel )
13801396 raise typer .Exit (1 )
13811397
1382- current_dir = Path .cwd ()
1383-
1384- setup_lines = [
1385- "[cyan]Specify Project Setup[/cyan]" ,
1386- "" ,
1387- f"{ 'Project' :<15} [green]{ project_path .name } [/green]" ,
1388- f"{ 'Working Path' :<15} [dim]{ current_dir } [/dim]" ,
1389- ]
1390-
1391- if not here :
1392- setup_lines .append (f"{ 'Target Path' :<15} [dim]{ project_path } [/dim]" )
1393-
1394- console .print (Panel ("\n " .join (setup_lines ), border_style = "cyan" , padding = (1 , 2 )))
1395-
1396- should_init_git = False
1397- if not no_git :
1398- should_init_git = check_tool ("git" )
1399- if not should_init_git :
1400- console .print ("[yellow]Git not found - will skip repository initialization[/yellow]" )
1401-
14021398 if ai_assistant :
14031399 if ai_assistant not in AGENT_CONFIG :
14041400 console .print (f"[red]Error:[/red] Invalid AI assistant '{ ai_assistant } '. Choose from: { ', ' .join (AGENT_CONFIG .keys ())} " )
@@ -1413,6 +1409,25 @@ def init(
14131409 "copilot"
14141410 )
14151411
1412+ # [DEPRECATION NOTICE: Antigravity (agy)]
1413+ # As of Antigravity v1.20.5, traditional CLI "command" support was fully removed
1414+ # in favor of "Agent Skills" (SKILL.md files under <agent_folder>/skills/<skill_name>/).
1415+ # Because 'specify_cli' historically populated .agent/commands/, we now must explicitly
1416+ # enforce the `--ai-skills` flag for `agy` to ensure valid template generation.
1417+ if selected_ai == "agy" and not ai_skills :
1418+ # If agy was selected interactively (no --ai provided), automatically enable
1419+ # ai_skills so the agent remains usable without requiring an extra flag.
1420+ # Preserve deprecation behavior only for explicit '--ai agy' without skills.
1421+ if ai_assistant :
1422+ _handle_agy_deprecation (console )
1423+ else :
1424+ ai_skills = True
1425+ console .print (
1426+ "\n [yellow]Note:[/yellow] 'agy' was selected interactively; "
1427+ "enabling [cyan]--ai-skills[/cyan] automatically for compatibility "
1428+ "(explicit .agent/commands usage is deprecated)."
1429+ )
1430+
14161431 # Validate --ai-commands-dir usage
14171432 if selected_ai == "generic" :
14181433 if not ai_commands_dir :
@@ -1423,6 +1438,26 @@ def init(
14231438 console .print (f"[red]Error:[/red] --ai-commands-dir can only be used with --ai generic (not '{ selected_ai } ')" )
14241439 raise typer .Exit (1 )
14251440
1441+ current_dir = Path .cwd ()
1442+
1443+ setup_lines = [
1444+ "[cyan]Specify Project Setup[/cyan]" ,
1445+ "" ,
1446+ f"{ 'Project' :<15} [green]{ project_path .name } [/green]" ,
1447+ f"{ 'Working Path' :<15} [dim]{ current_dir } [/dim]" ,
1448+ ]
1449+
1450+ if not here :
1451+ setup_lines .append (f"{ 'Target Path' :<15} [dim]{ project_path } [/dim]" )
1452+
1453+ console .print (Panel ("\n " .join (setup_lines ), border_style = "cyan" , padding = (1 , 2 )))
1454+
1455+ should_init_git = False
1456+ if not no_git :
1457+ should_init_git = check_tool ("git" )
1458+ if not should_init_git :
1459+ console .print ("[yellow]Git not found - will skip repository initialization[/yellow]" )
1460+
14261461 if not ignore_agent_tools :
14271462 agent_config = AGENT_CONFIG .get (selected_ai )
14281463 if agent_config and agent_config ["requires_cli" ]:
0 commit comments