config.yml — Personal Local Config

.foundry/config.yml is gitignored — it holds personal preferences, credential pointers, and per-developer overrides. The nested .foundry/.gitignore excludes it by name, so it is never tracked even with git add ..

Foundry only creates this file when you ask it to (for example, foundry github auth --save). Otherwise create it yourself when you need it.

What goes here

  • A GitHub token (github.token) for cross-repo discovery
  • Per-service SSH tunnel settings used by foundry db
  • Personal overrides you don't want to share with the team

Example

# .foundry/config.yml — GITIGNORED
github:
  token: ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

services:
  api:
    sshTunnel:
      host: bastion.example.com
      user: ec2-user
      password: ci/keys/bastion.pem   # path to the SSH key
      remoteHost: db.internal
      remotePort: 5432
      localPort: 5432

Defaults vs local

A committed config.defaults.yml can hold team-shared defaults (for example, a shared bastion host). The CLI deep-merges config.yml over config.defaults.yml, so your personal file only needs the values that differ.

GitHub token shortcut

foundry github auth --token ghp_... --save

This writes the token into config.yml for you. Alternatively use the GITHUB_TOKEN environment variable or the GitHub CLI (gh auth login).