pull Command
What It’s For
Section titled “What It’s For”Update repositories in your workspace without entering each one manually.
What It Does
Section titled “What It Does”- Runs pull operations across managed repositories.
- Brings local branches up to date with remote changes.
- Reloads workspace configuration after a selected parent repository is updated.
- Reconciles managed ignore rules for the active configured paths before continuing child operations.
- Reports which repositories succeeded or failed.
arashi pull [options]Key Options
Section titled “Key Options”--only <repo>limit pull to specific repositories (repeatable).--group <group>pull only repositories in the requested group (repeatable).-v, --verboseprint full git output.--jsonoutput machine-readable pull results.
Examples
Section titled “Examples”# Pull all eligible repositoriesarashi pull
# Pull selected repositories onlyarashi pull --only api --only web
# Pull infrastructure repositories onlyarashi pull --group infra
# Pull with detailed command outputarashi pull --verbose
# Pull selected repositories and emit JSONarashi pull --only api --json- Repositories with no remote changes are skipped.
--grouptargets configured semantic sets; with--only, it narrows the explicit repository selection by intersection.- The parent repository follows the original
--onlyand--groupfilters. It runs first only when those filters select it;pulldoes not pull the parent solely to refresh configuration. - After a selected parent pull succeeds, Arashi reloads
.arashi/config.json, reapplies the original filters to the post-pull repositories and groups, reconciles the resultingreposDirandworktreesDir, and then pulls the selected children. An unfiltered run uses all children in the reloaded config. - If an original name or group filter no longer resolves after reload,
pullstops before remaining child pulls with a structured selection failure. A newly configured child that is absent locally is not cloned implicitly; it is skipped witharashi cloneguidance. - If the parent is excluded, or its pull fails and rolls back, child selection and reconciliation continue from the pre-pull configuration snapshot.
- Reconciliation honors effective tracked, repository-local, or global ignore rules. Missing safe rules use the clone’s stored scope or the repository-local default; scope
noneleaves files unchanged and reports unignored paths. Arashi never writes global Git configuration. - If a later child fails after a new parent configuration remains active, the managed ignore state required by that configuration is retained. State needed only by an abandoned, rolled-back parent update is restored.
- Pull failures or manual-update states return a non-zero exit code.
- In JSON mode, stdout contains one result document; verbose diagnostics stay out of stdout. Structured results include managed ignore sources, applied or planned changes, warnings, skips, and final rollback state when relevant.
Agent Notes
Section titled “Agent Notes”- Use
arashi pullbefore starting a new coordinated worktree whenarashi statusshows repositories are behind. - Prefer
--group <group>when the user has scoped work to a known semantic set, or--only <repo>when the work is limited to one repository. - Do not assume child selection is fixed when the selected parent can pull a changed config; inspect the post-reload structured results.
- Re-run
arashi statusafter pulling to confirm the workspace is ready for edits.
Related Commands
Section titled “Related Commands”pull coordinates configured child repositories and therefore requires configured mode. From standalone mode, run ordinary arashi init to upgrade; see the Standalone Repository workflow.