diff --git a/plain-code/plain/code/cli.py b/plain-code/plain/code/cli.py index 8eccaff5dd..b147f59af5 100644 --- a/plain-code/plain/code/cli.py +++ b/plain-code/plain/code/cli.py @@ -21,18 +21,26 @@ def cli(): @cli.command() +@click.option("--force", is_flag=True, help="Reinstall even if up to date") @click.pass_context -def install(ctx): +def install(ctx, force): """Install or update the Biome standalone per configuration.""" - if version := get_code_config().get("biome", {}).get("version", ""): - biome = Biome() - click.secho( - f"Installing Biome standalone version {version}...", bold=True, nl=False - ) - installed = biome.install(version) - click.secho(f"Biome {installed} installed", fg="green") + biome = Biome() + + if force or not biome.is_installed() or biome.needs_update(): + version_to_install = get_code_config().get("biome", {}).get("version", "") + if version_to_install: + click.secho( + f"Installing Biome standalone version {version_to_install}...", + bold=True, + nl=False, + ) + installed = biome.install(version_to_install) + click.secho(f"Biome {installed} installed", fg="green") + else: + ctx.invoke(update) else: - ctx.invoke(update) + click.secho("Biome already installed", fg="green") @cli.command() diff --git a/plain-tailwind/plain/tailwind/cli.py b/plain-tailwind/plain/tailwind/cli.py index 1036e42588..cadb61a602 100644 --- a/plain-tailwind/plain/tailwind/cli.py +++ b/plain-tailwind/plain/tailwind/cli.py @@ -32,11 +32,12 @@ def init(ctx): @cli.command() +@click.option("--force", is_flag=True, help="Reinstall even if up to date") @click.pass_context -def install(ctx): +def install(ctx, force): tailwind = Tailwind() - if not tailwind.is_installed() or tailwind.needs_update(): + if force or not tailwind.is_installed() or tailwind.needs_update(): version_to_install = tailwind.get_version_from_config() if version_to_install: click.secho(