Skip to content

Add identify-phone-utils extension#25935

Closed
degouville wants to merge 2 commits intoraycast:mainfrom
degouville:ext/identify-phone-utils
Closed

Add identify-phone-utils extension#25935
degouville wants to merge 2 commits intoraycast:mainfrom
degouville:ext/identify-phone-utils

Conversation

@degouville
Copy link
Copy Markdown
Contributor

@degouville degouville commented Mar 1, 2026

Description

Phone Number Utils is a zero-dependency extension for working with international phone numbers. No accounts, no API calls/keys needed.

It ships 6 commands:

View commands (pre-fill from selected text, fallback to clipboard):

  • Identify Phone Country — paste or type any number to instantly see its country flag,
    name, and dial code
  • Format Phone Number — shows the same number in four formats side by side: E.164, US
    (XXX) XXX-XXXX, RFC 3966, and digits-only
  • Extract Phone Numbers — finds every phone number in a block of text (clipboard or
    selection), with country identification for each
  • Look Up Country Code — search ~230 countries by name or dial code; sorted by relevance

Background commands (no UI, act on clipboard directly):

  • Format as US Number — rewrites clipboard as (XXX) XXX-XXXX, pastes result
  • Remove Formatting — strips all spaces, dashes, and parentheses from clipboard number

Screencast

identify-phone-utils-1 identify-phone-utils-2 identify-phone-utils-3

Checklist

[x] I read the https://developers.raycast.com/basics/prepare-an-extension-for-store
[x] I read the https://developers.raycast.com/basics/publish-an-extension
[x] I ran npm run build and https://developers.raycast.com/basics/prepare-an-extension-for-store#metadata-and-configuration
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

- docs(changelog): rewrite to Keep a Changelog format
- chore: remove owner field and fix whitespace
- fix(format-phone-number): remove duplicate value shown in subtitle
- fix: consistent error handling across all commands
- chore: prepare extension for store publishing
- chore: replace extension icon with 512x512 phone icon
- fix: remove duplicate dial code from lookup list subtitle
- feat: add 3 new commands and complete existing stubs
- Initial commit
@raycastbot
Copy link
Copy Markdown
Collaborator

Congratulations on your new Raycast extension! 🚀

We're currently experiencing a high volume of incoming requests. As a result, 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.

@degouville degouville marked this pull request as ready for review March 1, 2026 11:56
@degouville
Copy link
Copy Markdown
Contributor Author

what-do-you-think-gif

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 1, 2026

Greptile Summary

This PR adds a new zero-dependency phone number utility extension with 6 commands for identifying, formatting, and extracting international phone numbers. The implementation is clean and follows all Raycast extension guidelines.

Key highlights:

  • Implements ITU-T E.164 compliant phone number parsing with ~230 country prefixes
  • Uses correct longest-prefix-wins matching for NANP countries
  • All commands properly handle selected text fallback to clipboard with appropriate error handling
  • Configuration files follow standard Raycast patterns (Prettier, ESLint, CHANGELOG)
  • Previous feedback addressed: categories changed from Security to Communication/Developer Tools
  • No external dependencies or API calls required

Confidence Score: 5/5

  • This PR is safe to merge with no issues found
  • All code follows Raycast extension best practices, configuration files are correct, logic is sound with proper error handling, and previous review feedback has been addressed
  • No files require special attention

Important Files Changed

Filename Overview
extensions/identify-phone-utils/package.json Configuration correctly defines 6 commands with appropriate categories (Communication, Developer Tools) and proper platform support
extensions/identify-phone-utils/src/utils/phone.ts Core utility functions implement ITU-T E.164 compliant phone number parsing with comprehensive country prefix data (~230 entries) and correct longest-prefix-wins matching
extensions/identify-phone-utils/src/identify-phone-country.tsx Properly implements selected text fallback to clipboard with error handling and displays country identification results
extensions/identify-phone-utils/src/format-phone-number.tsx Displays phone numbers in multiple formats (E.164, US, RFC 3966, digits-only) with proper null handling
extensions/identify-phone-utils/src/extract-phone-numbers.tsx Extracts and identifies phone numbers from text blocks with country detection and proper empty state handling
extensions/identify-phone-utils/.prettierrc Follows standard Raycast Prettier configuration (printWidth: 120, singleQuote: false)
extensions/identify-phone-utils/eslint.config.js Correctly imports defineConfig from eslint/config and spreads Raycast ESLint config

Last reviewed commit: 05423f7

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

17 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Copy link
Copy Markdown
Collaborator

@pernielsentikaer pernielsentikaer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @degouville 👋

Could you look into feedback from Greptile?


I converted this PR into a draft until it's ready for the review, please press the button Ready for review when it's ready and we'll have a look 😊

@pernielsentikaer pernielsentikaer marked this pull request as draft March 1, 2026 20:42
- chore: add store metadata screenshots
- fix: rename remove-formatting command and drop Security category
@degouville
Copy link
Copy Markdown
Contributor Author

here-we-go-again-gif

@degouville degouville marked this pull request as ready for review March 2, 2026 05:28
@degouville
Copy link
Copy Markdown
Contributor Author

all done @pernielsentikaer

waiting for @greptile-apps wisdom

@pernielsentikaer
Copy link
Copy Markdown
Collaborator

pernielsentikaer commented Mar 6, 2026

@degouville it's somehow already possible in the search country, isn't it?

country-lookup 2026-03-06 at 13 55 05

Maybe it could live in that to make it even better?

@degouville
Copy link
Copy Markdown
Contributor Author

@degouville it's somehow already possible in the search country, isn't it?

I hadn't considered looking for "search country" in the store for phone numbers.

Eventually could it be renamed it from "Country Lookup" to "Phone Number Lookup"?

I need something memorable for every time I see a phone numbers

@pernielsentikaer
Copy link
Copy Markdown
Collaborator

Would you be up for improving the current, only thing missing might be that you can search for full phone number?

@pernielsentikaer pernielsentikaer marked this pull request as draft March 8, 2026 18:20
@pernielsentikaer pernielsentikaer self-assigned this Mar 8, 2026
@degouville
Copy link
Copy Markdown
Contributor Author

degouville commented Mar 9, 2026

Would you be up for improving the current, only thing missing might be that you can search for full phone number?

I'm fine with improving the existing but I also believe a key missing element is that the "Country Lookup" feature provides no indication that it helps with phone number identification

Is it ok to update the name and icon of Country Lookup ?

I think the current name is misleading

(I know we can use aliases as a quick fix, but it would really help since Country Lookup doesn't show up right now when you're searching for things like the Phone Utils extension)

Screenshot 2026-03-09 at 10 05 49

Screenshot 2026-03-09 at 10 09 10_bordered

@degouville degouville marked this pull request as ready for review March 11, 2026 11:33
@pernielsentikaer
Copy link
Copy Markdown
Collaborator

We can also update the description and keywords in package.json - could that work?

@raycastbot
Copy link
Copy Markdown
Collaborator

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 raycastbot added the status: stalled Stalled due inactivity label Mar 30, 2026
@raycastbot
Copy link
Copy Markdown
Collaborator

This pull request has been automatically closed due to inactivity.

Feel free to comment in the thread when you're ready to continue working on it 🙂

You can also catch us in Slack if you want to discuss this.

@raycastbot raycastbot closed this Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new extension Label for PRs with new extensions platform: macOS platform: Windows status: stalled Stalled due inactivity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants