iqual/project-scaffold

交互式项目脚手架和初始化。

v1.1.1 2024-01-17 09:42 UTC

This package is auto-updated.

Last update: 2024-09-17 15:23:59 UTC


README

此Composer插件提供了在项目中添加和更新项目脚手架文件的能力。

使用此插件可以管理composer项目中的脚手架文件。脚手架文件可以位于单独的composer包中,该包可以定义要添加、替换或合并到项目中的资源。当此类项目资源包交互式地添加到项目中时,包括在项目创建(使用composer create-project)和composer更新期间,用户将被提示填写变量,然后可以用于动态模板化脚手架资源。

插件背后的想法是,git提交的项目文件(例如.lando.yml.devcontainer.ddev.env等)或仓库(例如README.md.gitignore.github/workflows等)可以使用composer进行管理。这允许集中管理和规范通用项目模板。虽然composer允许使用composer create-project从现有包创建新项目,但此插件增加了交互式引导的支持,包括模板化,并添加了更新现有项目的能力。

此插件深受Drupal的drupal/core-composer-scaffold启发,借鉴了其中的一些代码,以更“通用”的方法解决脚手架问题。感谢该项目的贡献者。类似的方法还包括独立工具PhabaliciousPhint

快速入门 🚀

在您的项目中使用composer要求项目脚手架插件,并允许插件。建议仅将插件作为开发依赖项要求。

composer require iqual/project-scaffold --dev

要管理项目脚手架,必须要求包含资源的(一个或多个)composer包。一旦插件被要求,用户将被提示(如果在交互式CLI中)回答由包定义的问题。然后,答案将被保存到根项目的composer.json中的extra.project-scaffold部分。一旦所有必要的变量都可用,资源将由项目脚手架插件根据资源包的assets定义进行管理。

有关如何创建项目资源包的指南,请参阅创建项目资源包

功能 ⭐

  • 为新项目搭建脚手架(即初始化或引导)
  • 在项目创建或更新期间进行交互式提示
  • 更新现有项目资源或composer项目
  • 在单独的版本化包中管理项目资源
  • 使用copmoser管理您的环境
  • 添加、替换(包括删除)和合并资源
  • 使用twig基于变量模板化资源
  • 将项目变量保存到项目composer文件的extra.project-scaffold
  • 使用composer自动化项目脚手架(例如,在您的CI中执行composer update

命令 ⚡

要初始化新项目(即始终提示包问题)请使用

composer project:init

要更新现有项目,再次提示包问题,并重新应用脚手架,请使用

composer project:update

要从所有资产包(重新)应用项目脚手架,请使用

composer project:scaffold

文档 📕