Skip to content

Getting Started

Prerequisites

ProCMP depends on one tool:

Install via Aftman (recommended):

aftman.toml
[tools]
darklua = "Stefanuk12/darklua@0.17.4"
ProCMP  = "Proton-Utilities/ProCMP@3.0.1"

Then run:

aftman install

1. Build using CLI (Configless)

If you don't want to set up a configuration file yet, you can run a build directly:

pcmp build -i src/init.luau -o generated/out.luau -f pipeline/frames/release.luau -c pipeline/darklua/stable.json

2. Scaffold a new project

The fastest way to get started is pcmp init:

pcmp init

This launches an interactive wizard that generates:

  • pipeline/.pcmp.json — shared pipeline config (commit this)
  • pipeline/.pcmp.local.json — your personal editor preferences (gitignored)
  • pipeline/frames/ — frame templates
  • pipeline/darklua/ — darklua configs (stable + unminified)
  • .env.example — token template
  • Updated .gitignore

See the full walkthrough in pcmp init.


Running the pipeline

pcmp pipeline/.pcmp.json

You'll be prompted to:

  1. Select a build configuration (e.g. Debug, Beta, Release)
  2. Enter a version (if promptVersion: true) — must match versionFormat
  3. Confirm public distribution (if promptDeploy: true)

CLI flags

Flag Description
pcmp <config> Run pipeline with the given config file
pcmp init Interactive project scaffolder
pcmp --help / -h Show help
pcmp --version / -V Print version string

Your first build

After running pcmp init, try a Debug build:

pcmp pipeline/.pcmp.json
# → Select: Debug
# → Build complete: generated/debug/myScript.luau

The output file contains your composed source, inserted into the frame with all composer markers replaced.

Editor preview

If you set an editor in pcmp init, the composed output will open automatically after each build. This is stored in your gitignored .pcmp.local.json.