Xcode Carpenter is your trusty companion for Xcode project maintenance. Like a skilled carpenter, it carefully handles your Xcode projects with precision and care. Currently, it specializes in project renaming while preserving all references and configurations.
- 🏗️ Precise project renaming with reference preservation
- 🔄 Automatic bundle identifier updates
- 📝 Detailed operation logging
- ⚡ Blazingly fast (written in Rust)
- 🛡️ Safe operations with automatic rollback
- 🧰 Extensible toolset (more features coming soon)
cargo install xcr
git clone https://github.com/serkanaltuntas/xcr.git
cd xcr
cargo build --release
The binary will be available at target/release/xcr
Basic project renaming:
xcr /path/to/your/project NewProjectName
With bundle identifier update:
xcr /path/to/your/project NewProjectName --bundle-id com.company.newname
For more detailed instructions, check out the Quick Start Guide.
- Rust 1.70 or higher
- Xcode Command Line Tools
- Administrative privileges (for some operations)
Xcode Carpenter follows these careful steps:
- 📋 Validates the source project structure
- 📦 Creates a precise copy of the project
- 🔄 Updates all file references
- 📝 Renames files and directories
- 🏷️ Updates bundle identifiers (when specified)
- 🧹 Performs cleanup if needed
All operations are meticulously logged for transparency.
- 💾 Creates backups before modifications
- ↩️ Automatic rollback on failure
- 📝 Comprehensive logging
- ✅ Project structure validation
We welcome contributions! Please read our Contributing Guidelines before submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Serkan Altuntas (@serkanaltuntas)
- Built with Rust 🦀
- Inspired by real-world Xcode project maintenance needs
Future tools planned for the Xcode Carpenter's toolbox:
- 🔧 Project dependency analyzer
- 🎨 Asset catalog optimizer
- 📦 Framework integrator
- 🧪 Test target generator
- 🔍 Code duplicates finder
Stay tuned for more features!