Luca
A lightweight decentralised tool manager for macOS to manage project-specific tool environments.
Luca helps developers install, manage, and activate specific versions of development tools in their projects without polluting your global PATH. For more information, check out our GitHub repository.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/LucaTools/LucaScripts/HEAD/install.sh)"

See Luca in action - simple installation and immediate tool availability
Version-specific Installations
Install specific versions of tools needed for your project, ensuring consistent development environments.
Project Isolation
Each project can have its own set of active tools, preventing version conflicts between projects.
Zero Configuration
Either create a simple Lucafile or install individual tools. No complex setup, no lockfiles, no global PATH pollution.
Quick Start
Install tools in a single command:
luca install realm/swiftlint@0.53.0
luca install tuist/tuist@4.78.0 --asset tuist.zip
Project-specific tool versions work automatically:
# In project-1 directory
$ tuist version
4.78.0
# In project-2 directory
$ tuist version
4.67.0
Lucafile
Create a Lucafile
in your project directory:
tools:
- name: SwiftLint
version: 0.53.0
url: https://github.com/realm/SwiftLint/releases/download/0.53.0/portable_swiftlint.zip
- name: Tuist
version: 4.78.0
url: https://github.com/tuist/tuist/releases/download/4.78.0/tuist.zip
Install all tools defined in the Lucafile:
luca install
Use your project-specific tool versions:
swiftlint --help
tuist --help
How It Works
1. Specify Tools
Define your required tools with specific versions in a simple YAML Lucafile.
2. Install Once
Luca downloads and extracts tools to:
~/.luca/tools/{tool-name}/{version}/
3. Use Locally
Tools are symlinked to:
.luca/active/
in your project directory, making them immediately available.
4. Share Settings
Commit your Lucafile to ensure all team members use identical tool versions.
Additional Commands
Specify a custom Lucafile location:
luca install --spec /path/to/custom/Lucafile
Remove all installed tools and symlinks:
luca uninstall
Completely remove Luca from your system:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/LucaTools/LucaScripts/HEAD/uninstall.sh)"
System Requirements
Luca requires:
- macOS 13.0 or later
- Swift 5.7 or later (for building from source)
Build and install from source code:
git clone https://github.com/LucaTools/Luca.git
cd Luca
swift build -c release
cp -f .build/release/luca /usr/local/bin/luca