- 
                Notifications
    
You must be signed in to change notification settings  - Fork 4.7k
 
Add port-from-project-name extension #22312
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
base: main
Are you sure you want to change the base?
Conversation
| 
           Congratulations on your new Raycast extension! 🚀 You can expect an initial review within five business days. Once the PR is approved and merged, the extension will be available on our Store.  | 
    
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.
Greptile Overview
Summary
This PR adds a new extension that generates deterministic 4-digit ports (1000-9999) from project names using MD5 hashing. The implementation is clean and well-structured with two commands: port generation and history management.
Key highlights:
- Deterministic port generation algorithm using MD5 hashing with proper collision acknowledgment
 - History tracking with automatic cleanup (1000 entry limit)
 - Proper use of 
useLocalStoragefrom@raycast/utilsfor persistence - Configuration follows Raycast standards (Prettier, ESLint)
 - Comprehensive documentation and metadata screenshots included
 - Appropriate platform specification for cross-platform compatibility
 
Minor observation:
- One minor casing inconsistency in action labels between the two command files
 
Confidence Score: 5/5
- This PR is safe to merge with minimal risk
 - The extension follows all Raycast guidelines and coding standards. The implementation is straightforward with proper state management, no external dependencies beyond Raycast utilities, and comprehensive documentation. The only item noted is a minor style inconsistency that doesn't affect functionality.
 - No files require special attention
 
Important Files Changed
File Analysis
| Filename | Score | Overview | 
|---|---|---|
| extensions/port-from-project-name/package.json | 5/5 | Clean configuration with proper metadata, dependencies, and platform specification | 
| extensions/port-from-project-name/src/generate-port.tsx | 5/5 | Implements deterministic port generation with history tracking and proper state management | 
| extensions/port-from-project-name/src/view-port-history.tsx | 4/5 | History view with search and management actions; minor inconsistency in action label casing | 
9 files reviewed, 1 comment
… generate-port.tsx Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
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.
Hi 👋
Thanks for your contribution 💪
I have now tested your extension, and I have some feedback ready for you:
- 
Could you add at least one screenshot of the extension and add them to a folder called
metadata- you need to use our tool to get the right padding on the images - 
You can get command arguments directly from raycast-env.d.ts (you don't need to set the interface yourself)
 
I'm looking forward to testing this extension again 🔥
Request a new review when you are ready. Feel free to contact me here or at Slack if you have any questions.
…d of creating its own interface
Description
A extension that generates unique 4-digit ports for your development projects based on the project name.
Features:
Usage:
1. Generate Port
Use the "Generate port" command in Raycast:
Example:
This will generate a consistent port number for the "my-react-app" project.
2. View Port History
Use the "Port History" command to:
How It Works
The extension uses a deterministic algorithm to generate ports:
Port Range: 1000-9999 (4-digit ports commonly used for development)
Important Notes
Privacy
Development
This extension is built with:
License
MIT License - feel free to use and modify as needed.
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder