-
Notifications
You must be signed in to change notification settings - Fork 2.2k
feat: add Windsurf AI support #151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
specify init my-project --ai claude | ||
specify init my-project --ai gemini | ||
specify init my-project --ai copilot --no-git | ||
specify init my-project --ai windsurf |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 733 onwards: The elif block should have windsurf check as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sorry, but I don't get your point. Could you explain more precisely please ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The cli checks for the existence of tools before initialising them: https://github.com/github/spec-kit/pull/151/files#diff-8e3e8dfe8740d05f4d06dd457ea293ec88ac0ecc9bba6eb182f0f767db67ce9eR733-R748
You need to add the check_tool
call to include Windsurf
# Check agent tools unless ignored
if not ignore_agent_tools:
agent_tool_missing = False
if selected_ai == "claude":
...
elif selected_ai == "windsurf":
if not check_tool("windsurf", "Install from: https://windsurf.com/download"):
console.print("[red]Error:[/red] Windsurf IDE is required for Windsurf projects")
agent_tool_missing = True
...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as stated in the README.md "The CLI will check if you have Claude Code or Gemini CLI installed." and this means it checks only the CLI commands not the IDEs like VSCode (used by Github Copilot).
If we change this, we need to do the same thing for VSCode for Github Copilot.
@raedkit also just cross-checking, but do these commands actually work with Windsurf? Their documentation is a bit ambiguous, stating that slash commands are not supported, but I also see that you're packing yours in workflows, which seem to be working fine. |
It's working fine, but the issue is that Windsurf have its own plan file. Which means that there's an ephemeral memory that I'm unable to modify which remind him each while to check its plan and not tasks.md. But it works .. |
Tagging this as |
@localden Fellow Windsurf user here, I'm happy to verify if you'd like? |
specify init my-project --ai claude | ||
specify init my-project --ai gemini | ||
specify init my-project --ai copilot --no-git | ||
specify init my-project --ai windsurf |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The cli checks for the existence of tools before initialising them: https://github.com/github/spec-kit/pull/151/files#diff-8e3e8dfe8740d05f4d06dd457ea293ec88ac0ecc9bba6eb182f0f767db67ce9eR733-R748
You need to add the check_tool
call to include Windsurf
# Check agent tools unless ignored
if not ignore_agent_tools:
agent_tool_missing = False
if selected_ai == "claude":
...
elif selected_ai == "windsurf":
if not check_tool("windsurf", "Install from: https://windsurf.com/download"):
console.print("[red]Error:[/red] Windsurf IDE is required for Windsurf projects")
agent_tool_missing = True
...
@raedkit can you please incorporate the change suggestion from @adam-paterson? Also, please refresh your codebase with the latest |
Yep, thanks @raedkit - I'm making sure to reference your contribution in the changelog. |
Description
This PR updates the release process to include a dedicated Windsurf package and modifies the CLI to use it directly, maintaining strict parity with the Copilot flow.
Key Changes
Release Process:
sdd-windsurf-package
build in both release.yml and manual-release.yml.windsurf/workflows/
with the necessary workflow filesspec-kit-template-windsurf-<version>.zip
in GitHub ReleasesCLI Updates:
--ai windsurf
is used