Manifesto
Luca Logo

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
Terminal — luca install

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

Step 1: Install Tools

Install tools in a single command:

luca install realm/swiftlint@0.62.0
luca install tuist/tuist@4.78.0 --asset tuist.zip
Step 2: Use Your Tools

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

Step 1: Install Skills

Install skills from a Git repository for all configured agents:

luca install vercel-labs/agent-skills
Step 2: Skills Are Ready

Skills are symlinked to agent-specific directories and immediately available:

.claude/skills/frontend-design.md
.agents/skills/frontend-design.md

Lucafile

Step 1: Create a 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
Step 2: Install Tools

Install all tools and skills defined in the Lucafile:

luca install
Step 3: Use Your Tools

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

github.com/LucaTools/setup-luca

🔄

LucaWorkflows

Ready-to-use workflow templates to build, package, and publish Luca-compatible releases from Swift, Go, Rust, Python, C#, and Zig projects.

github.com/LucaTools/LucaWorkflows

Additional Features

Custom Lucafile

Specify a custom Lucafile location:

luca install --spec /path/to/custom/Lucafile
Uninstallation

Remove installed tools and specific versions:

luca uninstall SwiftLint
luca uninstall SwiftLint@0.62.0
Unlinking

Unlink tools from a project folder:

luca unlink SwiftLint
Binary naming

Specify the binary name for tools shipped as a raw executables:

luca install firebase/firebase-tools@v14.12.1
  --desired-binary-name firebase
Checksum validation

Specify checksum for security:

luca install realm/swiftlint@0.62.0 \
  --checksum 5e1956c22fcc9997cde69c62daeecc78baef88d4c03c07349815df881fc1ce28 \
  --algorithm sha256
Uninstall Luca

Completely remove Luca from your system:

curl -fsSL https://luca.tools/uninstall.sh | bash
List Installed

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 Linked

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 Agents

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
Uninstall Skills

Remove installed skills from agent directories:

luca uninstall prepare-pull-requestcreate-implementation-plan
Install Specific Skill

Install a single skill from a repository:

luca install vercel-labs/agent-skills \
  --skill frontend-design

System Requirements

Requirements

Luca requires:

  • macOS 13.0 or later, or Linux x86_64
  • Swift 5.7 or later (for building from source)
Source Installation

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