Skip to content

Conversation

@easymikey
Copy link

@easymikey easymikey commented Nov 25, 2025

Description

This extension adds a new Disk Usage command that helps users analyze disk space usage and identify large files and folders in their home directory. It provides a visual interface to navigate through directories, view file sizes with usage bars, and manage disk space by deleting files directly from Raycast.

Key Features

  • Disk Space Analysis: Scans the home directory using the du command to identify large files and folders (files > 1MB)
  • Visual Size Indicators: Displays file sizes with visual usage bars for quick size comparison
  • Folder Navigation: Uses Raycast's native Action.Push navigation to browse through directories
  • File Management: Delete files and folders directly from the extension (moves to Trash)
  • Bulk Operations: Select multiple items (⌘S) for batch deletion
  • Smart Size Updates: Automatically recalculates parent folder sizes when files are deleted
  • Permission Handling: Shows denied access items and provides action to open Full Disk Access settings

Requirements

  • macOS only: Uses platform-specific du command
  • Full Disk Access: Required for scanning the home directory (instructions provided in README)

The extension follows Raycast UI/UX guidelines, uses Title Case for all actions, includes search bar placeholders, and properly handles empty states to prevent flickering.

Screencast

disk-usage-1 disk-usage-2 disk-usage-3

Checklist

@raycastbot raycastbot added new extension Label for PRs with new extensions platform: macOS labels Nov 25, 2025
@raycastbot
Copy link
Collaborator

Congratulations on your new Raycast extension! 🚀

You can expect an initial review within five business days.

Once the PR is approved and merged, the extension will be available on our Store.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Nov 25, 2025

Greptile Overview

Greptile Summary

This PR introduces a new Disk Usage extension that allows users to analyze disk space and identify large files/folders in their home directory. The implementation is clean, well-structured, and follows Raycast best practices.

Key Implementation Details:

  • Uses native du command for scanning with proper error handling for permission issues
  • Correctly uses Raycast's built-in trash API for file deletion
  • Implements proper isLoading state to prevent empty state flicker
  • Includes search bar placeholders in all List views
  • Provides Full Disk Access instructions and helper action
  • Uses Action.Push for folder navigation
  • Implements bulk selection and deletion with visual feedback

Code Quality:

  • Configuration files (.prettierrc, eslint.config.js) follow standard Raycast templates
  • CHANGELOG.md correctly uses {PR_MERGE_DATE} template string
  • Metadata folder includes appropriate screenshots for the view command
  • Well-organized code structure with separate hooks, components, and utilities
  • Proper error handling throughout with user-friendly messages

Confidence Score: 5/5

  • This PR is safe to merge with no issues found
  • The extension follows all Raycast guidelines and best practices: uses proper configuration templates, includes metadata screenshots, implements error handling correctly, uses built-in APIs (trash, isLoading), includes search placeholders, and has clean, well-structured code with no logical errors or security concerns
  • No files require special attention

Important Files Changed

File Analysis

Filename Score Overview
extensions/disk-usage/package.json 5/5 Package configuration is well-structured with proper metadata, dependencies, and scripts
extensions/disk-usage/CHANGELOG.md 5/5 Changelog properly formatted with {PR_MERGE_DATE} template string
extensions/disk-usage/src/disk-usage.tsx 5/5 Main command properly implements List with isLoading state, search placeholder, and error handling
extensions/disk-usage/src/hooks/useDelete.ts 5/5 Uses Raycast's built-in trash API correctly with proper confirmation and error handling
extensions/disk-usage/src/hooks/useScan.ts 5/5 Implements disk scanning with spawn command, proper error handling, and state management
extensions/disk-usage/src/utils.ts 5/5 Well-organized utility functions for path handling, formatting, and scan data processing

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.

21 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@easymikey easymikey marked this pull request as draft November 26, 2025 09:00
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.

2 participants