prometheas-labs/agent-skills-moon-monorepos · Archived

moonrepo-project-config

Use when creating or modifying moon.yml project configs, adding tasks, defining file groups, or configuring task options

First seen Feb 27, 2026

Installation

$ npx skills add prometheas-labs/agent-skills-moon-monorepos --skill moonrepo-project-config

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from prometheas-labs/agent-skills-moon-monorepos.

npx skills add prometheas-labs/agent-skills-moon-monorepos

Browse all from prometheas-labs/agent-skills-moon-monorepos

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License MIT
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,898 B
  • docs SUMMARY.md 151 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 5 installs

SKILL.md

Moon v2 — Project Configuration

Reference for moon.yml project configuration files.

Project Metadata

$schema: 'https://moonrepo.dev/schemas/project.json'
layer: application    # application | library | tool | automation | configuration | scaffolding
language: typescript  # typescript | javascript | php | python | rust | go | bash
stack: frontend       # frontend | backend | systems | infrastructure | data

Key v2 change: type: was renamed to layer:.

File Groups

Named file pattern collections referenced by tasks via @group(name).

fileGroups:
  sources:
    - 'src/**/*.ts'
    - '!src/**/*.test.ts'
  configs:
    - 'package.json'
    - 'tsconfig.json'

Use @group(sources) in task inputs — not bare sources or @globs().

Tasks

command vs script

Use When
command: Single executable, no shell features. Supports inheritance merging.
script: Pipes, redirects, chaining (&&, `\ \ , ;`). No inheritance merging.
tasks:
  lint:
    command: 'eslint src/'
    inputs: ['@group(sources)', '@group(configs)']
    options:
      cache: true
      runInCI: affected

  build:
    script: 'rm -rf dist && tsc --build'
    inputs: ['@group(sources)']
    outputs: ['dist/']
    deps: ['~:codegen']

Task Fields

Field Purpose
command / script What to run
inputs Files that determine if task needs re-running
outputs Files/directories produced (enables caching)
deps Tasks to run first: 'project:task' or '~:task' (same project)
env Environment variables: { NODE_ENV: 'production' }
options Execution modifiers (see below)
preset server (long-running) or utility (interactive, no cache)

Common Options

Option Default Purpose
cache true Enable output caching
runInCI affected When to run in CI: always, affected, false, only, skip
persistent false Long-running process (dev servers)
shell true Execute within shell
retryCount 0 Retry on failure
outputStyle — buffer, buffer-only-failure, stream, hash, none
runFromWorkspaceRoot false Run from monorepo root instead of project

Pitfalls

Mistake Fix
type: application Use layer: application (v2 rename)
command: 'a && b' Use script: for shell features
inputs: ['sources'] Use inputs: ['@group(sources)']
Missing outputs on cacheable task Define outputs or caching has no effect
platform: node Use toolchains field or omit (auto-detected)