Skip to main content

Create a first pack

Create a small pack, validate it, then install it in a throwaway project.

Create Pack Content

Create a versioned local catalog and enter an empty pack directory:

mkdir -p engineering-packs/packs/example-documentation-standard/1.0.0
cd engineering-packs/packs/example-documentation-standard/1.0.0
luna pack init --id example-documentation-standard --version 1.0.0 --author "Example Engineering" --license MIT

Add a file:

mkdir -p targets/docs
printf '# Engineering standard\n' > targets/docs/standard.md
luna pack add file targets/docs/standard.md --target docs/standard.md

Add optional metadata:

luna pack set name "Documentation standard"
luna pack set description "Adds the engineering documentation standard."

Inspect and validate the result:

luna pack show
luna pack list
luna pack validate

The manifest remains normal YAML. Direct edits are supported, but rerun luna pack validate before distributing the pack.

When your configured catalog contains lunapack-pack-authoring, you can instead install its minimal scaffold into a new release directory:

luna install [email protected] `
--destination packs/example-documentation-standard/1.0.0

Replace the generated example identity, attribution, description, target, and content before validation.

Test Installation

Return to engineering-packs, create a separate throwaway project, then initialize LunaPack and register the catalog:

mkdir release-test
cd release-test
luna init
luna sources add local authoring ../packs
luna discover
luna install [email protected] --dry-run
luna install [email protected]

Check the managed file and lock record. Uninstall only after confirming the target remains unchanged.