Environment variables
Give a prototype the configuration it needs, such as an API address or a demo-service token. Set a shared default for your organization, or a different value for one prototype.
Commands
In your linked project folder, open a terminal and run:
artor env set API_URL=https://api.example.com --local
artor env pullThis saves an address for the prototype and copies it to .env.local on your computer.
Your prototype must be set up to use the variable. If you haven’t used the terminal with
Artor yet, follow Installing the CLI.
artor env list # see variable names and whether they can be downloaded
artor env rm API_URL # remove the prototype's valueTo set a value used only by the hosted prototype, leave off --local:
artor env set DEMO_TOKEN=your-staging-tokenFor a secret already available as $SECRET in your terminal, read it from a pipe so its value
doesn’t appear in the command history:
printf %s "$SECRET" | artor env set DEMO_TOKEN --stdinWith --stdin, pass the name alone, without =VALUE.
Scopes: org, project, version
| Scope | Applies to | How to choose it |
|---|---|---|
| Organization | All prototypes in the organization | --scope org |
| Project | One prototype, including its versions | Default in a linked folder |
| Version | One published version | --version v3 |
artor env set API_URL=https://demo.example.com --local --scope org # admin access required
artor env set FEATURE_FLAG=on --version v3
artor env list --scope org
artor env rm API_URL --scope org # admin access requiredOutside a linked folder, use --scope org for set, list, and rm.
See the CLI reference for all flags.
Precedence: version wins over project wins over org
Suppose the organization uses API_URL=https://demo.example.com, but one prototype needs
https://research.example.com. Set API_URL for that project; other prototypes keep the
organization’s address. A value set for one version takes priority over both.
Changes take effect when the hosted prototype next starts, without republishing. An already running preview keeps its current values until it goes idle and starts again. Changes to a shared value can therefore affect older versions too. To give a particular version its own configuration, set the value at version scope.
Using values on your computer
| Setting | Where it can be used |
|---|---|
| Server-only (default) | The hosted prototype when opened by organization members; it cannot be downloaded with env pull. |
Local (--local) | The hosted prototype, including public-link visits, and your computer after env pull. |
artor env list never shows values. Publishers can download a prototype’s local values
with artor env pull, subject to its Space permissions. Any organization member can pull
organization-wide local values.
Server-only values are not provided to public-link visitors’ previews, so a feature that depends on one may not work there.
pull combines the project’s local values with the organization’s defaults. It does not pull
version-specific values and accepts no scope flag. Outside a linked folder, it pulls the
organization’s local values only.
It updates Artor’s section of .env.local, preserving your other lines. Artor excludes this
file when publishing; keep it out of Git and don’t share it.
Use staging or demo credentials, not production secrets. Prototype code can read the values it receives and could display or send them elsewhere. Neither setting makes a secret safe inside untrusted prototype code.
NEXT_PUBLIC_* must be local
For Next.js prototypes, variables beginning with NEXT_PUBLIC_ must be set with --local and
pulled before building or publishing. These values are visible to visitors in their browser.
Never use them for passwords or private tokens. Static prototypes also need their configuration
before publishing; changing a hosted variable does not update their existing pages.
Who can set what
- Organization values: owners and admins can set and remove them.
- Project or version values: a publisher seat and permission to edit the prototype’s Space are required. Reviewers cannot change them.
- List names: organization members with access to the prototype.
- Pull local values: publishers with permission to download the prototype’s source; organization-wide local values are available to organization members.
Reserved names
Artor manages these names, so choose a different name for your own configuration:
PORT, HOSTNAME, NODE_ENV, NODE_OPTIONS, PATH, and HOME.
Use letters, numbers, and underscores. Start a name with a letter or underscore.
Limits
Each scope supports 200 variables, with 32 KB per value. Empty values are not accepted.
Related
- Mock datasets — sample content for a prototype
- Seats — who can publish and change configuration
- CLI reference — every command and flag