Add grammar-fixer extension#27444
Conversation
- Fix Prettier formatting - Rename to Grammar Fixer, add Windows hotkey to docs - chore: removed unused skill lock file - Show toast when fixed text matches original - chore: removed a loading copy - chore: remove success toast - Switch from clipboard to selected text flow - Fix PR review comments - chore: removed unused raycast skill - chore: fixed prettier issues - chore: updated icon - refactor: abstract the helper functions, constants and types for improved code readability - feat: added prompt caching of 5mins - chore: updated icon - chore: fix hard requirements for raycast - chore: added eslint - docs: added icon - docs: fix readme and added metadata - fix: image false positive detection as text - fix: image false positive detection as text - docs: added hotkey instruction - chore: made publish ready - chore: updated copy for raycast AI - feat: added Raycast AI support to use without API Keys - fix: moved preference variables to plugin root - feat: added user instruction field and updated default models to cheapest models for grammar fixups - chore: added 1 more loading msg - feat: added ollama provider - chore: improved error handling - fix: add error handlers - chore: v0 ready - chore: added raycast extension skill
|
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. |
- Resize screenshots to 2000x1250 - chore: updated metadata screenshots
Greptile SummaryThis PR adds a new
Confidence Score: 3/5Not safe to merge without fixing the Ollama API key UX issue — users are forced to enter a meaningless placeholder. One P1 finding:
Important Files Changed
Prompt To Fix All With AIThis is a comment left during a code review.
Path: extensions/grammar-fixer/package.json
Line: 57-61
Comment:
**`apiKey` marked required but unused for Ollama**
`apiKey` is `required: true`, which forces Raycast to block the command until the user fills it in. For Ollama users, `buildModel` replaces their entered value with the hardcoded string `"ollama"`, so the field is completely ignored. The description only mentions Raycast Pro users need a placeholder, leaving Ollama users confused about why they must supply an API key they don't have.
Consider setting `"required": false` and adding a note in the description that Ollama and Raycast AI users can leave this blank.
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/grammar-fixer/src/helpers/cache.ts
Line: 12-14
Comment:
**Cache key size unbounded for large selections**
The key is built from the full text and system prompt verbatim. For a user who selects a large document, this produces a multi-kilobyte cache key. Raycast's `Cache` stores keys in SQLite; very long keys degrade lookup performance and can exceed storage limits. Hashing the inputs (e.g. a simple djb2 or using `crypto.createHash`) would keep keys small and collision-resistant.
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/grammar-fixer/src/fix-grammar.ts
Line: 56-60
Comment:
**Raycast AI path ignores user's model preference**
When `useRaycastAI` is `true`, the model is hardcoded to `AI.Model["OpenAI_GPT-4.1_nano"]` regardless of what the user has set in the `model` preference field. If a Raycast Pro user wants a different model (e.g. a more capable one), their preference is silently ignored. Consider reading `prefs.model` and passing it through, or documenting this limitation.
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/grammar-fixer/src/constants.ts
Line: 9
Comment:
**"english" should be capitalised**
"english" is a proper noun and should always be capitalised to `"English"`.
```suggestion
"Making your English teacher proud…",
```
How can I resolve this? If you propose a fix, please make it concise.Reviews (1): Last reviewed commit: "Update grammar-fixer extension" | Re-trigger Greptile |
|
Fixed all the comments |
- Regenerate raycast-env.d.ts: apiKey required - Restore apiKey as required, clarify Ollama exception in description
- Fix OpenRouter base URL not applied when customBaseURL is empty string - fix: temp to 0 for least creativity
|
@raycastbot review again |
Description
Grammar Fixer fixes grammar, spelling, and punctuation of selected text in-place using an LLM — no copy-paste needed, no context switch.
How it works:
Cmd+Shift+Gon macOS,Ctrl+Shift+Gon Windows)If the text is already correct, a toast notifies the user — nothing is pasted.
Supported providers:
Features:
getSelectedText()— no clipboard interaction requiredScreencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder