Skip to content

Environment variables reference

IssueSuite behavior can be controlled through environment variables for CI automation, offline operation, debugging, and security. These settings supplement or override configuration file values.

Type: Boolean (0 or 1) Default: 0

Forces all sync operations into dry-run mode regardless of CLI flags. Designed for AI agent safety.

Terminal window
export ISSUESUITE_AI_MODE=1
issuesuite sync --update # Still runs as dry-run

Type: Boolean (0 or 1) Default: 0

Suppresses informational logging, useful when piping JSON output to other tools.

Terminal window
ISSUESUITE_QUIET=1 issuesuite export --pretty > issues.json

Type: Boolean (0 or 1) Default: 0

Enables verbose debug logging for troubleshooting.

Terminal window
ISSUESUITE_DEBUG=1 issuesuite sync --dry-run

Type: Boolean (0 or 1) Default: 0

Enables mock mode for offline testing without GitHub API access. All GitHub operations are simulated and printed as MOCK <action>.

Terminal window
export ISSUES_SUITE_MOCK=1
issuesuite validate --config issue_suite.config.yaml # No network calls

Use cases:

  • Air-gapped/hermetic CI runners
  • Offline development and testing
  • Quick validation without API rate limits

Type: Boolean (0 or 1) Default: 0

Disables online vulnerability database queries in pip-audit integration, relying solely on offline curated advisories.

Terminal window
ISSUESUITE_PIP_AUDIT_DISABLE_ONLINE=1 issuesuite security --pip-audit

Related CLI flag: --pip-audit-disable-online

Type: Integer (seconds) Default: 60

Maximum time to wait for pip-audit network operations before falling back to offline advisories.

Terminal window
ISSUESUITE_PIP_AUDIT_TIMEOUT=30 issuesuite security --pip-audit

Type: Boolean (0 or 1) Default: 0

Disables GitHub Projects (v2) field metadata caching. Cache normally lives in .issuesuite_cache/.

Terminal window
ISSUESUITE_PROJECT_CACHE_DISABLE=1 issuesuite sync --update

Type: Integer (seconds) Default: 3600 (1 hour)

Time-to-live for cached GitHub Projects field metadata.

Terminal window
ISSUESUITE_PROJECT_CACHE_TTL=7200 # 2 hours

Type: Integer Default: 3

Maximum number of retry attempts for transient GitHub API failures.

Terminal window
ISSUESUITE_RETRY_ATTEMPTS=5 issuesuite sync --update

Type: Float (seconds) Default: 1.0

Base delay for exponential backoff between retry attempts.

Terminal window
ISSUESUITE_RETRY_BASE=2.0 issuesuite sync --update

Type: Float (seconds) Default: 60.0 (optional)

Maximum sleep duration between retries (caps exponential backoff).

Terminal window
ISSUESUITE_RETRY_MAX_SLEEP=30.0 issuesuite sync --update

Type: String Required: Yes (unless using GitHub App authentication)

Personal access token or GitHub Actions token for API authentication.

Terminal window
export GITHUB_TOKEN="ghp_..."
issuesuite sync --update

Alternative to token authentication when using GitHub App integration:

  • ISSUESUITE_GITHUB_APP_ID
  • ISSUESUITE_GITHUB_APP_PRIVATE_KEY_PATH
  • ISSUESUITE_GITHUB_APP_INSTALLATION_ID

See GitHub App authentication for setup details.

Environment variables don’t directly control dependency synchronization, but these commands use them:

Terminal window
# Validate lockfiles are synchronized (used in CI)
./scripts/refresh-deps.sh --check
# Update lockfiles after manifest changes
./scripts/refresh-deps.sh

The CI workflow .github/workflows/dependencies.yml automatically validates lockfile synchronization on every PR.

Type: Comma-separated list Default: Empty

Explicitly enable specific plugins by entry-point name.

Terminal window
ISSUESUITE_PLUGINS="my_plugin,another_plugin" issuesuite sync

Type: JSON string Default: Empty

Override telemetry configuration via environment.

Terminal window
ISSUESUITE_TELEMETRY='{"enabled": true}' issuesuite sync

For a complete offline/hermetic deployment, use:

Terminal window
export ISSUES_SUITE_MOCK=1
export ISSUESUITE_PIP_AUDIT_DISABLE_ONLINE=1
export ISSUESUITE_PROJECT_CACHE_DISABLE=1
export ISSUESUITE_QUIET=1
issuesuite validate --config issue_suite.config.yaml

For AI agent safety:

Terminal window
export ISSUESUITE_AI_MODE=1
issuesuite sync --update # Always dry-run

For debugging:

Terminal window
export ISSUESUITE_DEBUG=1
issuesuite sync --dry-run