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-servicePrints 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-…)| Flag | Meaning |
|---|---|
--description | Repository description (optional) |
--default-branch | Default 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-serviceDeletion 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
- Clone & Push — turn a repo into a working clone
- Branches, PRs & Checks — everything inside the repo