Skip to Content
We are live but in Staging πŸŽ‰
Quickstart

Quickstart

This takes you from nothing to a merged pull request with the dodil CLI and plain git.

Before you start

  • The dodil CLI, installed and authenticated β€” see Install the CLIΒ . Git commands live under dodil git; auth is dodil auth login.
  • A git client. Nothing else β€” repositories are hosted for you.

1. Create a repository

dodil git repo create my-service --description "demo service" --default-branch main

Prints the new repo_id β€” the opaque UUID every wire URL and API call keys by. --default-branch is optional (server default: main). You can also create repos from the console’s Create Repo page.

2. Add a credential

Pick one of the two wire credentials (details in Auth and Access):

Option A β€” an org API key (HTTP). In the console, open API Keys β†’ Create API Key, pick a role (git.editor for read + write), and copy the dk_… secret β€” it is shown exactly once. On the git wire the key is the Basic password; the username is ignored.

Option B β€” an SSH key. In the console, open SSH Keys β†’ Add key and paste your public key in authorized_keys form (ssh-ed25519 AAAA… you@laptop). Mark it read-only if it should never push.

3. Clone

dodil git clone-url my-service # HTTP: https://git.dodil.io/<repo_id>.git # SSH: [email protected]:<repo_id>.git
# HTTP β€” the dk_ key rides as the Basic password (any username works) git clone https://user:[email protected]/<repo_id>.git my-service # or SSH, with your uploaded key git clone [email protected]:<repo_id>.git my-service

4. Push a branch

cd my-service git switch -c feature/hello echo "hello" > hello.txt git add hello.txt && git commit -m "Add hello" git push -u origin feature/hello

5. Open, approve, and merge a PR

dodil git pr create my-service --title "Add hello" --head feature/hello --base main dodil git pr list my-service dodil git pr approve my-service 1 --body "LGTM" dodil git pr merge my-service 1 --method squash

Approvals are pinned to the PR’s head sha β€” push more commits and the approval is stale. If the target branch has a protection rule, the merge is blocked until its conditions (approvals, green checks) hold.

6. Check the result

dodil git branch list my-service dodil git diff my-service main feature/hello

Next

  • Core Concepts β€” the repo / PR / check / protection model
  • Auth and Access β€” roles, keys, and who can do what
  • Recipes β€” CI checks gating a PR, mirroring an existing repo in