Fast workspace tools for multi-repo management
Fast workspace tools for multi-repo management.
pip install fastws-cli
Create a repos.txt file listing your repos (one per line):
AnswerDotAI/fastcore
AnswerDotAI/fastgit
AnswerDotAI/fastship
AnswerDotAI/fastws
ws-cloneClone all repos from your repos file:
ws-clone
ws-clone --repos-file myrepos.txt
ws-clone --workers 8
ws-pullPull updates for all repos (parallel):
ws-pull
ws-statusShow uncommitted changes and unpushed commits:
ws-status
ws-status --branches
ws-branchesCheck if all repos are on the expected branch:
ws-branches
ws-branches --expected develop
ws-syncSync the workspace metadata, pull local repos, and install updates.
By default it uses the active venv parent as the workspace root, so you do not need to cd first:
It respects tool.uv.workspace.members and exclude when scanning local projects.
ws-sync
ws-sync --workspace ~/aai-ws
ws-addAdd a repo to repos.txt, then run ws-sync:
ws-add AnswerDotAI/fastws
ws-add answerdotai/fastws
ws-removeRemove a repo: delete its clone, and drop it from repos.txt and the workspace
pyproject.toml, then run uv sync. It refuses if the directory has uncommitted
changes, unpushed commits, no origin remote, or isn’t a clean git checkout, and
always prompts for confirmation before deleting anything:
ws-remove AnswerDotAI/fastws