From 275535f7cda7a6f312cb64d625494d8e4787f952 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Wed, 4 Feb 2026 05:37:08 +0000 Subject: [PATCH] Initial upload: ScaffoldForge CLI tool with full codebase, tests, and CI/CD --- scaffoldforge/cli/__init__.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 scaffoldforge/cli/__init__.py diff --git a/scaffoldforge/cli/__init__.py b/scaffoldforge/cli/__init__.py new file mode 100644 index 0000000..18a3f79 --- /dev/null +++ b/scaffoldforge/cli/__init__.py @@ -0,0 +1,30 @@ +"""CLI module for ScaffoldForge.""" + +import sys +from pathlib import Path + +import click + +from scaffoldforge.cli.commands import generate, preview, list_templates +from scaffoldforge.config import get_config +from scaffoldforge.parsers import IssueParser +from scaffoldforge.generators import StructureGenerator, CodeGenerator +from scaffoldforge.templates import TemplateEngine + + +@click.group() +@click.option("--verbose", "-v", is_flag=True, help="Enable verbose output") +@click.pass_context +def cli(ctx: click.Context, verbose: bool): + """ScaffoldForge - Generate project scaffolds from GitHub issues.""" + ctx.ensure_object(dict) + ctx.obj["verbose"] = verbose + config = get_config() + if verbose: + click.echo(f"Template directory: {config.get_template_dir()}") + click.echo(f"Output directory: {config.get_output_dir()}") + + +cli.add_command(generate, "generate") +cli.add_command(preview, "preview") +cli.add_command(list_templates, "list-templates")