Skip to content

Makefile Reference

Complete reference for all Makefile targets in Claude Craft.


Quick Start

bash
# Show all available commands
make help

# Install a technology
make install-symfony TARGET=~/my-project

# Install with options
make install-symfony TARGET=~/my-project RULES_LANG=fr OPTIONS="--force"

Variables

VariableDescriptionDefault
TARGETTarget directory for installation.
RULES_LANGLanguage for rules (en, fr, es, de, pt)en
OPTIONSAdditional options for scripts(empty)
CONFIGYAML configuration fileclaude-projects.yaml
PROJECTProject name (for config install)(empty)

Installation Targets

Single Technology

TargetDescription
install-commonInstall common rules (agents, /common: commands)
install-symfonyInstall Symfony/PHP rules
install-flutterInstall Flutter/Dart rules
install-pythonInstall Python rules
install-reactInstall React rules
install-reactnativeInstall React Native rules
install-angularInstall Angular rules
install-csharpInstall C#/.NET rules
install-laravelInstall Laravel rules
install-vuejsInstall Vue.js rules
install-phpInstall PHP rules

Usage:

bash
make install-symfony TARGET=~/my-project
make install-flutter TARGET=~/my-app RULES_LANG=de

All Technologies

TargetDescription
install-allInstall ALL technologies + common + project

Usage:

bash
make install-all TARGET=~/my-project RULES_LANG=fr

Preset Combinations

TargetDescription
install-webCommon + React
install-backendCommon + Symfony + Python
install-mobileCommon + Flutter + React Native
install-fullstack-jsCommon + React + Python

Usage:

bash
make install-web TARGET=~/frontend
make install-backend TARGET=~/api

Infrastructure

TargetDescription
install-infraInstall Docker agents and commands
install-projectInstall project management commands

Usage:

bash
make install-infra TARGET=~/my-project
make install-project TARGET=~/my-project

Tools Installation

TargetDescription
install-toolsInstall all Claude Code tools
install-statuslineInstall custom status line
install-multiaccountInstall multi-account manager
install-projectconfigInstall project config manager

Usage:

bash
make install-tools
make install-statusline

Dry Run Targets

Preview installations without making changes.

TargetDescription
dry-run-allDry run all technologies
dry-run-symfonyDry run Symfony
dry-run-flutterDry run Flutter
dry-run-pythonDry run Python
dry-run-reactDry run React
dry-run-reactnativeDry run React Native
dry-run-angularDry run Angular
dry-run-csharpDry run C#/.NET
dry-run-laravelDry run Laravel
dry-run-vuejsDry run Vue.js
dry-run-phpDry run PHP

Usage:

bash
make dry-run-symfony TARGET=~/my-project

Configuration Targets

For YAML-based multi-project configuration.

TargetDescription
config-listList projects in configuration
config-validateValidate configuration file
config-installInstall a specific project
config-install-allInstall all projects
config-dry-runDry run for a project
config-checkCheck configuration
config-check-fixCheck and fix configuration

Usage:

bash
# List projects
make config-list

# Validate
make config-validate

# Install specific project
make config-install PROJECT=my-monorepo

# Install all
make config-install-all

# Dry run
make config-dry-run PROJECT=my-monorepo

Migration Targets

TargetDescription
migrate-checkCheck migration status

Usage:

bash
make migrate-check

Plugin Export Targets

TargetDescription
plugin-exportExport as Claude Code plugin
plugin-export-allExport all technologies

Usage:

bash
make plugin-export
make plugin-export-all

Utility Targets

TargetDescription
helpShow help and available targets
listList available components
list-agentsList all agents
list-commandsList all commands
statsShow statistics
treeShow project structure
fix-permissionsFix script permissions
cleanClean temporary files
checkRun checks

Usage:

bash
make help
make list
make stats
make fix-permissions

Common Options

Pass options via OPTIONS variable:

OptionDescription
--dry-runSimulate without changes
--forceOverwrite existing files
--backupCreate backup before changes
--updateUpdate existing files only
--interactiveGuided installation
--preserve-configKeep CLAUDE.md and project context
--verboseShow detailed output

Usage:

bash
# Force with backup
make install-symfony TARGET=~/project OPTIONS="--force --backup"

# Force but keep config
make install-symfony TARGET=~/project OPTIONS="--force --preserve-config"

# Dry run
make install-symfony TARGET=~/project OPTIONS="--dry-run"

Examples

Basic Installation

bash
# Install Symfony rules in English
make install-symfony TARGET=~/my-project

# Install Flutter rules in German
make install-flutter TARGET=~/my-app RULES_LANG=de

Full Stack Setup

bash
# Backend
make install-symfony TARGET=~/api RULES_LANG=fr

# Frontend
make install-react TARGET=~/frontend RULES_LANG=fr

# Mobile
make install-flutter TARGET=~/mobile RULES_LANG=fr

# Infrastructure
make install-infra TARGET=~/api RULES_LANG=fr

Monorepo Setup

bash
# Using preset
make install-backend TARGET=~/monorepo/api
make install-mobile TARGET=~/monorepo/mobile

# Or using config
cat > claude-projects.yaml << EOF
projects:
  - name: my-monorepo
    root: ~/monorepo
    lang: fr
    common: true
    modules:
      - path: api
        tech: symfony
      - path: mobile
        tech: flutter
EOF

make config-install PROJECT=my-monorepo

Update Existing

bash
# Update without overwriting customizations
make install-symfony TARGET=~/project OPTIONS="--update"

Force Reinstall

bash
# Complete reinstall with backup
make install-symfony TARGET=~/project OPTIONS="--force --backup"

# Reinstall but keep config files
make install-symfony TARGET=~/project OPTIONS="--force --preserve-config"

Migration

bash
# Check current state
make migrate-check

Troubleshooting

"Script not found"

bash
make fix-permissions

"yq not found"

bash
# Check prerequisites
./Dev/scripts/check-prerequisites.sh --fix

"TARGET required"

bash
# Always specify TARGET
make install-symfony TARGET=~/my-project

See Verbose Output

bash
make install-symfony TARGET=~/project OPTIONS="--verbose"

See Also