<p align="center">
  <img src="https://moonrepo.dev/brand/moon/icon.svg" alt="moonrepo" width="120">
</p>

<h1 align="center">
  🔮 moonrepo-skill
</h1>

<p align="center">
  <strong>AI Agent Skills for moonrepo</strong><br>
  <sub>Build systems that remember</sub>
</p>

<p align="center">
  <img src="https://img.shields.io/badge/Claude_Code-Plugin-d4a574?style=for-the-badge&logo=anthropic&logoColor=white" alt="Claude Code">
  <img src="https://img.shields.io/badge/skills.sh-Compatible-e135ff?style=for-the-badge&logo=vercel&logoColor=white" alt="skills.sh">
  <img src="https://img.shields.io/badge/moon-Build_System-af63d3?style=for-the-badge&logo=moonrepo&logoColor=white" alt="moon">
  <img src="https://img.shields.io/badge/proto-Version_Manager-80ffea?style=for-the-badge&logo=rust&logoColor=black" alt="proto">
</p>

<p align="center">
  <a href="https://github.com/hyperb1iss/moonrepo-skill/blob/main/LICENSE">
    <img src="https://img.shields.io/github/license/hyperb1iss/moonrepo-skill?style=flat-square&logo=apache&logoColor=white" alt="License">
  </a>
  <a href="https://github.com/hyperb1iss/moonrepo-skill/releases">
    <img src="https://img.shields.io/github/v/release/hyperb1iss/moonrepo-skill?style=flat-square&logo=github&logoColor=white" alt="Release">
  </a>
</p>

<p align="center">
  <a href="#-installation">Installation</a> •
  <a href="#-skills">Skills</a> •
  <a href="#-commands">Commands</a> •
  <a href="#-agents">Agents</a> •
  <a href="#-compatibility">Compatibility</a>
</p>

---

## 💎 What This Is

