Luca
A minimalistic, lightweight, decentralised tool and skill manager for macOS and Linux to manage project-specific tool environments and agentic skills for AI coding agents.
Luca helps developers install, manage, and activate specific versions of development tools and agentic skills in their projects. Tools are version-pinned per project without polluting your global PATH. Skills are installed from Git repositories and symlinked into agent-specific directories for 40+ AI coding agents including Claude Code, Cursor, and GitHub Copilot. For more information, check out our GitHub repository, documentation, or tutorials.
Get Started
curl -fsSL https://luca.tools/install.sh | bash
See Luca in action - tool installation, skill management, and immediate 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.
Agentic Skills
Install skills from any Git repository for your AI coding agents. Skills are Markdown files with YAML frontmatter, symlinked into agent-specific directories.
Multi-Agent Support
Support for 40+ AI coding agents out of the box — Claude Code, Cursor, GitHub Copilot, Windsurf, and many more. Each agent gets skills in its own directory format.
Quick Start
Install tools in a single command:
luca install realm/swiftlint@0.62.0
luca install tuist/tuist@4.78.0 --asset tuist.zip
Project-specific tool versions work automatically:
# In project-1 directory
$ tuist version
4.80.0
# In project-2 directory
$ tuist version
4.78.0
Skills Quick Start
Install skills from a Git repository for all configured agents:
luca install vercel-labs/agent-skills
Skills are symlinked to agent-specific directories and immediately available:
.claude/skills/frontend-design.md
.agents/skills/frontend-design.md
Lucafile
Create a Lucafile in your project directory:
tools:
- name: SwiftLint
version: 0.62.0
url: https://github.com/realm/SwiftLint/releases/download/0.62.0/portable_swiftlint.zip
skills:
- name: frontend-design
repository: vercel-labs/agent-skills
agents:
- claude-code
- github-copilot
Install all tools and skills defined in the Lucafile:
luca install
Tools and skills are immediately available:
swiftlint --help
# Skills are ready for your AI agents
ls .claude/skills/
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/tools/
in your project directory which is added to $PATH, making them immediately available.
4. Share Settings
Commit your Lucafile to ensure all team members use identical tool versions.
5. Define Skills
Specify skills in your Lucafile with a repository reference and target agents.
6. Skills Auto-Link
Skills are cloned and symlinked to each agent's directory (e.g., .claude/skills/). Agents discover them automatically.
GitHub Actions & CI
setup-luca
A GitHub Action that installs Luca and optionally runs luca install as part of your workflow. Available on the GitHub Actions Marketplace.
- uses: LucaTools/setup-luca@v1
with:
spec: Lucafile
LucaWorkflows
Ready-to-use workflow templates to build, package, and publish Luca-compatible releases from Swift, Go, Rust, Python, C#, and Zig projects.
Additional Features
Specify a custom Lucafile location:
luca install --spec /path/to/custom/Lucafile
Remove installed tools and specific versions:
luca uninstall SwiftLint
luca uninstall SwiftLint@0.62.0
Unlink tools from a project folder:
luca unlink SwiftLint
Specify the binary name for tools shipped as a raw executables:
luca install firebase/firebase-tools@v14.12.1
--desired-binary-name firebase
Specify checksum for security:
luca install realm/swiftlint@0.62.0 \
--checksum 5e1956c22fcc9997cde69c62daeecc78baef88d4c03c07349815df881fc1ce28 \
--algorithm sha256
Completely remove Luca from your system:
curl -fsSL https://luca.tools/uninstall.sh | bash
List all versions of tools installed locally:
luca installed
FirebaseCLI:
- 14.12.1
Sourcery:
- 2.2.5
SwiftLint:
- 0.53.0
- 0.62.0
tuist:
- 4.78.0
List tools currently linked in the project:
luca linked
FirebaseCLI:
version: 14.12.1
binary: firebasee
location: /Users/alberto/.luca/tools/FirebaseCLI/14.12.1/firebasee
Sourcery:
version: 2.2.5
binary: sourcery
location: /Users/alberto/.luca/tools/Sourcery/2.2.5/bin/sourcery
tuist:
version: 4.78.0
binary: tuist
location: /Users/alberto/.luca/tools/tuist/4.78.0/tuist
List all supported AI coding agents and their skill paths:
luca agents
Id Project Skills Path
─────────────── ─────────────────────
claude-code .claude/skills
cursor .agents/skills
github-copilot .agents/skills
opencode .agents/skills
windsurf .windsurf/skills
Remove installed skills from agent directories:
luca uninstall prepare-pull-requestcreate-implementation-plan
Install a single skill from a repository:
luca install vercel-labs/agent-skills \
--skill frontend-design
System Requirements
Luca requires:
- macOS 13.0 or later, or Linux x86_64
- 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