tfenv: Instructions file for GitHub Copilot

.github/instructions/bash.instructions.md

tfenv bash.instructions.md is an instructions file for GitHub Copilot from tfutils/tfenv. It costs 939 tokens per session, scanned A, original, MIT.

A set of Bash coding rules for the tfenv repository, a tool that manages Terraform versions. It covers how scripts are structured, formatted, and written.

In plain words
What is it for?
Use it when creating or editing tfenv Bash scripts, especially scripts in its libexec directory.
Why use it?
It gives coding agents clear rules to check before changing shell scripts, reducing formatting and setup mistakes.

Instructions file for GitHub Copilot

Written for GitHub Copilot: a Copilot instructions file.

This is tfutils/tfenv's own configuration. It tells GitHub Copilot how to work on tfenv itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything tfenv configures →

About the project

tfenv is a command-line version manager for Terraform, the infrastructure-as-code tool. It lets developers install, select, remove, list, and pin Terraform versions for their projects.

tfutils/tfenv · 4,991 stars · on GitHub

Reuse

Borrowing it

Nothing to install: this file belongs to tfutils/tfenv. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/tfutils/tfenv/master/.github/instructions/bash.instructions.md
Clone the repo
git clone --depth 1 https://github.com/tfutils/tfenv

Made for: GitHub Copilot.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for tfenv bash.instructions.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/tfutils/tfenv/bash/github.svg)](https://agentmods.dev/instructions/tfutils/tfenv/bash)
Your own site
<a href="https://agentmods.dev/instructions/tfutils/tfenv/bash"><img src="https://agentmods.dev/badge/instructions/tfutils/tfenv/bash/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for tfenv bash.instructions.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/tfutils/tfenv/bash"><img src="https://agentmods.dev/badge/instructions/tfutils/tfenv/bash.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 939 This file is loaded in full into every session.
When invoked 939 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00939 $0.00939
Opus 5.5 $0.00376 $0.00376
Sonnet 5.5 $0.00188 $0.00188
Haiku 4.5 $0.00094 $0.00094

Measured 2mo ago against content hash c9a29f63457c, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

tfenv bash.instructions.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/instructions/bash.instructions.md · 103 lines

How it starts

The opening of the file, as written. The whole thing — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Bash Coding Standards — tfenv

These standards apply to ALL bash scripts in the tfenv repository. Read this entire document BEFORE writing or modifying any bash code.

Mandatory Pre-Write Verification

Before writing ANY bash code, verify you understand these rules. Violations caught after writing waste time — get it right first.

Shell Setup

Every script in libexec/ contains its own boilerplate for resolving TFENV_ROOT and sourcing helpers. This is intentional — each script must be executable in isolation. Do NOT refactor this into a shared loader.

#!/usr/bin/env bash
set -uo pipefail;
  • Shebang: #!/usr/bin/env bash (exact format)
  • Strict mode: set -uo pipefail; — NEVER use set -e
  • The project does NOT use shellcheck — this is a deliberate choice

Indentation and Formatting

  • 2-space indentation throughout (no tabs)
  • Terminate ALL statements with a semicolon (;) where syntactically correct
  • Include vim modeline at end of new scripts: # vim: set syntax=bash tabstop=2 softtabstop=2 shiftwidth=2 expandtab smarttab :

Variables

  • ALL variable references use braces: ${variable} (never $variable)
  • Script-local variables use lowercase: ${version}, ${remote}
  • Environment variables use UPPERCASE: ${TFENV_ROOT}, ${TFENV_ARCH}
  • Always quote variable expansions: "${variable}"
  • Quote entire strings containing variables: "${dir}/file" NOT "${dir}"/file
  • Use ${var:-default} for optional variables (scripts run with set -u)

Quoting

  • Single-quote strings unless variable expansion is needed
  • Double-quote strings that contain variable expansion
  • NEVER use unescaped ! inside double-quoted strings (bash history expansion)

Command Substitution

  • Use $(...) NOT backticks

Error Handling

  • NEVER use set -e — handle errors explicitly
  • Use the project's existing error patterns:
    • error_and_die for fatal errors (available via lib/helpers.sh)
    • Inline || pattern for simple cases:
      some_command || error_and_die "Failed to do thing";
      
  • Note: error_and_die does NOT exist in the test context — tests use error_and_proceed instead

Read the full file on GitHub · 103 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2mo ago First seen · 103 lines · 939 tokens per session scan A c9a29f63457c

Subscribe to this mod's changes

tfenv bash.instructions.md is an instructions file published in the GitHub repository tfutils/tfenv (4,991 stars, last pushed 4mo ago), licensed MIT. It adds 939 tokens to every session, about $0.0038 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

tfenv bash.instructions.md compared with instructions from other repositories

tfenv bash.instructions.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
tfenv bash.instructions.mdtfutils/tfenvInstructions file5.0k4mo agoMITA939GitHub Copilot
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA5,516GitHub Copilot
langchain AGENTS.mdlangchain-ai/langchainInstructions file149ktodayMITA4,680Codex, OpenCode
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode