Skip to content

Add english-conjugation extension#27298

Open
younesbenallal wants to merge 2 commits intoraycast:mainfrom
younesbenallal:ext/english-conjugation
Open

Add english-conjugation extension#27298
younesbenallal wants to merge 2 commits intoraycast:mainfrom
younesbenallal:ext/english-conjugation

Conversation

@younesbenallal
Copy link
Copy Markdown

@younesbenallal younesbenallal commented Apr 20, 2026

Description

Adds a new Raycast extension, english-conjugation, that helps users quickly look up essential English verb forms in a minimal interface.

What it does:

  • Lets the user type an English infinitive in the search bar
  • Shows the essential forms: infinitive, third-person singular, simple past, past participle, and present participle
  • Includes lightweight usage notes in the detail pane
  • Includes common collocations for supported verbs
  • Supports copy actions for a single form, all forms, and collocations when available

Store-prep work included in this submission:

  • Added extension icon and metadata screenshot
  • Resized the screenshot to the recommended store dimensions
  • Added README and CHANGELOG
  • Validated the extension with npm run lint and npm run build

Screencast

A screenshot is included in the metadata folder for this straightforward single-command extension.

Checklist

@raycastbot raycastbot added new extension Label for PRs with new extensions platform: macOS labels Apr 20, 2026
@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.

@younesbenallal younesbenallal marked this pull request as ready for review April 20, 2026 10:19
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 20, 2026

Greptile Summary

This PR adds a new english-conjugation Raycast extension that lets users look up essential English verb forms (infinitive, third-person singular, simple past, past participle, present participle) along with common collocations via a clean list/detail UI. The overall structure, Prettier config, package.json schema, and dependency usage are all correct. The three remaining findings are P2 quality suggestions: a missing {PR_MERGE_DATE} placeholder in the changelog, a manually defined Arguments type that should be auto-generated, and a missing error guard around the eng-verber conjugate() call.

Confidence Score: 5/5

Safe to merge after addressing the changelog date placeholder; all other findings are minor style suggestions

All findings are P2 — no correctness, data-integrity, or security issues were found. The extension is well-structured with proper Raycast conventions followed.

CHANGELOG.md (missing date placeholder) and src/conjugate-verb.tsx (manual Arguments type)

Important Files Changed

Filename Overview
extensions/english-conjugation/CHANGELOG.md Missing the required {PR_MERGE_DATE} placeholder and uses "Initial Version" instead of "Initial Release"
extensions/english-conjugation/src/conjugate-verb.tsx Main command view; manually defines an Arguments type that should be auto-generated in raycast-env.d.ts
extensions/english-conjugation/src/conjugation.ts Core conjugation logic using eng-verber; missing error handling around the conjugate() call for unexpected inputs
extensions/english-conjugation/src/collocations.ts Static collocations lookup map; no issues found
extensions/english-conjugation/package.json Well-formed package.json with $schema, correct platforms, all dependencies used in source
extensions/english-conjugation/.prettierrc Correctly uses printWidth: 120 and singleQuote: false per Raycast standard
extensions/english-conjugation/src/eng-verber.d.ts Type declaration for untyped eng-verber module; covers all fields used by the extension
Prompt To Fix All With AI
This is a comment left during a code review.
Path: extensions/english-conjugation/CHANGELOG.md
Line: 3

Comment:
**Missing `{PR_MERGE_DATE}` placeholder**

The changelog entry is missing the required date placeholder and uses "Initial Version" instead of the conventional "Initial Release". Per Raycast convention, the date is auto-populated on merge — omitting it means the release will have no date in the store.

```suggestion
## [Initial Release] - {PR_MERGE_DATE}
```

