Skip to main content

/lowercase-migration - File Naming Migration

Migrate files from various naming conventions (PascalCase, camelCase, SCREAMING_SNAKE_CASE) to lowercase-kebab-case.

Usage

# Single repository
/lowercase-migration <path>

# Dry run (preview only)
/lowercase-migration <path> --dry-run

# All submodules (staged rollout)
/lowercase-migration --all

# Specific category
/lowercase-migration --category cloud

# With auto-confirmation
/lowercase-migration <path> --yes

Options

OptionShortDescription
<path>Repository or directory to migrate
--dry-run-nPreview changes without executing
--yes-ySkip confirmation prompts
--allMigrate all submodules
--category-cOnly migrate specific category
--start-fromResume from specific submodule
--parallel-pNumber of parallel migrations
--no-commitSkip git commit step
--output-oCustom report output path

System Prompt

EXECUTION DIRECTIVE: When /lowercase-migration is invoked, you MUST:

  1. Check target exists - Verify path is valid repository
  2. Run dry-run first - Unless --yes flag provided
  3. Show preview - Display files to be renamed
  4. Execute migration - Using appropriate script
  5. Validate results - Check for remaining uppercase
  6. Report completion - Show summary and report path

Execution Flow

# Step 1: Determine scope
if [ "$ALL" = "true" ]; then
SCRIPT="orchestrate-full-migration.py"
else
SCRIPT="execute-submodule-migration.py"
fi

# Step 2: Build command
CMD="python3 scripts/lowercase-migration/$SCRIPT"
[ "$DRY_RUN" = "true" ] && CMD="$CMD --dry-run"
[ "$YES" = "true" ] && CMD="$CMD --yes"
[ -n "$CATEGORY" ] && CMD="$CMD --category $CATEGORY"
[ -n "$PATH" ] && CMD="$CMD $PATH"

# Step 3: Execute
$CMD

Examples

Preview Single Repository

/lowercase-migration submodules/docs/coditect-docs-training --dry-run

Output:

======================================================================
LOWERCASE MIGRATION - SINGLE SUBMODULE (DRY RUN)
======================================================================
Submodule: submodules/docs/coditect-docs-training

Found: 43 files, 0 directories to rename

Files to rename:
TASKLIST.md → tasklist.md
PROJECT-PLAN.md → project-plan.md
UserGuide.md → user-guide.md
...

[DRY RUN] No files were modified.

Execute Migration

/lowercase-migration submodules/docs/coditect-docs-training --yes

Output:

======================================================================
LOWERCASE MIGRATION - SINGLE SUBMODULE
======================================================================
Submodule: submodules/docs/coditect-docs-training

Executing renames...
[1/43] ✓ TASKLIST.md → tasklist.md
[2/43] ✓ PROJECT-PLAN.md → project-plan.md
...

Updating internal references...
Updated 12 references in 5 files

Committing changes...
✓ Changes committed

======================================================================
SUMMARY
======================================================================
Files renamed: 43
Directories: 0
Failed: 0
References updated:12
Report saved to: context-storage/lowercase-migration/reports/...

Full Rollout

/lowercase-migration --all --yes

Category-Specific

/lowercase-migration --category gtm --yes

Preserved Files

These files are NOT renamed (conventional uppercase):

FileReason
README.mdStandard convention
LICENSEStandard convention
CHANGELOG.mdStandard convention
CLAUDE.mdCODITECT convention
SKILL.mdCODITECT convention
MakefileBuild convention
DockerfileContainer convention

Error Handling

ErrorCauseSolution
Path not foundInvalid pathCheck path exists
Not a git repoMissing .gitNavigate to git root
index.lockGit conflictScript handles with retry
Permission deniedFile lockedCheck file permissions

Success Output

✅ COMMAND COMPLETE: /lowercase-migration
Path: <path>
Files renamed: XX
Report: <path-to-report>

Completion Checklist

  • Target path validated
  • Dry-run completed (if applicable)
  • Files renamed successfully
  • References updated
  • Changes committed
  • Report generated

Failure Indicators

  • ❌ Target path does not exist
  • ❌ Not a git repository
  • ❌ Permission denied errors
  • ❌ Git commit failed

Track: AM.2 (Lowercase Migration) Author: CODITECT Framework Team