fn scaffold(
project_dir: &Path,
name: &str,
opts: &ScaffoldOpts,
) -> Result<(), CliError>Expand description
Common scaffolding logic shared by new and init.
Idempotent: files that already exist are left untouched, and the git commit is skipped when there is nothing staged. The commit sets an explicit author and committer so it does not depend on the user’s git identity.