6. Account and settings
6.1 The kit's GitHub account
Why to connect it, how to sign in, what it unlocks (repositories, Git, GitHub CLI) and what works without it too.
In the app: «Settings»
In short
- One GitHub sign-in works for the whole kit: the Projects page, Git (in the editor, the consoles and the agents too) and GitHub CLI.
- You do it in Settings › “GitHub account” with “Sign in to GitHub” and a code to type in the browser.
- Without an account the kit works all the same: you clone public repositories and work locally.
- The sign-in stays in the kit: on another PC you are already signed in.
- With the sign-in, the commits' name and email are filled from the account, with GitHub's noreply address; you change them in “Who signs the commits”.
What it unlocks
| With the account | Even without |
|---|---|
| The list of your repositories in Projects, with clone, rename and delete | Cloning public repositories with “From a Git address” |
| Cloning private repositories | Creating projects, starting them, databases, sites, agents, tools |
| git push and git pull to GitHub without a password | Using Git locally (commits, branches) |
| The gh commands in the consoles, the editor and the agents | — |
| More requests to the GitHub API for downloads (5,000 an hour instead of 60) | Downloading the components (with the lower limit and a few fallbacks) |
Signing in
- Open Settings › “GitHub account”.
- Press “Sign in to GitHub”. After “Preparing the sign-in…” an eight-character code appears (XXXX-XXXX) and github.com opens in the browser.
- Press “Copy the code”, paste it into the GitHub page and authorize GitHub CLI. If the page did not open, use “Open the GitHub page”.
- Go back to Atollo: “Signed in as @your-name” appears.
“Sign out” removes the sign-in from the kit after the confirmation “Sign out of GitHub? Git, the editor and the kit's agents lose the access too.”; “Cancel” or Esc closes the question.
Open Settings →The permission to delete repositories
The normal sign-in does not include the permission to delete repositories. The first time you press “Delete from GitHub” on one of your repositories, the panel says the permission is missing and shows “Grant the permission”: the kit signs in again, asking for that too. The code to type appears in Settings › “GitHub account”. Then press “Delete from GitHub” again.
Your name in commits
In Settings › “GitHub account”, below the account, “Who signs the commits” has two fields, “Name” and “Email”: they are the name and email of the commits made with the kit's Git. Each one is saved when the field loses focus.
- If both are empty and the kit is signed in to GitHub, Atollo fills them by itself, at sign-in and at every start: the account's name (or login) and GitHub's private address, id+login@users.noreply.github.com. That way your real email stays private.
- You can type another name and email whenever you like. If you empty both, they are removed; at the next start, if the kit is still signed in to GitHub, the account's come back.
- A value that is not valid shows “Invalid name.” or “Invalid email address.”. If Git is not in the kit yet, “Git is not in the kit yet: it is installed with GitHub CLI.” appears.
They are Git's user.name and user.email values: in a kit terminal git config --global works too.
git config --global user.name "Nome Cognome"
git config --global user.email "tu@esempio.it"Under the hood
- The sign-in runs gh auth login --web --insecure-storage --scopes workflow: besides the standard GitHub CLI permissions (repo, read:org, gist) it asks for workflow; delete_repo only with “Grant the permission”.
- The token is in data\gh\hosts.yml (GH_CONFIG_DIR points there), never in the Windows Credential Manager.
- Git uses the same account through a credential helper (gh auth git-credential) written in the file data\home\.gitconfig for github.com and gist.github.com, without absolute paths: it survives moving the kit. At every start the kit aligns it with the state of gh; a helper you wrote yourself for those addresses stays as it is.
- “Who signs the commits” reads and writes git config --global user.name and user.email, that is the kit's data\home\.gitconfig file. Filling them from the account takes one gh api user call.
- Git trusts only the repositories in the kit's folder: the kit's .gitconfig has safe.directory = <kit folder>/* (for example D:/Atollo/*), rewritten at every start so it follows the kit when it changes folder; values you added stay. Before it was safe.directory = *, that is every repository on the PC, even other users'.
- For a repository outside the kit that belongs to another user, Git again warns about “dubious ownership”. If you trust it, in a kit terminal: git config --global --add safe.directory <folder>.
- To clone a private repository the token is passed to Git only for that operation, never on the command line nor in the .git\config file.
- For downloads the kit first uses the PC's GITHUB_TOKEN or GH_TOKEN, if present, then the kit's account. The API responses are kept in data\cache\github.
- The editor's “Accounts” menu does not see the kit's account; push and pull in the editor work anyway, through Git.