**moonrepo-skill** gives your AI coding agents deep knowledge of [moon](https://moonrepo.dev/moon) and [proto](https://moonrepo.dev/proto)—the polyglot monorepo build system and multi-language version manager.

Instead of agents fumbling through docs or hallucinating configs, they get:

- **Complete configuration references** for workspace, tasks, and toolchains
- **v2 migration guidance** with breaking changes documented
- **Real examples** from production setups
- **Slash commands** for common workflows

Works with Claude Code, Cursor, GitHub Copilot, Gemini CLI, and any agent supporting the [skills.sh](https://skills.sh) ecosystem.

## ⚡ Installation

### Claude Code Plugin

```bash
# Add the marketplace
/plugin marketplace add hyperb1iss/moonrepo-skill

# Install the plugin
/plugin install moonrepo
```

### Vercel Skills (skills.sh)

```bash
npx add-skill hyperb1iss/moonrepo-skill
```

### Manual (Any Agent)

Copy the `skills/` directory to your agent's skills location, or symlink it:

```bash
git clone https://github.com/hyperb1iss/moonrepo-skill.git
ln -s moonrepo-skill/skills ~/.claude/skills/moonrepo
```

## 🔮 Skills

Skills are contextual knowledge that agents invoke when relevant.

| Skill     | Triggers On                                | What It Provides                                                   |
| --------- | ------------------------------------------ | ------------------------------------------------------------------ |
| **moon**  | `moon.yml`, workspace config, task setup   | Complete moon v2 configuration, task inheritance, CI patterns      |
| **proto** | `.prototools`, version management, plugins | Multi-language version pinning, plugin development, exec workflows |

### moon Skill

Covers the full moon ecosystem:

- **Workspace configuration** — Project discovery, VCS settings, runner options
- **Task configuration** — Commands, scripts, inputs/outputs, caching, inheritance
- **Toolchain setup** — Node.js, Bun, Deno, Rust, Go, Python configuration
- **CI/CD patterns** — GitHub Actions, affected detection, parallelization
- **v2 migration** — Breaking changes from v1, renamed fields, new features

### proto Skill

Covers proto version management:

- **Core commands** — install, pin, run, exec, outdated, clean
- **Configuration** — `.prototools` format, version specifiers, settings
- **Plugin system** — TOML and WASM plugins, development workflow
- **Build from source** — Compiling tools when pre-built unavailable
- **Integration** — moon toolchain backend, CI setup

## 🪄 Commands

Slash commands for common workflows:

| Command                   | Description                                 |
| ------------------------- | ------------------------------------------- |
| `/moonrepo:moon-init`     | Initialize moon workspace with guided setup |
| `/moonrepo:moon-run`      | Execute moon tasks with target syntax help  |
| `/moonrepo:moon-query`    | Query projects and tasks with MQL           |
| `/moonrepo:proto-install` | Install and configure tools via proto       |
| `/moonrepo:proto-pin`     | Pin tool versions for team consistency      |

## 🦋 Agents

Specialized subagents for complex tasks:

| Agent                       | Purpose                                           |
| --------------------------- | ------------------------------------------------- |
| **moon-workspace-analyzer** | Analyze monorepo structure, suggest optimizations |
| **moon-task-creator**       | Generate task configurations from requirements    |
| **proto-setup**             | Bootstrap proto for new projects                  |

## 📦 What's Included

```
moonrepo-skill/
├── .claude-plugin/
│   ├── plugin.json           # Claude Code manifest
│   └── marketplace.json      # Distribution index
├── skills/
│   ├── moon/
│   │   ├── SKILL.md          # Core moon knowledge
│   │   ├── references/       # Detailed config docs
│   │   └── examples/         # Real configurations
│   └── proto/
│       ├── SKILL.md          # Core proto knowledge
│       ├── references/       # Config & command docs
│       └── examples/         # Example .prototools
├── commands/                  # Slash commands
├── agents/                    # Subagent definitions
└── AGENTS.md                  # skills.sh compatibility
```

## 🌐 Compatibility

This plugin works with multiple AI agent platforms:

| Platform           | Installation Method                                   |
| ------------------ | ----------------------------------------------------- |
| **Claude Code**    | `/plugin install moonrepo`                            |
| **Cursor**         | `npx add-skill hyperb1iss/moonrepo-skill -a cursor`   |
| **GitHub Copilot** | `npx add-skill hyperb1iss/moonrepo-skill -a copilot`  |
| **Gemini CLI**     | `npx add-skill hyperb1iss/moonrepo-skill -a gemini`   |
| **Amp**            | `npx add-skill hyperb1iss/moonrepo-skill -a amp`      |
| **Opencode**       | `npx add-skill hyperb1iss/moonrepo-skill -a opencode` |

## 🧪 Development

```bash
# Clone the repo
git clone https://github.com/hyperb1iss/moonrepo-skill.git
cd moonrepo-skill

# Lint markdown
make lint

# Format markdown
make format

# Test locally with Claude Code
claude --plugin-dir .
```

## 📚 Resources

- [moon documentation](https://moonrepo.dev/docs/moon)
- [proto documentation](https://moonrepo.dev/docs/proto)
- [moonrepo GitHub](https://github.com/moonrepo/moon)
- [Claude Code plugins](https://docs.anthropic.com/en/docs/claude-code/plugins)
- [skills.sh ecosystem](https://skills.sh)

## License

Apache-2.0 — See [LICENSE](LICENSE)

---

<p align="center">
  Created by <a href="https://hyperbliss.tech">Stefanie Jane</a>
</p>

<p align="center">
  <a href="https://github.com/hyperb1iss">
    <img src="https://img.shields.io/badge/GitHub-hyperb1iss-181717?style=for-the-badge&logo=github" alt="GitHub">
  </a>
  <a href="https://bsky.app/profile/hyperbliss.tech">
    <img src="https://img.shields.io/badge/Bluesky-@hyperbliss.tech-1185fe?style=for-the-badge&logo=bluesky" alt="Bluesky">
  </a>
</p>
