CtrlK
BlogDocsLog inGet started
Tessl Logo

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

Linux ARM64 musl binary distribution 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

projects.mddocs/

Project Management

Comprehensive project management capabilities for workspace organization, dependency analysis, and project health monitoring.

Capabilities

Project Health Checking

Run all build and test tasks to verify project health and readiness.

/**
 * Run all build and test tasks for one or many projects
 * Convenience command for verifying project state
 */
moon check [...projects]

# Alias:
moon c [...projects]

# Arguments:
# [...projects]    List of project names or aliases (optional)

# Options:
--all              Run check for all projects in workspace
-u, --updateCache  Bypass cache and force update existing items
--summary          Display summary and stats of current run

Usage Examples:

# Check project at current working directory
moon check

# Check specific project by name
moon check app

# Check multiple projects
moon check client server admin

# Check all projects (may be costly)
moon check --all

# Force cache update during check
moon check app --updateCache

# Show summary statistics
moon check --all --summary

Project Information

Display detailed information about projects in the workspace.

/**
 * Display comprehensive information about a specific project
 * Shows configuration, tasks, dependencies, and metadata
 */
moon project <id>
# Alias: moon p

# Arguments:
# <id>    Project ID, name, or alias

# Options:
--json    Output information in JSON format

Usage Examples:

# Get project information
moon project app

# JSON output for scripting
moon project app --json

# Using project alias
moon project frontend-app

Project Graph Analysis

Visualize and analyze project dependencies and relationships.

/**
 * Display dependency graph showing project relationships
 * Reveals dependencies and dependents between projects
 */
moon project-graph [ids...]
# Alias: moon pg

# Arguments:
# [ids...]    Optional list of project IDs to include in graph

# Options:
--dot     Output in DOT format for Graphviz visualization
--json    Output in JSON format for programmatic processing

Usage Examples:

# Show graph for all projects
moon project-graph

# Show graph for specific projects
moon project-graph app server

# Generate visualization file
moon project-graph --dot > projects.dot
dot -Tpng projects.dot -o projects.png

# JSON for analysis
moon project-graph --json | jq '.nodes[] | .id'

Project Query System

Query and filter projects using advanced criteria.

/**
 * Query projects using flexible filter criteria
 * Supports complex logical expressions and patterns
 */
moon query projects <statement>

# Query Statement Syntax:
# Logical Operators:
# &&               AND operation
# ||               OR operation  
# !                NOT operation
# ()               Grouping

# Filter Criteria:
# language=<lang>       Programming language (javascript, typescript, rust, etc.)
# projectType=<type>    Project type (application, library, tool, etc.)
# tag=<tag>            Project tag
# project~<pattern>     Project name pattern matching
# projectSource~<path>  Source path pattern matching
# hasTask=<task>       Projects that define specific task
# dependsOn=<project>   Projects that depend on specified project

Query Examples:

# Find all TypeScript applications  
moon query projects "language=typescript && projectType=application"

# Find projects with specific tag
moon query projects "tag=frontend"

# Find projects matching name pattern
moon query projects "project~*-api"

# Complex query with multiple criteria
moon query projects "(language=javascript || language=typescript) && projectType=library"

# Find projects in specific directory
moon query projects "projectSource~packages/*"

# Find projects with build task
moon query projects "hasTask=build"

# Find projects depending on shared library
moon query projects "dependsOn=shared-lib"

Task Query System

Query tasks across the workspace.

/**
 * Query tasks across projects using filter criteria
 * Find tasks matching specific patterns or properties
 */
moon query tasks <statement>

# Task Query Criteria:
# task=<name>          Task name
# project=<name>       Project containing task
# platform=<platform>  Target platform
# type=<type>          Task type (build, test, lint, etc.)
# hasInput=<pattern>   Tasks with input files matching pattern
# hasOutput=<pattern>  Tasks with output files matching pattern

Task Query Examples:

# Find all build tasks
moon query tasks "task=build"

# Find test tasks in frontend projects
moon query tasks "type=test && project~*frontend*"

# Find tasks with TypeScript inputs
moon query tasks "hasInput=*.ts"

Touched Files Analysis

Analyze which files have been modified and their impact.

/**
 * Query touched files and their relationships to projects/tasks
 * Useful for understanding change impact
 */
moon query touched-files

# Shows:
# - Modified files
# - Affected projects
# - Impacted tasks
# - Change status

Project Synchronization

Sync workspace configuration and project states.

/**
 * Sync workspace and projects with up-to-date configuration
 * Updates project graphs, dependencies, and toolchain state
 */
moon sync

# Subcommands:
moon sync projects     # Sync all project configurations
moon sync hooks       # Sync git hooks for workspace
moon sync codeowners  # Sync CODEOWNERS file based on project ownership

Usage Examples:

# Sync all configurations
moon sync

# Sync only project configurations
moon sync projects

# Setup git hooks
moon sync hooks

# Update code ownership files
moon sync codeowners

Workspace Templates

Manage code generation templates for scaffolding.

/**
 * Manage workspace templates for code generation
 * Templates enable consistent project scaffolding
 */
moon templates

# Template operations:
# - List available templates
# - Validate template configurations
# - Create new templates

Generation and Scaffolding

Generate new projects and code using templates.

/**
 * Scaffold new code using configured templates
 * Creates projects, components, or other code structures
 */
moon generate <template> [dest]

# Arguments:
# <template>    Name of template to use
# [dest]        Destination path (optional)

# Options:
--dryRun           Show what would be generated without creating files
--force            Overwrite existing files if they exist
--template <path>  Use template from specific path instead of workspace templates

Usage Examples:

# Generate new project using template
moon generate react-app apps/new-app

# Preview generation without creating files
moon generate node-lib --dryRun

# Generate from custom template path
moon generate custom --template ./templates/my-template

# Force overwrite existing files
moon generate component --force

Project Configuration

Workspace Configuration

Projects are discovered and configured through workspace settings:

# .moon/workspace.yml
projects:
  - 'apps/*'           # Glob patterns for project discovery
  - 'packages/*'
  - 'tools/*'

# Project aliases for easier reference
aliases:
  fe: 'frontend-app'
  be: 'backend-api'

Project Metadata

Individual projects can define metadata and configuration:

# moon.yml (in project directory)
type: 'application'      # Project type
language: 'typescript'   # Primary language

# Project dependencies
dependsOn:
  - 'shared-lib'
  - 'common-utils'

# Project tags for grouping
tags:
  - 'frontend'
  - 'customer-facing'

# Task definitions
tasks:
  build:
    command: 'tsc'
    inputs: ['src/**/*']
    outputs: ['dist/**/*']

Error Handling

Common project management scenarios and solutions:

  • Project Discovery Issues: Check workspace.yml patterns and ensure projects have moon.yml files
  • Circular Dependencies: Use project-graph to identify and resolve circular references
  • Missing Dependencies: Sync command updates project dependencies based on actual code imports
  • Configuration Conflicts: Check for conflicting task definitions or project settings
  • Performance Issues: Use --summary to identify slow projects and optimize configurations

docs

advanced.md

ci.md

index.md

projects.md

setup.md

tasks.md

tile.json