Skip to content

Add windsurf-recent-projects extension #18947

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

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions extensions/windsurf-recent-projects/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
dist
13 changes: 13 additions & 0 deletions extensions/windsurf-recent-projects/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"root": true,
"settings": {
"react": {
"version": "detect"
}
},
"extends": [
"plugin:react/recommended",
"plugin:react/jsx-runtime",
"@raycast"
]
}
10 changes: 10 additions & 0 deletions extensions/windsurf-recent-projects/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules

# Raycast specific files
raycast-env.d.ts

# misc
.DS_Store
4 changes: 4 additions & 0 deletions extensions/windsurf-recent-projects/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"printWidth": 120,
"singleQuote": false
}
22 changes: 22 additions & 0 deletions extensions/windsurf-recent-projects/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Cursor Changelog

## [Updated README] - 2025-02-26

## [Git Branch] - 2025-02-14

- Display the current Git branch for recent projects in `Search Recent Projects` command as in [VSCode](https://www.raycast.com/thomas/visual-studio-code) extension

## [Documentations] - 2024-10-15

- Correct extension title in readme and changelog
- Add extension slogan below the title
- Add a badge for the Raycast Cross-Extension Conventions
- Add documentation for the Cross-Extension usage

## [Features] - 2024-10-11

- Add integration with [Cursor Directory](https://www.raycast.com/escwxyz/cursor-directory)

## [Initial Version] - 2024-09-25

- Add similar [VSCode](https://www.raycast.com/thomas/visual-studio-code) commands for Cursor
90 changes: 90 additions & 0 deletions extensions/windsurf-recent-projects/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Windsurf


> [!WARNING]
> ## **Note:** This project is a fork of the [Raycast Cursor Extension][raycast-cursor-extension-link], adapted to work with Windsurf instead of Cursor.

Control Windsurf directly from Raycast

[![raycast-cross-extension-badge]][raycast-cross-extension-link]

![Cursor screenshot](./metadata/cursor-1.png)

## What is this extension

- Search Windsurf Recent Projects
- Use `Open With Windsurf` command
- Use `Open New Window` command
- Show Installed Extensions list
- Search & Install Extension from VSCode Marketplace
- Reach and search the Windsurf Documentation in an instant right from Raycast without any hassle.

## API

This extensions follows [Raycast Cross-Extension Conventions][raycast-cross-extension-link].

You can use `crossLaunchCommand` to use its result.

### Launch Context Options

#### `cursorDirectory`

This parameter is designed for the [Cursor Directory](https://raycast.com/escwxyz/cursor-directory) extension.

Type: `{ruleContent: string; replace?: boolean}`

- `ruleContent` is required for this feature.
- `replace` default to `true`. It determines whether to replace or append rule content.

### Launch Example

```js
import { open } from "@raycast/api";
import { corssLaunchCommand } from "raycast-cross-extension";

await crossLaunchCommand({
name: "index",
extensionName: "cursor-recent-projects",
ownerOrAuthorName: "degouville",
type: LaunchType.UserInitiated,
context: {
cursorDirectory: {
ruleContent: "foo bar",
replace: false,
},
},
}).catch(() => {
// Open the store page if the extension is not installed
open("raycast://extensions/degouville/cursor-recent-projects");
});
```

## How to add to the extension

### Bugs and suggestions

Suggestions are always welcome and can be added [via Github Issues](<https://github.com/raycast/extensions/issues/new?title=%5BCursor%5D+...&template=extension_bug_report.yml&labels=extension,bug&extension-url=https://www.raycast.com/degouville/cursor-recent-projects&body=%0A%3C!--%0APlease+update+the+title+above+to+consisely+describe+the+issue%0A--%3E%0A%0A%2523%2523%2523+Extension%0A%0Ahttps://raycast.com/%2523%7Bextension_path(extension)%7D%0A%0A%2523%2523%2523+Description%0A%0A%3C!--%0APlease+provide+a+clear+and+concise+description+of+what+the+bug+is.+Include+screenshots+if+needed.+Please+test+using+the+latest+version+of+the+extension,+Raycast+and+API.%0A--%3E%0A%0A%2523%2523%2523+Steps+To+Reproduce%0A%0A%3C!--%0AYour+bug+will+get+fixed+much+faster+if+the+extension+author+can+easily+reproduce+it.+Issues+without+reproduction+steps+may+be+immediately+closed+as+not+actionable.%0A--%3E%0A%0A1.+In+this+environment...%0A2.+With+this+config...%0A3.+Run+%27...%27%0A4.+See+error...%0A%0A%2523%2523%2523+Current+Behavior%0A%0A%2523%2523%2523+Expected+Behavior%0A%0A>)

### Development

```bash
# To install dependencies
bun i

# To start the local development server
bun run dev
```

All documentation items are defined in `src/data/docs.ts`. You can add new items there, types and IntelliSense supported. Each documentation item can have it's own display`title`, `url`, `icon` and `keywords`. Only the title is required.

```bash
# To lint and fix
bun run fix-lint

# To locally build the extension
bun run build
```

[raycast-cross-extension-badge]: https://shields.io/badge/Raycast-Cross--Extension-eee?labelColor=FF6363&logo=raycast&logoColor=fff&style=flat-square
[raycast-cross-extension-link]: https://github.com/LitoMore/raycast-cross-extension-conventions
[raycast-cursor-extension-link]: https://github.com/raycast/extensions/tree/main/extensions/cursor-recent-projects
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading