CLI reference
Configuration
1 min read
The CLI works without configuration for the offline commands (add, list, search, validate). Configuration only matters when you want to:
- Point at a self-hosted designdrop instance.
- Override the default output path or format.
- Authenticate non-interactively in CI.
Config file
Drop a .designdroprc.json at your project root or your home directory. Project-local takes precedence.
{
"apiUrl": "https://designdrop.app",
"defaultOut": "DESIGN.md",
"defaultTheme": "auto",
"color": "auto"
}Settings:
apiUrl— base URL for API calls (defaulthttps://designdrop.app).defaultOut— default output path foraddandgenerate(defaultDESIGN.md).defaultTheme—auto,light,dark,both(defaultauto).color—auto,always,neverfor ANSI output (defaultauto, respectsNO_COLOR).
Environment variables
Useful in CI where a config file is awkward.
| Variable | Purpose |
|----------|---------|
| DESIGNDROP_TOKEN | API token for non-interactive auth. Bypasses the keychain. |
| DESIGNDROP_API_URL | Override apiUrl from the config. |
| NO_COLOR | Disable ANSI output. Standard convention. |
| CI | When set to true, the CLI assumes non-interactive mode (no prompts, no spinners). |
Non-interactive auth
In CI, skip the browser-based designdrop login flow by exporting a token:
# .github/workflows/release.yml
env:
DESIGNDROP_TOKEN: ${{ secrets.DESIGNDROP_TOKEN }}
steps:
- run: designdrop generate https://example.com --out DESIGN.md
- run: designdrop validate DESIGN.mdGenerate a token at app.designdrop.app/dashboard/api-keys (Pro tier and above).
Self-hosted
Point at a self-hosted instance via apiUrl. The CLI's wire protocol is documented in the API reference so any compliant server (the open-source designdrop or your fork) works the same way.