{
  "title": "Environment file validator",
  "human_url": "https://happytails.ai/en/developer-tools/environment-file-validator/",
  "agent_url": "https://happytails.ai/agents/en/developer-tools/environment-file-validator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/developer-tools/environment-file-validator.md",
  "content": "Environment file validator\nCheck environment assignments for duplicate names, malformed values and unclosed quotes without exposing values in the report.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Environment file validator\nPaste the environment file.\nReview line-numbered syntax and duplicate-assignment issues.\nCorrect the input and download the value-free validation report.\nUseful next steps\nEnvironment template generator\nContainer environment diff\nUse an explicit dotenv dialect\nPaste name=value assignments using the portable dialect described below. Optional export prefixes and comments are supported. Values are text. Quotes can span physical lines, while unquoted values end at the line or an unquoted # comment. This is not a shell or a Docker Compose interpreter.\nFind problems without printing secrets\nEach issue has a fixed explanation and its one-based starting line. The report does not echo values, variable names, source lines or neighboring text. Duplicate assignments are errors, rather than silently accepting the last value.\nSeparate syntax from working credentials\nA clean result means the file fits this dialect. It does not establish that an application recognizes each name, that required variables exist or that a credential works. Backslash escapes and variable references stay literal.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Environment template generator",
      "url": "https://happytails.ai/en/developer-tools/environment-template-generator/"
    },
    {
      "name": "Container environment diff",
      "url": "https://happytails.ai/en/developer-tools/container-environment-diff/"
    }
  ],
  "tool": {
    "id": "environment-file-validator",
    "category": "developer-tools",
    "built": true,
    "requirements": "Portable dotenv dialect: ASCII names, optional export, = assignments, # comments and literal single/double-quoted multiline values. No escape conversion, variable interpolation, shell execution or Docker Compose semantics. Up to 10,000 assignments. Use # empty for no assignments. At most 500 issue details are shown, with a count of omitted issues. Runs on your device with no configuration, repository or credential lookups. Up to 1,000,000 input characters and 4,000,000 characters per output file.",
    "implementation": {
      "fields": [],
      "live": true,
      "presentation": "metrics",
      "note": "Dialect: portable dotenv, not Docker Compose interpolation or a shell script. Names use ASCII letters, digits and underscores; the first character cannot be a digit. Optional export prefixes, # comments and literal single/double-quoted multiline values are supported. Backslash escapes and $ references are not expanded. Reports omit values and source lines. Use # empty for an environment with no assignments. Up to 10,000 assignments; up to 500 displayed issues with an omitted count. Duplicate assignments are reported, never silently overwritten. Runs on your device. No remote configuration, repository or credentials are queried. Up to 1,000,000 input characters; output files are limited to 4,000,000 characters each.",
      "experience": {
        "automatic": true,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Configuration text",
        "placeholder": "PORT=8080\nTOKEN=\"example-only\"\nEMPTY=\n",
        "help": "Paste text to process locally. Review the supported syntax and the result before downloading. Results update as you type. Up to 1,000,000 characters.",
        "action": null
      },
      "mode": "automatic",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Environment file validator\n\n- Human page: https://happytails.ai/en/developer-tools/environment-file-validator/\n- Markdown: https://happytails.ai/en/developer-tools/environment-file-validator.md\n- Structured JSON: https://happytails.ai/agents/en/developer-tools/environment-file-validator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `environment-file-validator` |\n| Category | developer-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Automatic updates after valid input or file selection. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nDialect: portable dotenv, not Docker Compose interpolation or a shell script. Names use ASCII letters, digits and underscores; the first character cannot be a digit. Optional export prefixes, # comments and literal single/double-quoted multiline values are supported. Backslash escapes and $ references are not expanded. Reports omit values and source lines. Use # empty for an environment with no assignments. Up to 10,000 assignments; up to 500 displayed issues with an omitted count. Duplicate assignments are reported, never silently overwritten. Runs on your device. No remote configuration, repository or credentials are queried. Up to 1,000,000 input characters; output files are limited to 4,000,000 characters each.\n\n### Inputs and settings\n\nText input: Configuration text.\n\nExample or placeholder shown in the interface (not a validated fixture):\n\n```text\nPORT=8080\nTOKEN=\"example-only\"\nEMPTY=\n```\n\nPaste text to process locally. Review the supported syntax and the result before downloading. Results update as you type. Up to 1,000,000 characters.\n\nNo additional settings are declared for this tool.\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nPortable dotenv dialect: ASCII names, optional export, = assignments, # comments and literal single/double-quoted multiline values. No escape conversion, variable interpolation, shell execution or Docker Compose semantics. Up to 10,000 assignments. Use # empty for no assignments. At most 500 issue details are shown, with a count of omitted issues. Runs on your device with no configuration, repository or credential lookups. Up to 1,000,000 input characters and 4,000,000 characters per output file.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"environment-file-validator\",\n  \"category\": \"developer-tools\",\n  \"built\": true,\n  \"requirements\": \"Portable dotenv dialect: ASCII names, optional export, = assignments, # comments and literal single/double-quoted multiline values. No escape conversion, variable interpolation, shell execution or Docker Compose semantics. Up to 10,000 assignments. Use # empty for no assignments. At most 500 issue details are shown, with a count of omitted issues. Runs on your device with no configuration, repository or credential lookups. Up to 1,000,000 input characters and 4,000,000 characters per output file.\",\n  \"implementation\": {\n    \"fields\": [],\n    \"live\": true,\n    \"presentation\": \"metrics\",\n    \"note\": \"Dialect: portable dotenv, not Docker Compose interpolation or a shell script. Names use ASCII letters, digits and underscores; the first character cannot be a digit. Optional export prefixes, # comments and literal single/double-quoted multiline values are supported. Backslash escapes and $ references are not expanded. Reports omit values and source lines. Use # empty for an environment with no assignments. Up to 10,000 assignments; up to 500 displayed issues with an omitted count. Duplicate assignments are reported, never silently overwritten. Runs on your device. No remote configuration, repository or credentials are queried. Up to 1,000,000 input characters; output files are limited to 4,000,000 characters each.\",\n    \"experience\": {\n      \"automatic\": true,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Configuration text\",\n      \"placeholder\": \"PORT=8080\\nTOKEN=\\\"example-only\\\"\\nEMPTY=\\n\",\n      \"help\": \"Paste text to process locally. Review the supported syntax and the result before downloading. Results update as you type. Up to 1,000,000 characters.\",\n      \"action\": null\n    },\n    \"mode\": \"automatic\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nCheck environment assignments for duplicate names, malformed values and unclosed quotes without exposing values in the report.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Environment file validator\n\n1. Paste the environment file.\n2. Review line-numbered syntax and duplicate-assignment issues.\n3. Correct the input and download the value-free validation report.\n\n## Useful next steps\n\n- [Environment template generator](https://happytails.ai/en/developer-tools/environment-template-generator/) ([Markdown](https://happytails.ai/en/developer-tools/environment-template-generator.md))\n\n- [Container environment diff](https://happytails.ai/en/developer-tools/container-environment-diff/) ([Markdown](https://happytails.ai/en/developer-tools/container-environment-diff.md))\n\n## Use an explicit dotenv dialect\n\nPaste name=value assignments using the portable dialect described below. Optional export prefixes and comments are supported. Values are text. Quotes can span physical lines, while unquoted values end at the line or an unquoted # comment. This is not a shell or a Docker Compose interpreter.\n\n### Find problems without printing secrets\n\nEach issue has a fixed explanation and its one-based starting line. The report does not echo values, variable names, source lines or neighboring text. Duplicate assignments are errors, rather than silently accepting the last value.\n\n### Separate syntax from working credentials\n\nA clean result means the file fits this dialect. It does not establish that an application recognizes each name, that required variables exist or that a credential works. Backslash escapes and variable references stay literal.\n"
}