**Rule Used:** What: In Raycast extension changelogs, `{PR_MERGE_... ([source](https://app.greptile.com/review/custom-context?memory=799af734-ebd9-4b40-9ffd-97a70fc71c8a))

How can I resolve this? If you propose a fix, please make it concise.

---

This is a comment left during a code review.
Path: extensions/english-conjugation/src/conjugate-verb.tsx
Line: 5-7

Comment:
**Manually defined `Arguments` type**

Command argument interfaces are auto-generated in `raycast-env.d.ts` when the extension runs. Manually defining `Arguments` here can go out of sync with the actual `package.json` argument declaration and creates a maintenance burden.

Remove this manual definition and rely on the generated type instead:

```suggestion
```

**Rule Used:** What: Don't manually define `Preferences` for `get... ([source](https://app.greptile.com/review/custom-context?memory=d93fc9fb-a45d-4479-a6a4-b1b4af98ebc8))

How can I resolve this? If you propose a fix, please make it concise.

---

This is a comment left during a code review.
Path: extensions/english-conjugation/src/conjugation.ts
Line: 34-36

Comment:
**No error handling around `conjugate()`**

The `eng-verber` library is called directly without a try/catch. If the library throws for unexpected inputs (e.g. numeric strings, punctuation, very long tokens), the entire command will crash with an unhandled error rather than showing an empty state. Wrapping this call in a try/catch and returning `[]` on failure would make the extension more resilient.

How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "Prepare Raycast store submission" | Re-trigger Greptile

@@ -0,0 +1,7 @@
# Changelog

## [Initial Version]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Missing {PR_MERGE_DATE} placeholder

The changelog entry is missing the required date placeholder and uses "Initial Version" instead of the conventional "Initial Release". Per Raycast convention, the date is auto-populated on merge — omitting it means the release will have no date in the store.

Suggested change
## [Initial Version]
## [Initial Release] - {PR_MERGE_DATE}

Rule Used: What: In Raycast extension changelogs, `{PR_MERGE_... (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/english-conjugation/CHANGELOG.md
Line: 3

Comment:
**Missing `{PR_MERGE_DATE}` placeholder**

The changelog entry is missing the required date placeholder and uses "Initial Version" instead of the conventional "Initial Release". Per Raycast convention, the date is auto-populated on merge — omitting it means the release will have no date in the store.

```suggestion
## [Initial Release] - {PR_MERGE_DATE}
```

**Rule Used:** What: In Raycast extension changelogs, `{PR_MERGE_... ([source](https://app.greptile.com/review/custom-context?memory=799af734-ebd9-4b40-9ffd-97a70fc71c8a))

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +5 to +7
type Arguments = {
verb?: string;
};
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Manually defined Arguments type

Command argument interfaces are auto-generated in raycast-env.d.ts when the extension runs. Manually defining Arguments here can go out of sync with the actual package.json argument declaration and creates a maintenance burden.

Remove this manual definition and rely on the generated type instead:

Suggested change
type Arguments = {
verb?: string;
};

Rule Used: What: Don't manually define Preferences for `get... (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/english-conjugation/src/conjugate-verb.tsx
Line: 5-7

Comment:
**Manually defined `Arguments` type**

Command argument interfaces are auto-generated in `raycast-env.d.ts` when the extension runs. Manually defining `Arguments` here can go out of sync with the actual `package.json` argument declaration and creates a maintenance burden.

Remove this manual definition and rely on the generated type instead:

```suggestion
```

**Rule Used:** What: Don't manually define `Preferences` for `get... ([source](https://app.greptile.com/review/custom-context?memory=d93fc9fb-a45d-4479-a6a4-b1b4af98ebc8))

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +34 to +36
if (!infinitive) {
return [];
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 No error handling around conjugate()

The eng-verber library is called directly without a try/catch. If the library throws for unexpected inputs (e.g. numeric strings, punctuation, very long tokens), the entire command will crash with an unhandled error rather than showing an empty state. Wrapping this call in a try/catch and returning [] on failure would make the extension more resilient.

Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/english-conjugation/src/conjugation.ts
Line: 34-36

Comment:
**No error handling around `conjugate()`**

The `eng-verber` library is called directly without a try/catch. If the library throws for unexpected inputs (e.g. numeric strings, punctuation, very long tokens), the entire command will crash with an unhandled error rather than showing an empty state. Wrapping this call in a try/catch and returning `[]` on failure would make the extension more resilient.

How can I resolve this? If you propose a fix, please make it concise.

@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 May 4, 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 status: stalled Stalled due inactivity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants