Skip to content

Conversation

@punitarani
Copy link

@punitarani punitarani commented Dec 23, 2025

Description

Orle - Developer Tools Hub

Access 50+ local-first utilities for encoding, formatting, and automation used frequently by developers.

Screencast

orle-raycast-demo.mov

Checklist

- Fix raycast publish
- Add Raycast extension with tool registry and UI components. Implement scripts for development, build, and linting. Include tool metadata and transform functions for various developer tools. Create initial project structure with TypeScript configuration and assets.
- Enhance tool page functionality by implementing loading states and initial input handling. Introduce `ToolPageLoading` component for better user experience during data fetching. Update `ToolPageClient` to parse URL parameters for initial input and options, and modify `useTool` hook to support these initial values. Add shared tool metadata for improved organization and compatibility across tools.
- Improve AppSidebar to enhance navigation with updated collapsible menu structure and replace ChevronDown icon with ChevronRight for improved UX. Introduce SidebarMenuSub components for better organization of tools within sections.
- Refactor image and tool components to streamline functionality and improve code organization. Remove unused clipboard and download functionalities from ImageToolOutput and ToolOutput. Introduce OutputActions component for handling copy and download actions in ToolPage. Enhance ToolInput with ref forwarding for better file management. Update useTool hook to include clearFile functionality for managing file state.
- Add initial IDE configuration files, including .gitignore, module settings, and VCS mappings for project management.
- Configure Next.js for full static export by adding `output: \'export\'` in `next.config.ts` and implement static parameters in dynamic route for pre-rendering tool pages.
- Add comprehensive UI/UX improvements across tool pages, including new components for image previews, dual input for diffs, and color output. Enhance mobile responsiveness, loading states, and toast notifications. Update type definitions and tool sections for structured outputs.
- Refactor AppSidebar layout and enhance UI with logo and GitHub link; remove unused components
- Create vercel.json
- Update favicon
- Add tools registry, UI, and new sections with layout updates
- Add shadcn components and utility functions; update dependencies and styles
- Initial commit from Create Next App
@raycastbot raycastbot added the new extension Label for PRs with new extensions label Dec 23, 2025
@raycastbot
Copy link
Collaborator

Congratulations on your new Raycast extension! 🚀

Due to our current reduced availability, 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.

- Update Raycast tool metadata and enhance build process
- Update next.js build to prefer SSG
- Enhance JSON visualization components and layout options
- Add JSON visualization tools and enhance dual input functionality
- Set up vercel analytics
- Refactor conversation scroll components and enhance textarea functionality
- Refactor error handling and enhance UI components for tool pages
- Enhance tool definition validation and error handling
- Implement tool search and suggestion functionality
- Add \'Image to ICO\' tool for converting images to multi-size .ico files
- Refactor DiffOutput component to improve diff line tracking and rendering
- Update logo
- Add new dependencies and enhance DiffOutput component
- Enhance tool functionality and add new features
- Add tool manifest generation and refactor tool registry
- Update HomePage styling for improved visual consistency
- Update README.md
- Enhance layout and home page features with new components and styling updates
- Refactor message length validation to handle message parts and improve prompt injection detection
- Add streamdown integration for enhanced message rendering in tool generation
- Implement security enhancements in tool generation by adding prompt injection detection and restricted content checks. Introduce runtime testing for generated tools and update validation logic to ensure compliance with security standards. Enhance user input handling with character count display and mobile tab navigation for improved user experience.
- Add HoverCard component to AppSidebar for client-side processing information
- Refactor prompt-input component to standardize string quotes and improve code consistency. Update error messages and state management for better readability and maintainability.
- Update logo
- Enhance tool generation and validation features by adding new API routes and components. Introduce a new `ToolGeneratePage` for user interaction, allowing for the creation and testing of custom tools. Implement static analysis for security checks and improve UI components for better user experience. Update package dependencies to include `use-stick-to-bottom` for improved conversation scrolling functionality.
- Add onClick handler to SidebarMenuSubButton for mobile sidebar behavior
- Refactor RootLayout to manage sidebar state based on cookie value for improved user experience. Update ToolOptions component for better mobile-first design and enhance layout of options. Adjust Switch component for consistent styling and functionality across devices.
- Remove temperature settings from tool generation and validation routes, and refactor AI model creation to utilize a new ModelConfig type for improved configuration management.
- Update maxDuration for streaming responses in tool generation and validation routes from 60 seconds to 5 minutes and from 30 seconds to 3 minutes, respectively, to enhance performance.
- Refactor AI model creation to support conditional DevTools middleware. Update API routes for tool generation and validation to use the new model function. Change DevTools dashboard command from `npx` to `bun` for consistency.
- Refactor CustomToolPage to handle tool options and examples with improved null value management. Introduce helper functions to convert nulls to undefined for better compatibility with existing types.
- Update placeholder handling in CustomToolPage to use undefined for null values, enhancing input and output field behavior.
- Update SidebarProvider to control initial open state based on cookie value. Set default open state to true in layout component for improved user experience.
- Refactor tool option schema to use nullable types and improve validation logic. Update static analysis for number options to handle null values correctly. Enhance example schema with nullable fields for better flexibility in tool definitions.
- Add AI tool generation and validation features.
- Fix mobile search bar zoom
- Refactor: Improve command search item layout and spacing
- Refactor: Adjust command search input text size
- Enhance CommandSearch component with improved search results display and keyboard navigation. Introduce a close button and overlay for better user experience. Update SidebarProvider to control initial open state. Modify HeaderSidebarTrigger to show on mobile regardless of sidebar state.
- Add raycast to .vercelignore
@punitarani punitarani marked this pull request as ready for review December 25, 2025 20:05
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Dec 25, 2025

Greptile Summary

This PR adds the Orle extension, a comprehensive developer tools hub providing 100+ local-first utilities for encoding, formatting, hashing, and other common developer tasks. The extension uses a runtime loader pattern to dynamically import tool sections (encoding, crypto, colors, etc.) and merges them with generated metadata. The implementation includes proper error handling, Web Crypto API usage, and auto-copy functionality for quick workflows.

Key implementation highlights:

  • Dynamic tool loading with lazy imports for performance
  • Shared runtime between web and Raycast with Node-safe shims
  • Generated metadata from sync script keeps tools in sync with web app
  • Proper TypeScript typing and error boundaries throughout

Critical issue:

  • Missing required metadata/ folder with screenshots for the view-type command (violates extension store requirements)

Confidence Score: 2/5

  • Cannot be merged due to missing required metadata folder
  • The code quality is excellent with proper error handling, type safety, and well-structured architecture. However, the extension violates a critical store requirement by missing the metadata folder with screenshots, which is mandatory for new extensions with view-type commands. This must be addressed before the extension can be published.
  • The extension root needs a metadata/ folder with Raycast-styled screenshots before this can be merged

Important Files Changed

Filename Overview
extensions/orle/package.json Added extension configuration with proper dependencies and metadata
extensions/orle/CHANGELOG.md Changelog follows proper format with {PR_MERGE_DATE} placeholder
extensions/orle/src/search-tools.tsx Main command interface with proper search and list functionality
extensions/orle/src/components/tool-form.tsx Dynamic tool form component with proper state management and auto-copy functionality
extensions/orle/src/runtime/loader.ts Runtime loader with dynamic imports and metadata merging
extensions/orle/src/runtime/sections/crypto.ts Cryptographic tools with proper Web Crypto API usage and error handling
extensions/orle/src/runtime/sections/colors.ts Color conversion and contrast tools using culori library
extensions/orle/src/runtime/sections/encoding.ts URL, HTML, and Unicode encoding/decoding utilities 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.

Additional Comments (1)

  1. extensions/orle/package.json, line 1-22 (link)

    logic: Missing metadata folder with screenshots. New extensions with view-type commands require a metadata/ folder with properly styled screenshots matching Raycast's visual standards. See: https://developers.raycast.com/basics/prepare-an-extension-for-store#screenshots

    What: New extens... (source)

    Context Used: Rule from dashboard - # Code Review Rule: Metadata Images for New Extensions with View-Type Commands

33 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@raycastbot
Copy link
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 status: stalled Stalled due inactivity and removed status: stalled Stalled due inactivity labels Jan 10, 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants