Authentication
glance and kickstart need a GitHub token to call the GitHub API. You can
authenticate in three ways.
Preferred: GitHub CLI
Section titled “Preferred: GitHub CLI”Install GitHub CLI and sign in once:
gh auth loginAfter that, dn uses gh’s token automatically. No PAT or env var is required.
Alternative: Browser login
Section titled “Alternative: Browser login”Run:
dn authYour browser opens; complete sign-in there. The token is stored (e.g.
~/.config/dn/github_token) and reused by dn kickstart, glance, etc. You
only need to run this once, or again when the cached token expires.
Note: Device flow requires a GitHub OAuth App client ID. Set
DN_GITHUB_DEVICE_CLIENT_ID (or GITHUB_DEVICE_CLIENT_ID) to your app’s client
ID. Create an OAuth App at
GitHub Developer Settings, enable
Device flow in the app settings, and use the Client ID as the env value.
Advanced / CI: Personal Access Token
Section titled “Advanced / CI: Personal Access Token”For scripts and CI (e.g. GitHub Actions), set the GITHUB_TOKEN environment
variable with a Personal Access Token.
Fine-grained PATs are recommended: they are scoped to specific repositories
and permissions.
export GITHUB_TOKEN="ghp_your_token_here"Prefer GitHub CLI or browser auth for normal use; use a PAT only when needed (CI, scripts, headless). See GitHub token setup for detailed PAT instructions and security notes.
Summary
Section titled “Summary”| Method | Use case | Setup |
|---|---|---|
| GitHub CLI | Normal use | gh auth login |
Browser (dn auth) | No gh installed | dn auth (once) + client ID |
| GITHUB_TOKEN | CI / scripts | Set env var with PAT (fine-grained recommended) |