Projects
A project is the top-level container in VersionR. Everything — prompts, versions, API keys, environments, and logs — belongs to a project.
Structure
Project
├── API Keys (one per environment)
├── Environments (development, staging, production)
└── Prompts
└── VersionsEach project maps to a single application or service. If you have multiple independent services, create a project for each.
Environments
Every project comes with three environments pre-configured:
| Environment | Purpose |
|---|---|
development | Iterate freely. Changes here never affect users. |
staging | Mirror of production for review before releasing. |
production | Live to real users. Versioned and auditable. |
Each environment has its own active version pointer — deploying to staging has no effect on production.
API Keys
Each project has a separate API key per environment. This means:
- Your production SDK call can only read production prompts
- A leaked staging key cannot affect production data
- Key rotation in one environment is independent of others
// Development
const pd = new VersionR({ apiKey: process.env.VERSIONR_DEV_KEY })
// Production
const pd = new VersionR({ apiKey: process.env.VERSIONR_PROD_KEY })Keys are shown once on creation. Store them immediately in your secrets manager or .env file.
Creating a project
- From the dashboard, click New Project
- Give it a name (e.g.
interview-app) - Your three environments and API keys are created automatically
From there, create your first prompt and deploy it to an environment to start using the SDK.