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

project-task.mddocs/

Project & Task Management

Commands for working with projects and tasks within the moon repository, including project information, task details, and workspace synchronization.

Capabilities

Display Project Information

Show detailed information about a specific project in the workspace.

moon project <id> [--json] [--no-tasks]

Arguments:

  • id (required) - Project ID to display information for

Options:

  • --json - Output project information in JSON format
  • --no-tasks - Exclude task information from the output

Usage Examples:

# Display project information
moon project my-app

# Get project info as JSON
moon project my-app --json

# Show project info without tasks
moon project my-app --no-tasks

Sample Output:

Project: my-app
Source: apps/my-app
Language: typescript
Platform: node
Tasks: build, test, lint, type-check
Dependencies: shared-utils, common-types

Display Task Information

Show detailed information about a specific task, including its configuration and dependencies.

moon task <target> [--json]

Arguments:

  • target (required) - Task target in the format project:task or :task for workspace tasks

Options:

  • --json - Output task information in JSON format

Usage Examples:

# Display task information
moon task my-app:build

# Show workspace task
moon task :lint-all

# Get task info as JSON
moon task my-app:test --json

Sample Output:

Task: my-app:build
Platform: node
Command: npm run build
Inputs: src/**, package.json
Outputs: dist/**
Dependencies: my-app:type-check, shared-utils:build

Sync Workspace

Synchronize the workspace to maintain a healthy state and update generated files.

moon sync [subcommand]

Subcommands:

Sync All

Synchronize the entire workspace, including all projects and configurations.

moon sync

This performs all sync operations:

  • Updates project configurations
  • Syncs dependency relationships
  • Regenerates configuration schemas
  • Updates code ownership files
  • Syncs VCS hooks

Sync Code Owners

Generate and synchronize a CODEOWNERS file based on project ownership configuration.

moon sync codeowners [--add-missing] [--dry-run]

Options:

  • --add-missing - Add entries for projects without explicit owners
  • --dry-run - Preview changes without writing the file

Usage Examples:

# Generate CODEOWNERS file
moon sync codeowners

# Preview CODEOWNERS changes
moon sync codeowners --dry-run

# Include unowned projects
moon sync codeowners --add-missing

Sync Configuration Schemas

Generate and sync JSON schemas for configuration files to enable IDE support.

moon sync config-schemas [--minimal]

Options:

  • --minimal - Generate minimal schemas without descriptions

Usage Examples:

# Generate configuration schemas
moon sync config-schemas

# Generate minimal schemas
moon sync config-schemas --minimal

Sync VCS Hooks

Generate and sync hook scripts for the workspace VCS (Git) integration.

moon sync hooks [--force]

Options:

  • --force - Overwrite existing hook files

Usage Examples:

# Sync Git hooks
moon sync hooks

# Force overwrite existing hooks
moon sync hooks --force

Sync Projects

Synchronize all project configurations and dependency relationships.

moon sync projects

This command:

  • Updates project dependency graphs
  • Syncs workspace dependencies to project files
  • Validates project configurations
  • Regenerates derived configuration files

Usage Examples:

# Sync all project configurations
moon sync projects

Project Configuration

Projects are configured through moon.yml files:

# Project moon.yml example
language: 'typescript'
type: 'application'
platform: 'node'

tasks:
  build:
    command: 'npm run build'
    inputs: ['src/**/*', 'package.json']
    outputs: ['dist/**/*']
    deps: ['~:type-check']

  test:
    command: 'npm test'
    inputs: ['src/**/*', 'tests/**/*']
    deps: ['~:build']

workspace:
  inheritedTasks:
    include: ['lint', 'format']

Task Configuration

Tasks define the build and development operations:

  • Commands - Shell commands to execute
  • Inputs - Files that affect task output
  • Outputs - Files generated by the task
  • Dependencies - Other tasks that must run first
  • Environment - Environment variables and settings

Workspace Structure

Moon workspaces organize projects in a hierarchical structure:

workspace/
├── moon.yml                    # Workspace configuration
├── .moon/
│   ├── workspace.yml          # Workspace settings
│   ├── toolchain.yml          # Tool configurations
│   └── tasks/                 # Global task definitions
├── apps/
│   ├── web-app/
│   │   └── moon.yml           # Project configuration
│   └── mobile-app/
│       └── moon.yml
└── packages/
    ├── shared-utils/
    │   └── moon.yml
    └── ui-components/
        └── moon.yml

docs

environment.md

execution.md

extensions.md

generation.md

graphs.md

index.md

maintenance.md

project-task.md

query.md

toolchain.md

tile.json