Skip to Content
We are live but in Staging 🎉
CLI GuideRepositories

Repositories

Repository lifecycle from the CLI. <repo> accepts a repo_id UUID, a name in your configured org, or an org/name address — see repo arguments.

repo list

dodil git repo list # NAME DEFAULT VISIBILITY REPO_ID # my-service main private 0198a7c2-…

Lists every repo in the org. -o json returns the full DTOs (sizes, quotas, timestamps, http_url).

repo get

dodil git repo get my-service

Prints the repository as JSON — identity (repo_id, org_slug, name), visibility, default_branch, http_url, plus size, pack count, and quota fields.

repo create

dodil git repo create my-service \ --description "demo service" \ --default-branch main # Repository created: my-service (repo_id 0198a7c2-…)
FlagMeaning
--descriptionRepository description (optional)
--default-branchDefault branch (optional; server default main)

The repo starts empty and private. Grab the clone URLs with clone-url and push your first commit — the default branch materializes on the first push.

repo delete

dodil git repo delete my-service # Deleted repository my-service

Deletion requires git.admin and is irreversible — history, PRs, and checks go with it. There is no confirmation prompt.

Not on the CLI (yet)

Visibility and default-branch changes are console/API surfaces:

# flip visibility (git.admin) curl -X PUT "https://git.dodil.io/api/v1/repos/$REPO_ID/visibility" \ -u "user:$DK_KEY" -H 'Content-Type: application/json' \ -d '{"visibility":"public"}' # retarget the default branch (git.admin) curl -X PUT "https://git.dodil.io/api/v1/repos/$REPO_ID/default-branch" \ -u "user:$DK_KEY" -H 'Content-Type: application/json' \ -d '{"default_branch":"develop"}'

See API Reference — Repositories for both.

See also