Add ai-status-check extension - #30152
Conversation
- docs: add Store screenshots - refactor: standardize provider status integrations - feat: add AI provider status extension
|
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 15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
Greptile SummaryThe PR adds a Raycast command that retrieves, caches, and presents service-health data for 18 AI providers.
Confidence Score: 4/5The PR is not yet safe to merge because running the required build before publishing makes the new store check reject the generated The stale-refresh and missing-helper issues have been addressed, but the package's build and validation scripts now conflict: the build creates Files Needing Attention: extensions/ai-status-check/tests/support/check-store-assets.ts and extensions/ai-status-check/package.json Important Files Changed
Prompt To Fix All With AI### Issue 1
extensions/ai-status-check/tests/support/check-store-assets.ts:62-64
**Build Output Blocks Publishing**
When a contributor runs `npm run build` before `npm run publish`, the build creates `dist`, but the publish prerequisite treats that directory as forbidden and stops before invoking Raycast's publisher.
```suggestion
for (const forbiddenPath of [".firecrawl", ".test-dist", "docs", "scripts"]) {
if (await exists(forbiddenPath)) errors.push(`Development-only path must not be packaged: ${forbiddenPath}`);
}
```
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (4): Last reviewed commit: "docs: clarify AI provider status scope" | Re-trigger Greptile |
- fix: make Store checks portable and order refreshes - fix: normalize xAI operational status
Similar extensions already in the StoreAutomated first pass. Overlap is not a blocker on its own, but the README should make the difference clear.
|
|
Thanks for flagging these. I’ve updated the extension title to AI Provider Status and expanded the README to make its scope and differences clearer. AI Usage Tracker tracks premium-request usage, while AI Stats provides AI model statistics. AI Provider Status does neither—it checks providers’ published operational health, components, and incidents. Is It Alive? has the closest functional overlap, but its workflow is different: it is a general-purpose monitor where users add and maintain status-page URLs. AI Provider Status is purpose-built for AI services and ships with a curated catalog of 18 provider integrations. Users simply select the providers they use in Raycast preferences, with no URLs to find, detect, or maintain. We intend to keep that curated, AI-provider-specific focus rather than add general custom status pages. |
| for (const forbiddenPath of [".firecrawl", ".test-dist", "dist", "docs", "scripts"]) { | ||
| if (await exists(forbiddenPath)) errors.push(`Development-only path must not be packaged: ${forbiddenPath}`); | ||
| } |
There was a problem hiding this comment.
Build Output Blocks Publishing
When a contributor runs npm run build before npm run publish, the build creates dist, but the publish prerequisite treats that directory as forbidden and stops before invoking Raycast's publisher.
| for (const forbiddenPath of [".firecrawl", ".test-dist", "dist", "docs", "scripts"]) { | |
| if (await exists(forbiddenPath)) errors.push(`Development-only path must not be packaged: ${forbiddenPath}`); | |
| } | |
| for (const forbiddenPath of [".firecrawl", ".test-dist", "docs", "scripts"]) { | |
| if (await exists(forbiddenPath)) errors.push(`Development-only path must not be packaged: ${forbiddenPath}`); | |
| } |
Knowledge Base Used: Extension Authoring Conventions
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/ai-status-check/tests/support/check-store-assets.ts
Line: 62-64
Comment:
**Build Output Blocks Publishing**
When a contributor runs `npm run build` before `npm run publish`, the build creates `dist`, but the publish prerequisite treats that directory as forbidden and stops before invoking Raycast's publisher.
```suggestion
for (const forbiddenPath of [".firecrawl", ".test-dist", "docs", "scripts"]) {
if (await exists(forbiddenPath)) errors.push(`Development-only path must not be packaged: ${forbiddenPath}`);
}
```
**Knowledge Base Used:** [Extension Authoring Conventions](https://app.greptile.com/raycast/-/custom-context/knowledge-base/raycast/extensions/-/docs/extension-authoring-conventions.md)
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Description
Adds AI Status, a single Raycast command for checking the official service health of 18 common AI providers on macOS and Windows.
Check every provider at a glance
The main list groups providers by health and category, shows each provider's published status, and highlights active incidents. Providers can be enabled or disabled from the extension preferences.
Review incidents and their updates
Open a provider to see active and recently resolved incidents. Selecting an incident shows its published update timeline, while the action menu links back to the official status page.
Inspect component health
Provider detail pages preserve the source status page's component organization. Component groups stay compact in the main view and can be opened to inspect individual services.
The extension uses unauthenticated public status sources, shows cached results immediately while refreshing providers independently, and requires no provider credentials or extension-specific backend.
Checklist
npm run buildand tested the distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder