Configuration

Ion uses two levels of configuration: project-level (Ion.toml) and user-level (~/.config/ion/config.toml).

Project configuration

The Ion.toml manifest in your project root defines which skills to install and where:

[options]
skills-dir = ".agents/skills"     # Where local skills live

[[targets]]
type = "claude"                    # Target AI tool
path = ".claude/skills"            # Installation directory

[[skills]]
name = "code-review"
source = "github:owner/code-review"

[[skills]]
name = "my-local-skill"
source = { type = "local" }

Targets

Targets define where skills are installed. Each target has a type and path:

TypeDefault pathTool
claude.claude/skillsClaude Code
cursor.cursor/skillsCursor
windsurf.windsurf/skillsWindsurf

You can define multiple targets to install skills for several tools simultaneously.

Options

OptionDefaultDescription
skills-dir.agents/skillsDirectory for local skills

Global configuration

User-wide settings live at ~/.config/ion/config.toml:

[cache]
max-age-days = 1          # Search cache TTL

[[sources]]
name = "my-registry"
type = "registry"
url = "https://skills.example.com"

Sources

Global sources are available for ion search across all projects. Each source has a name, type, and type-specific fields.

Cache

The search cache stores results locally to avoid repeated network requests. Configure the TTL with cache.max-age-days. Clear the cache manually:

ion cache gc