This guide explains how to set up your local development environment with pre-configured API credentials for quick testing without going through the setup flow each time.
cp .env.example .envEdit .env with your actual credentials:
# Choose your provider (linear or jira)
DEV_PROVIDER=linear
# Linear credentials
DEV_LINEAR_API_TOKEN=lin_api_your_actual_token_here
DEV_LINEAR_ORGANIZATION=your-org-slug
# OR Jira credentials
DEV_JIRA_SITE_URL=https://yoursite.atlassian.net
DEV_JIRA_EMAIL=your-email@example.com
DEV_JIRA_API_TOKEN=your-actual-jira-token-here
# Optional: Enable debug mode
DEV_DEBUG_MODE=trueOpen the Debug panel (⌘+Shift+D or Ctrl+Shift+D) and select:
- "Run Extension (Linear Dev Mode)" - Launch with Linear credentials
- "Run Extension (Jira Dev Mode)" - Launch with Jira credentials
Press F5 or click the green play button.
When you launch with one of the dev mode configurations:
- Environment variables are loaded from VS Code's launch configuration
- DevBuddy reads these variables on activation
- Credentials are automatically stored in secure storage and settings
- Provider is set to the correct platform (Linear or Jira)
- Debug mode is enabled automatically (if requested)
- A warning banner appears confirming dev mode is active
- ✅ The
.envfile is gitignored and will never be committed - ✅ Credentials are stored in VS Code's secure storage (OS keychain)
- ✅ Dev mode only activates when using specific launch configurations
⚠️ Never commit your.envfile or share it publicly⚠️ Never commit credentials to version control
- Go to Linear Settings → API
- Create a new Personal API Key
- Copy the token (starts with
lin_api_) - Paste into
.envasDEV_LINEAR_API_TOKEN
Your organization slug is in your Linear URL: https://linear.app/YOUR-ORG-SLUG
- Go to Atlassian API Tokens
- Click "Create API token"
- Give it a name (e.g., "DevBuddy Dev Testing")
- Copy the generated token
- Paste into
.envasDEV_JIRA_API_TOKEN
Your site URL is your Jira Cloud URL: https://yoursite.atlassian.net
Run Extension (Linear Dev Mode)
- Loads Linear credentials from environment
- Sets provider to
linear - Enables debug logging
- Shows warning banner
Run Extension (Jira Dev Mode)
- Loads Jira credentials from environment
- Sets provider to
jira - Enables debug logging
- Shows warning banner
Run Extension
- Normal launch without auto-configuration
- Uses existing stored credentials
- Good for testing user setup flow
Run Extension (Fresh Install)
- Starts with clean user data directory
- No stored settings or credentials
- Perfect for testing first-time setup
Run Extension with Walkthrough
- Auto-opens the getting started walkthrough
- Uses existing credentials
Run Extension with Help Menu
- Auto-opens the help menu
- Uses existing credentials
| Variable | Description | Example |
|---|---|---|
DEV_MODE |
Enable dev mode (auto-set by launch config) | true |
DEV_PROVIDER |
Platform to use | linear or jira |
DEV_LINEAR_API_TOKEN |
Linear Personal API key | lin_api_abc123... |
DEV_LINEAR_ORGANIZATION |
Linear org slug | my-company |
DEV_JIRA_SITE_URL |
Jira Cloud site URL | https://mysite.atlassian.net |
DEV_JIRA_EMAIL |
Jira account email | dev@example.com |
DEV_JIRA_API_TOKEN |
Jira API token | ATATT3xF... |
DEV_DEBUG_MODE |
Enable debug logging | true or false |
- Check your
.envfile exists in the workspace root - Verify environment variables are in the launch configuration
- Check the Output panel (View → Output → "DevBuddy") for logs
- Look for the dev mode banner - it should appear on activation
- Check
DEV_PROVIDERin your.envfile - Restart the debug session - settings persist between launches
- Use "Fresh Install" mode to clear all settings
This is expected! Dev mode credentials are re-loaded on each debug session. This allows you to:
- Quickly switch between Linear and Jira
- Test with different accounts
- Avoid polluting your real extension settings
Use the "Run Extension (Fresh Install)" configuration to test the setup flow without dev mode credentials.
Keep both Linear and Jira credentials in your .env:
# Fill in both sets of credentials
DEV_LINEAR_API_TOKEN=lin_api_...
DEV_LINEAR_ORGANIZATION=my-org
DEV_JIRA_SITE_URL=https://mysite.atlassian.net
DEV_JIRA_EMAIL=dev@example.com
DEV_JIRA_API_TOKEN=ATATT...Then just change the provider in .env or select different launch config:
# Switch between these
DEV_PROVIDER=linear
# or
DEV_PROVIDER=jiraEnable debug logging to see exactly what's happening:
DEV_DEBUG_MODE=trueThen check the Output panel (View → Output → "DevBuddy") for detailed logs.
You can have different .env files for different projects:
~/work/devbuddy-test-linear/.env # Linear credentials
~/work/devbuddy-test-jira/.env # Jira credentialsUpdate your .env file when:
- Your API token expires
- You want to test with a different account
- You switch organizations/workspaces
VS Code launch configurations support environment variables:
"env": {
"MY_VAR": "${env:MY_VAR}" // Reads from .env or system environment
}Our dev mode configurations use this to read your .env file.
- VS Code reads your shell environment
- Loads
.envfile if present (via extensions/plugins) - Merges launch configuration
envblock - Environment is available to the extension via
process.env
Set breakpoints in src/shared/utils/devEnvLoader.ts to see:
- What environment variables are detected
- How credentials are stored
- Any errors during loading
- Set
DEV_PROVIDER=linearin.env - Launch "Run Extension (Linear Dev Mode)"
- Open DevBuddy sidebar - tickets load automatically
- Test features without setup flow
- Set
DEV_PROVIDER=jirain.env - Launch "Run Extension (Jira Dev Mode)"
- Open DevBuddy sidebar - issues load automatically
- Test features without setup flow
- Use "Run Extension (Fresh Install)"
- Complete setup manually
- Verify setup works correctly
- Return to dev mode for feature testing
- Launch with Linear dev mode
- Test a feature
- Stop debugging
- Launch with Jira dev mode
- Test the same feature
- Compare behavior
.env.example- Template for your.envfile.vscode/launch.json- Launch configurationssrc/shared/utils/devEnvLoader.ts- Dev environment loader implementationsrc/extension.ts- Activation logic that loads dev credentials
Check the main development guide: AGENTS.md
Remember: Never commit your .env file! It contains sensitive credentials.