onevcat/fengniao

A command line tool for cleaning unused resources in Xcode.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 55 minutes ago
Added to GitGenius on September 19th, 2026
Created on March 7th, 2017
Open Issues & Pull Requests: 24 (+0)
GitHub issues: Enabled
Number of forks: 248
Total Stargazers: 3,574 (+0)
Total Subscribers: 46 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 247.3 days
Mean response time: 355.4 days
90th percentile: 925.0 days
Tracked items: 7

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,851 days
Stale 30+ days: 2
Stale 90+ days: 2

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

FengNiao is a command-line tool for cleaning unused image resources from Xcode projects.

The tool solves the problem of accumulating unused image assets in iOS and macOS projects, which can bloat app size and create maintenance confusion. It works by extracting resource file names from standard asset folders, scanning source code files with regular expressions to identify which resources are actually referenced, and then reporting the unused files for deletion. The approach covers common image formats and asset types while searching through Swift, Objective-C, and interface builder files.

Developers managing iOS or macOS projects should consider this tool if they want to periodically audit and remove dead image assets. It suits projects that have grown over time and may contain forgotten or deprecated resources. The tool can run interactively from the command line for manual review, or be integrated into Xcode build phases with the force flag for automated cleanup. A graphical app version is also available in the repository, though it requires manual compilation.

The project maintains active development with regular commits addressing bug fixes and feature improvements. The codebase includes comprehensive test coverage to validate the scanning and detection logic. Documentation is thorough, covering installation via package managers, command-line usage with various filtering options, and integration patterns for continuous cleanup workflows.