CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-moonrepo--core-macos-x64

macOS x64 binary distribution package for the moon repository management tool

Pending
Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

execution.mddocs/

Task Execution

Commands for running builds, tests, and other tasks across projects in the moon workspace with smart caching and dependency resolution.

Capabilities

Check Projects

Run all build and test related tasks for projects to verify their health.

moon check [ids...] [--all] [--summary] [--update-cache]

Arguments:

  • ids (optional) - List of project IDs to explicitly check

Options:

  • --all - Run check for all projects in the workspace
  • --summary - Include a summary of all actions processed in the pipeline
  • --update-cache - Bypass cache and force update any existing items

Usage Examples:

# Check current project
moon check

# Check specific projects
moon check my-app shared-utils

# Check all projects in workspace
moon check --all

# Check with cache bypass
moon check --update-cache

# Check with execution summary
moon check --summary

CI Execution

Run all affected projects and tasks in a CI environment with optimizations for continuous integration.

moon ci [targets...] [--base <REF>] [--head <REF>] [--job <INDEX>] [--job-total <TOTAL>] [--stdin]

Arguments:

  • targets (optional) - List of specific targets to run

Options:

  • --base <REF> - Base branch, commit, or revision to compare against (for affected detection)
  • --head <REF> - Current branch, commit, or revision to compare with
  • --job <INDEX> - Index of the current job in a distributed CI setup (0-based)
  • --job-total <TOTAL> - Total number of jobs running in parallel
  • --stdin - Accept list of touched files from stdin for affected checks

Usage Examples:

# Run CI for affected projects
moon ci

# Run CI comparing against main branch
moon ci --base main

# Run CI with specific targets
moon ci build test lint

# Distributed CI execution (job 1 of 4)
moon ci --job 0 --job-total 4

# Use stdin for touched files
git diff --name-only HEAD~1 | moon ci --stdin

Run Tasks

Execute one or more project tasks along with their dependencies in the correct order.

moon run <targets...> [--dependents] [--force] [--interactive] [--query <QUERY>] [--summary]

Arguments:

  • targets (required) - List of targets to run in the format project:task or :task

Options:

  • --dependents - Also run dependents of the primary targets
  • --force - Force run and ignore touched files and cache status
  • --interactive - Run the target interactively (for tasks that require user input)
  • --query <QUERY> - Focus targets based on the result of a project query
  • --summary - Include a summary of all actions processed in the pipeline

Usage Examples:

# Run a single task
moon run my-app:build

# Run multiple tasks
moon run my-app:build my-app:test

# Run with dependents
moon run my-app:build --dependents

# Force run ignoring cache
moon run my-app:test --force

# Interactive task execution
moon run my-app:dev --interactive

# Run tasks matching a query
moon run build --query "language=typescript"

# Run with execution summary
moon run build test --summary

Target Syntax

Moon uses a flexible target syntax for specifying tasks:

  • project:task - Run a specific task in a project
  • :task - Run a task in all projects (workspace task)
  • project: - Run all tasks in a project
  • ^:task - Run a task only in dependencies
  • ~:task - Run a task in the current project

Examples:

# Specific task in specific project
moon run web-app:build

# Run build task in all projects
moon run :build

# Run all tasks in a project
moon run shared-utils:

# Run tests in dependencies only
moon run ^:test

# Run lint in current project context
moon run ~:lint

Task Dependencies

Moon automatically resolves and executes task dependencies:

# In project moon.yml
tasks:
  build:
    command: 'npm run build'
    deps: ['~:type-check', 'shared-utils:build']
  
  test:
    command: 'npm test'
    deps: ['~:build']

When running moon run my-app:test, moon will:

  1. Run my-app:type-check
  2. Run shared-utils:build
  3. Run my-app:build
  4. Run my-app:test

Caching and Incremental Builds

Moon uses smart caching to avoid unnecessary work:

  • Input-based caching - Tasks are cached based on input file hashes
  • Remote caching - Share cache across team members and CI
  • Incremental builds - Only rebuild what has changed
# Force bypass cache
moon run build --force

# Update cache entries
moon check --update-cache

Parallel Execution

Moon executes tasks in parallel when possible:

  • Tasks with no dependencies run immediately
  • Independent tasks run simultaneously
  • Dependency constraints are respected
  • Thread pool limits can be configured
# Control concurrency
moon run build --concurrency 4

# Environment variable
MOON_CONCURRENCY=8 moon run test

Task Output and Logging

Moon provides detailed execution information:

# Show execution summary
moon run build --summary

# Increase log verbosity
moon run test --log debug

# Quiet mode (errors only)
moon run build --quiet

CI/CD Integration

Moon is optimized for CI/CD environments:

# Typical CI workflow
moon ci --base origin/main --summary

# Distributed CI across multiple jobs
moon ci --job $CI_JOB_INDEX --job-total $CI_JOB_TOTAL

# Cache sharing in CI
export MOON_CACHE=write
moon run build test

docs

environment.md

execution.md

extensions.md

generation.md

graphs.md

index.md

maintenance.md

project-task.md

query.md

toolchain.md

tile.json