extensions icon indicating copy to clipboard operation
extensions copied to clipboard

Add try extension

Open wuyuxiangX opened this issue 3 months ago • 5 comments

Description

Screencast

Checklist

wuyuxiangX avatar Dec 02 '25 08:12 wuyuxiangX

Congratulations on your new Raycast extension! :rocket:

Due to our current reduced availability, the initial review may take up to 10-15 business days.

Once the PR is approved and merged, the extension will be available on our Store.

raycastbot avatar Dec 02 '25 08:12 raycastbot

Greptile Summary

This PR adds a new "Try" extension that helps manage ephemeral workspace directories for experiments, porting functionality from the original Ruby CLI tool. The extension allows users to browse, create, and clone git repositories into date-prefixed directories with smart collision handling.

Key changes:

  • New extension with a single "Browse Try Directories" command
  • Supports creating new directories with automatic YYYY-MM-DD prefix
  • Git repository cloning with support for GitHub, GitLab, and other hosts (HTTPS and SSH formats)
  • Smart directory sorting by last access time
  • Proper URL escaping in git clone command using JSON.stringify() (addresses previous security concern)
  • Configurable try directory path via preferences (defaults to ~/src/tries)
  • Includes proper metadata screenshots and follows Raycast extension guidelines

Minor improvements recommended:

  • Use auto-generated Preferences type instead of manual interface definition
  • Replace rmSync() with Raycast's trash() method for safer file deletion

Confidence Score: 4/5

  • This PR is safe to merge with minor style improvements recommended
  • The extension is well-structured and follows Raycast guidelines. The previous command injection vulnerability has been properly addressed with JSON.stringify(). Two minor style issues exist: manual Preferences interface definition (should use auto-generated type) and using rmSync() instead of Raycast's trash() method. These don't affect functionality but should be improved for consistency with Raycast best practices.
  • extensions/try/src/lib/constants.ts and extensions/try/src/components/TryListItem.tsx have minor style improvements to address

Important Files Changed

Filename Overview
extensions/try/src/lib/try-cli.ts Git clone logic with proper URL escaping via JSON.stringify, handles multiple git URI formats
extensions/try/src/components/TryListItem.tsx List item component with delete functionality using rmSync instead of Raycast's trash() method
extensions/try/src/lib/constants.ts Manual Preferences interface defined, which should be auto-generated in raycast-env.d.ts

greptile-apps[bot] avatar Dec 03 '25 08:12 greptile-apps[bot]

@pernielsentikaer I see that Copilot is currently experiencing issues with auditing. How can I resolve this, or is manual intervention necessary?

wuyuxiangX avatar Dec 07 '25 08:12 wuyuxiangX

This pull request has been automatically marked as stale because it did not have any recent activity.

It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊

raycastbot avatar Dec 22 '25 09:12 raycastbot

Has no one handled this PR yet?

wuyuxiangX avatar Dec 23 '25 02:12 wuyuxiangX

This pull request has been automatically marked as stale because it did not have any recent activity.

It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊

raycastbot avatar Jan 07 '26 03:01 raycastbot

1

wuyuxiangX avatar Jan 07 '26 13:01 wuyuxiangX

@greptileai, could you please do a fresh review of this PR?

0xdhrv avatar Jan 07 '26 16:01 0xdhrv

I have already modified this.

wuyuxiangX avatar Jan 13 '26 03:01 wuyuxiangX

Published to the Raycast Store: https://raycast.com/wuyuxiangX/try

github-actions[bot] avatar Jan 15 '26 13:01 github-actions[bot]

:tada: :tada: :tada:

We've rewarded your Raycast account with some credits. You will soon be able to exchange them for some swag.

raycastbot avatar Jan 15 '26 13:01 raycastbot