Skip to content

Commit e14158c

Browse files
committed
fix(integrations): restore original integration list output in refactor
Preserve the CLI Required column, post-table default/installed summary, and no-installed guidance that were dropped during the no-behavior-change refactor of integration list into _query_commands.py.
1 parent 2659a65 commit e14158c

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

src/specify_cli/integrations/_query_commands.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,26 +88,37 @@ def integration_list(
8888
console.print("[yellow]No integrations available.[/yellow]")
8989
return
9090

91-
table = Table(title="Available Integrations")
91+
table = Table(title="Coding Agent Integrations")
9292
table.add_column("Key", style="cyan")
9393
table.add_column("Name")
9494
table.add_column("Status")
95+
table.add_column("CLI Required")
9596
table.add_column("Multi-install Safe")
9697

97-
for key, integration in sorted(INTEGRATION_REGISTRY.items()):
98+
for key in sorted(INTEGRATION_REGISTRY.keys()):
99+
integration = INTEGRATION_REGISTRY[key]
98100
cfg = integration.config or {}
99101
name = cfg.get("name", key)
102+
requires_cli = cfg.get("requires_cli", False)
100103
if key == default_key:
101104
status = "[green]installed (default)[/green]"
102105
elif key in installed_keys:
103106
status = "[green]installed[/green]"
104107
else:
105108
status = ""
106-
safe = "[green]yes[/green]" if getattr(integration, "multi_install_safe", False) else "[dim]no[/dim]"
107-
table.add_row(key, name, status, safe)
109+
cli_req = "yes" if requires_cli else "no (IDE)"
110+
safe = "yes" if getattr(integration, "multi_install_safe", False) else "no"
111+
table.add_row(key, name, status, cli_req, safe)
108112

109113
console.print(table)
110114

115+
if installed_keys:
116+
console.print(f"\n[dim]Default integration:[/dim] [cyan]{default_key or 'none'}[/cyan]")
117+
console.print(f"[dim]Installed integrations:[/dim] [cyan]{', '.join(sorted(installed_keys))}[/cyan]")
118+
else:
119+
console.print("\n[yellow]No integration currently installed.[/yellow]")
120+
console.print("Install one with: [cyan]specify integration install <key>[/cyan]")
121+
111122

112123
@integration_app.command("use")
113124
def integration_use(

0 commit comments

Comments
 (0)