feat(cli): add guided system and component authoring workflows - #364
Merged
Conversation
…e coverage floors
Release/v2.4.0
chore(release): bump version to 2.4.0
Contributor
|
🎉 This PR is included in version 2.4.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Promotes the completed Emulsify CLI 2.4.0 feature set from
developtomain.This release makes Emulsify CLI easier to use without requiring prior knowledge of every command and expands the CLI from consuming component systems into authoring them. Users can now create and detach systems, generate multiple component types through guided workflows, and eject the CLI's built-in templates for project-specific customization.
Interactive commands provide prompts and review steps when running in a terminal, while CI and other non-interactive environments remain explicit, deterministic, and fail fast with actionable instructions.
Guided CLI workflows
emulsify system installwith descriptive system and variant choices plus a final review step before files are changed.emulsify component install, including an option to install every available component.emulsify component createthrough component name, type, and directory selection.NO_COLORand suppresses ANSI formatting when output is not connected to a terminal.System authoring
emulsify system createfor scaffolding standalone, distributable component systems..gitignore, and a license placeholder.emulsify system detachto remove the configured system and variant while preserving installed components, project assets, and cached repositories.Together,
system detachandsystem createprovide a clearer path for teams that want to evolve installed components into a reusable component system of their own.Component authoring
--typeas the primary component-generation option:twigtwig-sdcreactweb-component--format defaultand--format sdcas deprecated compatibility aliases..cli/templates/default/and.cli/templates/sdc/project overrides.--tag-namefor explicitly setting a Web Component tag name.--forcewhile retaining compatible--yesbehavior where previously supported.Custom component templates
emulsify component eject-templatesto copy the CLI's built-in templates into.cli/templates/.--all.--dry-runpreviews and protects existing customizations unless--forceis provided.Reliability and cross-platform support
Documentation
Updates the project README and detailed documentation to cover:
Compatibility
This release does not intentionally remove any existing workflows.
--format defaultand--format sdcremain supported as deprecated aliases.Related Work
Verification
npm run buildnpm run typenpm testnpm run pack:dry-runnpm run smoke:packChecklist