mcpField
C
configuring

configuring

github.com/oaustegardDevelopment15742 installsUpdated 1d ago
Repository

About configuring

A Python utility for reading environment variables, secrets, and configuration from multiple AI coding environments. It detects the current environment and combines supported sources with defined precedence.

Key features

  1. 01Detect the current coding environment
  2. 02Read values across configuration sources
  3. 03Load specific or all environment files
  4. 04Mask secrets for safer logging

Use cases

  1. 01Retrieve credentials across coding environments
  2. 02Load project and platform configuration
  3. 03Inspect configuration sources during debugging

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oaustegard/claude-skills --skill configuring

After installing, type/configuringin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

__init__.py
.gitignore
CHANGELOG.md
README.md
assets/
example.env
examples/
turso_refactored.py
scripts/
__init__.py
getting_env.py

Details

From the project README

Configuring

Unified configuration management across AI coding environments. Load environment variables, secrets, and other opinionated configuration setups from any AI coding platform.

Quick Start

import sys
sys.path.insert(0, '/path/to/claude-skills')  # or wherever skills are installed
from configuring import get_env, detect_environment

# Get a variable (searches all sources automatically)
token = get_env("TURSO_TOKEN", required=True)

# With default
port = get_env("PORT", default="8080")

# What environment are we in?
env = detect_environment()  # "claude.ai", "claude-code-desktop", "codex", "jules", etc.

Supported Environments

EnvironmentConfig Sources
Claude.ai Projects/mnt/project/*.env, /mnt/project/*-token.txt
Claude Code~/.claude/settings.json (env block), .claude/settings.json
OpenAI Codex~/.codex/config.toml, setup script → ~/.bashrc, shell_snapshots/*.sh
JulesEnvironment settings UI, .env in repo
Universalos.environ, .env, .env.local

API Reference

# Core
get_env(key, default=None, *, required=False, validator=None) -> str | None
load_env(path) -> dict[str, str]           # Load specific file
load_all(force_reload=False) -> dict       # Load all sources

# Utilities
detect_environment() -> str                 # Current platform
mask_secret(value, show_chars=4) -> str    # Safe logging
debug_info() -> dict                        # Troubleshooting
get_loaded_sources() -> list[str]          # What was checked

Credential File Formats

.env files (KEY=value):

TURSO_TOKEN=eyJhbGciOiJFZERTQSI...
EMBEDDING_API_KEY=sk-svcacct-...

Single-value files (*-token.txt, *-key.txt):

eyJhbGciOiJFZERTQSI...

Filename becomes key: turso-token.txt → TURSO_TOKEN

Claude Code settings.json:

{
  "env": {
    "TURSO_TOKEN": "eyJhbGciOiJFZERTQSI..."
  }
}

Priority Order

Later sources override earlier:

  1. OS environment variables
  2. Platform-specific sources (detected automatically)
  3. .env files in cwd
  4. OS environment variables (again - explicit exports always win)

Debugging

import sys
sys.path.insert(0, '/path/to/claude-skills')
from configuring import debug_info
print(debug_info())
# {'environment': 'claude.ai', 'sources': ['os.environ', 'claude.ai:/mnt/project/'], ...}

CLI:

cd /path/to/claude-skills/configuring
python scripts/getting_env.py                    # Show debug info
python scripts/getting_env.py TURSO_TOKEN        # Get specific key

Migration from api-credentials / getting-env

Replace:

# Old (api-credentials)
from credentials import get_anthropic_api_key
key = get_anthropic_api_key()

# Old (getting-env)
from getting_env import get_env
key = get_env("ANTHROPIC_API_KEY")

# New (configuring)
import sys
sys.path.insert(0, '/path/to/claude-skills')
from configuring import get_env
key = get_env("ANTHROPIC_API_KEY", required=True)

Comments

Markdown supported