shared-env-contract

Audit and enforce the shared environment loading contract across services.

7|2|Updated Oct 28, 2025
One-click install
npx skills add https://github.com/SkastVnT/AI-Assistant --skill shared-env-contract
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shared-env-contract
Source: https://github.com/SkastVnT/AI-Assistant/tree/main/.github/skills/shared-env-contract
Command: npx skills add https://github.com/SkastVnT/AI-Assistant --skill shared-env-contract

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Audit and enforce the shared environment loading contract across all services. This skill helps teams ensure consistent env loading, detect misconfigurations, and prevent silent failures caused by environment variable changes.

Core Features & Use Cases

  • One loader function: centralizes env loading via services/shared_env.py and ensures a single source of truth.
  • Shared and per-service env files: enforces use of app/config/.env_{env} or .env with optional per-service overrides, plus documentation in .env.example.
  • Cross-service governance: identifies whether changes affect chatbot, MCP, or multiple services and prevents hard-coded secrets or ports.
  • Use Case: verify env changes when adding/renaming env vars across a microservices stack.

Quick Start

Run the shared environment loader at startup to load and validate environment variables across all services.

Frequently Asked Questions about shared-env-contract

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce a single shared environment loading contract across microservices?

To enforce a shared environment loading contract across microservices, use a single loader function, a single shared env file, and one allowed local override. This prevents misconfigurations and hard-coded secrets by ensuring all services read env vars via core/config.py.

Why does my dotenv configuration cause silent failures when renaming environment variables?

Your dotenv configuration causes silent failures when override-enabled dotenv calls bypass the central loader. By requiring a single loader function and disallowing override-enabled dotenv calls, the shared contract detects missing values and cross-service impacts during env var renames.

How do I audit environment variable changes across chatbot and MCP services?

To audit environment variable changes across chatbot and MCP services, evaluate the cross-service impact of adding or renaming env vars. This governance process verifies MCP server conformity, prevents hard-coded ports, and checks whether changes affect multiple services.

Can I use per-service env file overrides with a shared environment loader?

Yes, you can use per-service env file overrides with a shared environment loader. The contract enforces use of app/config/.env_{env} or .env as the shared base, while allowing exactly one optional per-service local override, plus documentation in .env.example.

What is the best way to debug missing environment values in a microservices stack?

The best way to debug missing environment values in a microservices stack is to audit the shared environment loading contract. This validates that env vars are read via core/config.py, checks for disallowed override-enabled dotenv calls, and ensures MCP server conformity.

When should I not use multiple dotenv calls for environment loading?

You should not use multiple dotenv calls for environment loading when managing a microservices stack. The shared contract requires a single loader function from services/shared_env.py and prohibits override-enabled dotenv calls to prevent silent failures and misconfigurations.