building-with-smack

Guide Mu2e Phase 3 builds using Spack and CMake commands.

4|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/Mu2e/aitools --skill building-with-smack
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: building-with-smack
Source: https://github.com/Mu2e/aitools/tree/main/skills/building-with-smack
Command: npx skills add https://github.com/Mu2e/aitools --skill building-with-smack

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides guidance and commands for using the Smack build system, which is the future standard for Mu2e Phase 3, enabling developers to manage dependencies and build code effectively.

Core Features & Use Cases

  • Smack/Spack Build System: Understand and utilize the Phase 3 build system.
  • Environment Management: Set up and activate local build environments.
  • Package Development: Add, develop, and install packages using Spack.
  • Use Case: Transitioning a project from the older muse/SCons system to the new Smack/Spack build system for Phase 3 development.

Quick Start

Use the building-with-smack skill to set up a published build for 'simjob'.

Frequently Asked Questions about building-with-smack

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build Mu2e Phase 3 code using the Smack build system?

To build Mu2e Phase 3 code with Smack, you use pure Spack and CMake to manage dependencies. You can set up published builds, create local build areas, and perform operations using `spack concretize` and `spack install`.

What is the difference between Smack and the older muse build system for Mu2e?

Smack replaces the older muse/SCons system by using Spack and CMake for Mu2e Phase 3 development. It provides modern environment management and package development capabilities, allowing smoother dependency integration and multi-environment setups.

How do I set up a local build environment for Mu2e Phase 3?

You set up a local build environment in Smack by creating a local build area and activating it using Spack commands. This allows you to manage packages and perform build operations like `spack concretize` and `spack install`.

Does the Mu2e Smack build system use CMake and Spack together?

Yes, the Mu2e Smack build system uses pure Spack and CMake together for Phase 3 development. Spack handles package management and environment activation, while CMake drives the actual build process.

Can I create a published build for a specific package like simjob using Smack?

Yes, you can create a published build for packages like 'simjob' using Smack. The system guides you through setting up the build environment and running the necessary Spack commands to install the package.