Skip to content

Dynamic env lookups are not seen by lint and provider detection #17

Closed

Description

@ilanh

Summary

Credentials read through dynamic lookups are not detected: Ruby ENV[key.to_s.upcase] (pocketrb providers/base.rb:92), Go viper SetEnvPrefix("github") plus GetString("personal_access_token") (github-mcp-server: lint did not flag the PAT at all), Python litellm choosing env vars by model name.

Proposal

This cannot be solved statically, so:

  • Document the limitation (README or docs/DIRECTIVES.md), with the @openshell provider directive as the answer.
  • Add [providers] expect = ["GITHUB_PERSONAL_ACCESS_TOKEN"] to the config so projects can declare credentials once, and have generate and lint treat them as detected.

Found while testing five real projects (see the local candidate report). Numbered #11 in that report.

Activity

  1. added
    enhancementNew feature or request
    docsDocumentation
    providersProvider detection and profiles
    on Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumentationenhancementNew feature or requestprovidersProvider detection and profiles

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions