# Move

Modes: preview/apply or execute.
Use execute for routine changes.
Use preview/apply when learning a mutation command or inspecting a large multi-step request before writing files.

If a name is ambiguous, use selectors.
Run help selectors to refresh selector syntax.

Move transfers one or more symbols from one file to another.
Move is semantic; it moves supported declarations and updates affected imports/references.
Use it for focused extraction into a single target file.
For large file splitting across several target files, use modulePlan.

Move to file:
move toFile preview --stdin
move toFile execute --stdin
move toFile apply <previewId>

Use preview/apply when you want to inspect the planned change before writing files.
Use execute when you want to write immediately.

Move several entities into one target:
Run:
aib move toFile execute --stdin

Input:
@source src/service.ts
move src/service.helpers.ts: oldHelper OtherHelper

Move creates the target file when needed.
The target can already exist.

The request means:
take entities from sourceFile and move them into targetFile.

Use refactor batch when the same workflow needs both rename and move steps.
