diff --git a/README.md b/README.md index 63ebb598c..153d1dbe6 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ The `specify` command supports the following options: | Command | Description | |-------------|----------------------------------------------------------------| | `init` | Initialize a new Specify project from the latest template | -| `check` | Check for installed tools (`git`, `claude`, `gemini`) | +| `check` | Check for installed tools (`git`, `claude`, `gemini`, `code`/`code-insiders`, `cursor-agent`) | ### `specify init` Arguments & Options diff --git a/src/specify_cli/__init__.py b/src/specify_cli/__init__.py index 436d1b292..88c166998 100644 --- a/src/specify_cli/__init__.py +++ b/src/specify_cli/__init__.py @@ -825,8 +825,7 @@ def init( if not check_tool("gemini", "Install from: https://github.com/google-gemini/gemini-cli"): console.print("[red]Error:[/red] Gemini CLI is required for Gemini projects") agent_tool_missing = True - # GitHub Copilot check is not needed as it's typically available in supported IDEs - + if agent_tool_missing: console.print("\n[red]Required AI tool is missing![/red]") console.print("[yellow]Tip:[/yellow] Use --ignore-agent-tools to skip this check") @@ -976,11 +975,18 @@ def check(): tracker.add("git", "Git version control") tracker.add("claude", "Claude Code CLI") tracker.add("gemini", "Gemini CLI") + tracker.add("code", "VS Code (for GitHub Copilot)") + tracker.add("cursor-agent", "Cursor IDE agent (optional)") # Check each tool git_ok = check_tool_for_tracker("git", "https://git-scm.com/downloads", tracker) claude_ok = check_tool_for_tracker("claude", "https://docs.anthropic.com/en/docs/claude-code/setup", tracker) gemini_ok = check_tool_for_tracker("gemini", "https://github.com/google-gemini/gemini-cli", tracker) + # Check for VS Code (code or code-insiders) + code_ok = check_tool_for_tracker("code", "https://code.visualstudio.com/", tracker) + if not code_ok: + code_ok = check_tool_for_tracker("code-insiders", "https://code.visualstudio.com/insiders/", tracker) + cursor_ok = check_tool_for_tracker("cursor-agent", "https://cursor.sh/", tracker) # Render the final tree console.print(tracker.render())