-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
clightraf CLI tool and command-line interfaceghtraf CLI tool and command-line interfaceenhancementNew feature or requestNew feature or request
Description
Retrofit ghtraf init with plan-execute pattern
Problem
init.py has 4+ if dry_run: branches for file copying and conflict detection. The dry-run path for existing files shows "Would prompt" but the real path prompts interactively — a divergence that could mislead users about what will happen.
Proposed solution
Extract plan_init(args) -> Plan that scans the template directory and produces actions:
COPY_FILE— new file, no conflictSKIP_FILE— file exists +--skip-existingPROMPT_OVERWRITE— file exists, needs user decision (requires_input=True)FORCE_OVERWRITE— file exists +--force
Remove dry_run from configure.py functions — they become pure executors.
Acceptance criteria
-
plan_init()returns aPlanwith per-file actions - Conflict detection (existing files) is part of planning, not execution
-
configure.pyfunctions no longer acceptdry_runparameter -
--skip-existingand--forceflags affect plan contents, not execution branches - Tests verify plan for empty target, existing files, and force mode
Related issues
- Parent: Plan-Execute epic
- Depends on: Core plan infrastructure sub-issue
- Refs ghtraf init — copy workflow and dashboard templates into target repo #28 — ghtraf init (the command being retrofitted)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
clightraf CLI tool and command-line interfaceghtraf CLI tool and command-line interfaceenhancementNew feature or requestNew feature or request