Skip to content

Conversation

@beautyfree
Copy link

@beautyfree beautyfree commented Jan 30, 2026

Description

Control Yandex Smart Home devices and run scenarios from Raycast.

Screencast

Raycast 2026-01-30 at 20 10 44 yandex-smart-home 2026-01-30 at 20 11 28
yandex-smart-home 2026-01-30 at 20 12 24 yandex-smart-home 2026-01-30 at 20 12 48

Checklist

- feat: codebase
- initial commit
@raycastbot raycastbot added new extension Label for PRs with new extensions platform: macOS labels Jan 30, 2026
@raycastbot
Copy link
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.

@beautyfree beautyfree marked this pull request as ready for review January 30, 2026 16:59
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 30, 2026

Greptile Overview

Greptile Summary

This PR adds a new Yandex Smart Home extension that enables users to control smart home devices and run scenarios directly from Raycast.

Key Features:

  • OAuth 2.0 PKCE authentication with verification code flow
  • Device control with support for on/off, brightness, color temperature, scenes, and RGB/HSV colors
  • Scenario execution for active scenarios
  • Comprehensive device property display (sensors: temperature, humidity, battery, etc.)
  • Well-organized code structure with proper TypeScript typing

Critical Issue:

  • Duplicate clientId preference definition in package.json (lines 30-45) will cause validation errors and prevent the extension from working

Code Quality:

  • Clean separation of concerns (API, auth, commands, utils)
  • Proper error handling with user-friendly messages
  • Follows Raycast extension patterns and conventions
  • Good UX with detailed device information and intuitive controls

Confidence Score: 2/5

  • This PR has a critical syntax error that will prevent the extension from working
  • The duplicate clientId preference definition is a blocking issue that will cause validation errors. Once fixed, the code quality is excellent with proper architecture and error handling.
  • extensions/yandex-smart-home/package.json has a critical duplicate preference definition that must be fixed before merge

Important Files Changed

Filename Overview
extensions/yandex-smart-home/package.json Extension configuration with duplicate preference definition causing validation error
extensions/yandex-smart-home/src/api/oauth.ts Well-structured OAuth PKCE implementation with proper token handling
extensions/yandex-smart-home/src/api/yandex-iot.ts Comprehensive Yandex Smart Home API client with proper typing and helpers
extensions/yandex-smart-home/src/commands/devices.tsx Feature-rich device control with brightness, color, temperature, and scene support
extensions/yandex-smart-home/src/commands/scenarios.tsx Simple scenario execution command with proper error handling

Copy link
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.

4 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 30, 2026

Additional Comments (1)

extensions/yandex-smart-home
Missing required metadata/ folder with screenshots. Extensions with view-type commands must include Raycast-styled screenshots in a metadata/ folder. See: https://developers.raycast.com/basics/prepare-an-extension-for-store#screenshots

Context Used: Rule from dashboard - What: Extensions with view-type commands must include a metadata/ folder containing Raycast-styled... (source)

beautyfree and others added 3 commits January 30, 2026 20:25
- chore: readme
- chore: readme
- chore: readme
- chore: update version to 1.0.1
- chore: readme
- chore: readme
- chore: readme
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
- fix: correct JSON structure in package.json by adding missing closing brace for placeholder field
- Merge branch \'contributions/merge-1769794967630\'
- Pull contributions
- chore: readme
- chore: readme
@beautyfree
Copy link
Author

Hi, @0xdhrv! Sorry to bother you 😊
Is it possible to pay attention to this PR, I want to share it by Monday if everything works out

@0xdhrv 0xdhrv self-assigned this Jan 31, 2026
@0xdhrv
Copy link
Contributor

0xdhrv commented Jan 31, 2026

@greptileai, could you please do a fresh review of this PR?

Copy link
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.

5 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants