monkeys
Concepts

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…

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 set OPENROUTER_API_KEY
monkeys run OPENROUTER_API_KEY ./hello.sh

Form

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 storing one never types it: your shell history and the process table both see monkeys set 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.

On this page