Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Publish your first source

A source is a git repo. mind melds any repo with no configuration, so publishing one is: lay the items out by convention and push.

A minimal source

myrepo/
  skills/greet/SKILL.md      # a skill (the whole directory is the item)
  agents/reviewer.md         # optional: an agent
  rules/style.md             # optional: a rule

skills/greet/SKILL.md:

---
name: greet
description: Greet the user by name and summarize the current directory.
---

When asked to greet someone, ...

The description in each item’s frontmatter is what mind probe and mind recall show, so write it for someone deciding whether to install.

Push it, and anyone can install from it:

mind meld owner/myrepo       # finds the items by convention, offers to install

Check what a meld will find before you push, from inside the repo:

mind review                  # validate the source in the current directory
mind meld . --register-only  # register it locally and browse with mind probe

See examples/starter for a minimal repo of this shape, and Source layout and item kinds for every kind and path.

Skills at the repo root

If your skill directories sit at the root with no skills/ container (<repo>/greet/SKILL.md), declare a flat layout:

# mind.toml
[source]
flat-skills = true

It applies to skills only; agents, rules, and tools keep their directories. A consumer can force it for a repo that has not declared it with mind meld owner/repo --flat-skills.

Already a Claude plugin?

A repo with .claude-plugin/plugin.json or .claude-plugin/marketplace.json is meldable as it is, with no mind.toml. See Claude plugins and marketplaces.

What to add when you need it

Everything below is optional. A mind.toml at the repo root enables it; see The mind.toml file for the full schema.

you want tosee
describe the source and set a default namespace[source]
let consumers pick a basic or full setOffer install profiles
have items reference each other safelyNamespaces and references
share a script between several skillsShare helper scripts
ship a data file or template items readShare data files
build or install tooling when the source is meldedRun setup with hooks
make one item pull in anotherDependencies between items
ship only some files, or use a non-standard layout[[items]] and [discover]
list other people’s repos as a collectionCurate other repos
require a minimum mind versionmin-mind-version in [source]

Before publishing, run mind review to catch broken references, malformed configuration, and fragile paths.