Key
A key is the name of an environment variable, the KEY of KEY=secret.
It is what a program reads, what a .monkeys file lists, and what every
command takes on its line:
monkeys remember OPENROUTER_API_KEY
monkeys run OPENROUTER_API_KEY ./hello.shForm
A key takes letters, digits and _, and cannot start with a digit, the rule
POSIX gives for a variable name. OPENROUTER_API_KEY is a key;
openrouter-key is refused.
Where a key appears
Keys are public. They are committed in .monkeys, they appear in list and
in every message, and the process run starts sees them as the names of its
variables. monkeys takes no secret as an argument, only keys, so remembering one
never types it: your shell history and the process table both see
monkeys remember GITHUB_TOKEN and nothing more.
One key, several secrets
The same key in two profiles is two secrets, foo.test/DATABASE_URL and
foo.production/DATABASE_URL, and the key alone, with no profile, is a third.
Which one a command gets is decided by the profile, never by the key.