CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-moonrepo--core-linux-x64-musl

Linux x64 musl binary distribution for the moon repository management and build orchestration 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

index.mddocs/

@moonrepo/core-linux-x64-musl

This package provides the pre-compiled Linux x64 musl binary distribution of the moon repository management and build orchestration tool. Moon is a comprehensive workspace management system written in Rust that provides repository organization, orchestration, and notification capabilities.

Package Information

  • Package Name: @moonrepo/core-linux-x64-musl
  • Package Type: npm
  • Language: Binary distribution (compiled from Rust)
  • Installation: npm install @moonrepo/core-linux-x64-musl
  • Platform: Linux x64 with musl libc
  • License: MIT

Architecture

This package follows the platform-specific binary distribution pattern:

  • Binary Artifact: Contains the statically-linked moon executable compiled for x86_64-unknown-linux-musl
  • Platform Detection: Used as optional dependency by @moonrepo/cli with automatic platform selection
  • Integration: Binary is resolved via Node.js module resolution and executed via child_process
  • Distribution: Part of a family of platform-specific packages covering different OS/architecture combinations

Core Integration

This package is designed to be used by the @moonrepo/cli package through Node.js module resolution:

const { findMoonExe } = require('@moonrepo/cli/utils');

// Resolves to the moon binary in this package
const moonPath = findMoonExe();

Direct binary access:

const path = require('path');
const pkgPath = require.resolve('@moonrepo/core-linux-x64-musl/package.json');
const moonBinary = path.join(path.dirname(pkgPath), 'moon');

Capabilities

Binary Executable

The main capability provided by this package is the moon CLI binary with comprehensive repository management functionality.

# Moon CLI executable
moon [COMMAND] [OPTIONS] [ARGS...]

Platform Requirements:

  • Linux x64 architecture
  • musl libc (suitable for Alpine Linux and containerized environments)
  • No runtime dependencies (statically linked)

Package Configuration

Package metadata defines platform and architecture constraints for npm installation.

{
  "name": "@moonrepo/core-linux-x64-musl",
  "os": ["linux"],
  "cpu": ["x64"], 
  "libc": ["musl"],
  "publishConfig": {
    "executableFiles": ["moon"]
  }
}

Module Resolution

The package integrates with Node.js module resolution system for binary discovery.

/**
 * Resolve package.json path for this platform-specific package
 */
require.resolve('@moonrepo/core-linux-x64-musl/package.json');

/**
 * Binary location relative to package root
 */
const binaryPath = path.join(path.dirname(packageJsonPath), 'moon');

Moon CLI Commands

The moon binary provides extensive repository management capabilities:

Environment Management

moon init [path]          # Initialize new moon repository
moon setup               # Install all configured tools  
moon teardown           # Uninstall tools and cleanup

Project and Task Operations

moon project <id>        # Project-specific operations (alias: p)
moon task <target>       # Display information about a single task (alias: t)
moon generate [template] # Code generation and scaffolding (alias: g)

Task Orchestration

moon run [targets...]    # Execute tasks with dependency resolution (alias: r)
moon ci [targets...]     # CI-optimized task execution
moon check [ids...]      # Validation and health checks (alias: c)

Analysis and Visualization

moon action-graph       # Interactive dependency graph (alias: ag)
moon project-graph      # Project relationship visualization (alias: pg)
moon task-graph         # Task dependency visualization (alias: tg)

Workspace Query Operations

moon query hash <id>         # Inspect the contents of a generated hash
moon query hash-diff <a> <b> # Query the difference between two hashes
moon query projects [options] # Query for projects within the project graph
moon query tasks [options]   # List all available tasks, grouped by project
moon query touched-files [options] # Query for touched files between revisions

Workspace Synchronization

moon sync                     # Sync all projects and configs in the workspace
moon sync codeowners [options] # Aggregate and sync code owners to a CODEOWNERS file
moon sync config-schemas [options] # Generate and sync configuration JSON schemas
moon sync hooks [options]     # Generate and sync hook scripts for workspace VCS
moon sync projects [options]  # Sync all projects and configs in the workspace

Tool Management

moon bin <tool>         # Get absolute path to tool binary
moon clean [targets...] # Cleanup operations
moon toolchain add <tool> [options] # Add and configure a toolchain plugin
moon toolchain info <tool> [options] # Show detailed information about a toolchain plugin

Docker Integration

moon docker file [options]     # Generate a default Dockerfile for a project
moon docker prune              # Remove extraneous files and folders within a Dockerfile
moon docker scaffold [options] # Scaffold a repository skeleton for use within Dockerfile(s)
moon docker setup              # Setup a Dockerfile by installing dependencies for necessary projects

Migration and Node.js Operations

moon migrate from-package-json [options] # Migrate package.json scripts and dependencies to moon
moon migrate from-turborepo              # Migrate turbo.json to moon configuration files
moon node run-script <script> [options]  # Run a package.json script within a project

Debugging and Advanced Features

moon debug config        # Debug loaded configuration
moon debug vcs          # Debug the VCS
moon ext [options]      # Execute an extension plugin
moon mcp [options]      # Model Context Protocol support

Utility Commands

moon completions <shell> # Generate shell completions
moon templates [options] # Template management
moon upgrade            # Upgrade to the latest version of moon (alias: up)

Error Handling

Binary Not Found: If the moon executable is not found at the expected path, the package will throw an error:

Error: moon executable "<path>" not found!

Platform Mismatch: If installed on incompatible platforms, npm will skip installation due to platform constraints in package.json.

Permission Issues: The binary requires executable permissions, which are automatically set during npm installation via the executableFiles configuration.

Usage Patterns

Via @moonrepo/cli (Recommended)

const cp = require('child_process');
const { findMoonExe } = require('@moonrepo/cli/utils');

// Execute moon command
const result = cp.spawnSync(findMoonExe(), ['--version'], {
  stdio: 'inherit'
});

Direct Binary Access

const fs = require('fs');
const path = require('path');
const cp = require('child_process');

// Resolve binary path
const pkgPath = require.resolve('@moonrepo/core-linux-x64-musl/package.json');
const moonPath = path.join(path.dirname(pkgPath), 'moon');

// Verify binary exists
if (fs.existsSync(moonPath)) {
  // Execute moon command
  cp.spawnSync(moonPath, ['--help'], { stdio: 'inherit' });
}

Container Usage

This musl-compiled binary is ideal for containerized environments:

FROM alpine:latest
RUN npm install -g @moonrepo/cli
# The appropriate platform binary (@moonrepo/core-linux-x64-musl) 
# will be automatically selected and installed

docs

index.md

tile.json