Instantiation de modèle Bootstrapp

VérifiéPrudence

Instancie un projet à partir d'un modèle Bootstrapp en résolvant les paramètres et en exécutant le script d'initialisation. Gère les dépendances entre paramètres et valide les valeurs par défaut.

Spar Skills Guide Bot
DeveloppementIntermédiaire
3002/06/2026
Claude Code
#bootstrapp#template-instantiation#project-scaffolding#code-generation

Recommandé pour

Notre avis

Instancie un projet à partir d'un bundle de template Bootstrapp en lisant sa spécification, résolvant les paramètres par défaut et exécutant un script de génération.

Points forts

  • Automatise la création de projets structurés avec des templates paramétrables.
  • Gère la résolution des paramètres avec des valeurs par défaut et des dépendances entre paramètres.
  • Annule explicitement si des paramètres obligatoires sont manquants, évitant des erreurs silencieuses.
  • Support de types de paramètres variés (chaîne, booléen, option) avec échappement approprié des valeurs.

Limites

  • Ne fonctionne qu'avec des templates Bootstrapp spécifiques (nécessite un fichier Bootstrapp.json).
  • Ne permet pas la personnalisation interactive des paramètres (abandon si des valeurs par défaut sont absentes).
  • Requiert Python 3 et le script bootstrapp.py dans le répertoire de la compétence.
Quand l'utiliser

Lorsque vous devez initialiser un nouveau projet à partir d'un template Bootstrapp existant avec des paramètres par défaut simples.

Quand l'éviter

Si le template nécessite une configuration interactive avancée ou si les paramètres obligatoires ne sont pas tous fournis avec des valeurs par défaut.

Analyse de sécurité

Prudence
Score qualité85/100

The skill uses Bash to execute a Python script with arguments derived from user-provided template path and parameters. While the script is fixed, the lack of input validation could allow unexpected behavior if the script itself has vulnerabilities.

Points d'attention
  • Runs a Python script with user-supplied arguments, which could lead to unintended behavior if the script is not properly sanitized
  • No validation on user-provided template path

Exemples

Basic template instantiation
Use the bootstrapp skill to instantiate a project from /path/to/template
Instantiate with explicit path
I want to create a new project using the Bootstrapp template at ~/templates/ios-app
Run bootstrapp on a template directory
bootstrapp /home/user/templates/my-template

name: bootstrapp description: Instantiate a project from a Bootstrapp template bundle user-invocable: true allowed-tools: Bash, Read argument-hint: [template-path]

Bootstrapp Template Instantiation

The user wants to instantiate a template. The template path is: $ARGUMENTS

Instructions

Step 1: Read the template spec

Read Bootstrapp.json inside the template path. Also read Bootstrapp.md if it exists and show its contents to the user.

Step 2: Resolve parameters using defaults

Read the parameters array from the spec. For each parameter, use its default value. Skip parameters whose dependsOn references a parameter that evaluates to false.

If ANY parameter does NOT have a default value, ABORT. Do not run the script. Instead, list ALL parameters in a table showing:

  • Parameter ID
  • Type (String, Bool, Option)
  • Default value or MISSING

Tell the user which parameters are missing defaults and ask them to provide values.

Step 3: Run the script

Only run this if ALL parameters have values (from defaults or user-provided).

The script is at scripts/bootstrapp.py relative to this skill's directory.

python3 scripts/bootstrapp.py "<template-path>" \
  --param KEY1=VALUE1 --param KEY2=VALUE2 \
  --exclude-package NAME \
  --verbose
  • Include ALL resolved parameters.
  • Quote values with spaces: --param "COPYRIGHT_HOLDER=Apparata AB"
  • For Option params, pass the option string: --param LICENSE_TYPE=MIT
  • For Bool params, pass true or false: --param GIT_INIT=false
  • Include all packages by default (no --exclude-package unless the user says otherwise).

Step 4: Report result

The script prints the output path as its last line to stdout. Tell the user the full path. For Xcode projects, mention they can open the .xcodeproj.

Then ask if they want to open the output directory in Finder (open "<path>").

Skills similaires