iterate/iterate · Archived

new-doppler-project

Create a new Doppler project for a repo app or service, wire it to inherit from `_shared`, add personal dev configs, set minimal app-local secrets, and register it in `doppler.yaml`.

First seen Jul 30, 2026

Installation

$ npx skills add iterate/iterate --skill new-doppler-project

Summary

  • Create a new Doppler project for a repo app or service, wire it to inherit from `_shared`, add personal dev configs, set minimal app-local secrets, and register it in `doppler.yaml`.
  • Use when the user adds a new app/service and wants Doppler setup, inheritance, per-user dev configs, or monorepo wiring.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from iterate/iterate · top by installs.

npx skills add iterate/iterate

Browse all from iterate/iterate

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 198
License LICENSE
Default branch main
Open issues 4
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,131 B
  • docs SUMMARY.md 330 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

New Doppler Project

Use this when you add a new app or service and need the matching Doppler project.

You are already logged in to Doppler. The only things you need are the project slug and repo path.

Keep this simple. Almost everything comes from _shared.

The target shape for a new project is:

dev:
APP_CONFIG={}

dev_jonas:

dev_misha:

dev_rahul:

preview:

preview_2:
APP_CONFIG_BASE_URL=https://<app>-preview-2.iterate-dev-stg.workers.dev

...

preview_9:
APP_CONFIG_BASE_URL=https://<app>-preview-9.iterate-dev-stg.workers.dev

prd:
APP_CONFIG={}

Everything else should already be inherited from _shared.

Do This

  1. Create the project:
doppler projects create <project-slug>
  1. Create the configs we use and point them at _shared:
doppler configs create dev_jonas -p <project-slug>
doppler configs create dev_misha -p <project-slug>
doppler configs create dev_rahul -p <project-slug>
doppler configs create preview_2 -p <project-slug> -e preview
doppler configs create preview_3 -p <project-slug> -e preview
doppler configs create preview_4 -p <project-slug> -e preview
doppler configs create preview_5 -p <project-slug> -e preview
doppler configs create preview_6 -p <project-slug> -e preview
doppler configs create preview_7 -p <project-slug> -e preview
doppler configs create preview_8 -p <project-slug> -e preview
doppler configs create preview_9 -p <project-slug> -e preview

doppler configs update dev -p <project-slug> --inherits="_shared.dev" --yes
doppler configs update dev_jonas -p <project-slug> --inherits="_shared.dev_jonas" --yes
doppler configs update dev_misha -p <project-slug> --inherits="_shared.dev_misha" --yes
doppler configs update dev_rahul -p <project-slug> --inherits="_shared.dev_rahul" --yes
doppler configs update preview -p <project-slug> --inherits="_shared.preview" --yes
doppler configs update preview_2 -p <project-slug> --inherits="_shared.preview" --yes
doppler configs update preview_3 -p <project-slug> --inherits="_shared.preview" --yes
doppler configs update preview_4 -p <project-slug> --inherits="_shared.preview" --yes
doppler configs update preview_5 -p <project-slug> --inherits="_shared.preview" --yes
doppler configs update preview_6 -p <project-slug> --inherits="_shared.preview" --yes
doppler configs update preview_7 -p <project-slug> --inherits="_shared.preview" --yes
doppler configs update preview_8 -p <project-slug> --inherits="_shared.preview" --yes
doppler configs update preview_9 -p <project-slug> --inherits="_shared.preview" --yes
doppler configs update prd -p <project-slug> --inherits="_shared.prd" --yes

For preview-enabled new-style apps, use preview and numbered preview2 through preview9. Do not create preview1, preview10, or stg unless the matching environment config lease and Cloudflare prerequisites are being added at the same time.

  1. Set the tiny app-local secrets:
doppler secrets set APP_CONFIG="{}" -p <project-slug> -c dev --silent
doppler secrets set APP_CONFIG="{}" -p <project-slug> -c prd --silent

That is all. Everything else should come from _shared.

  1. Turn Personal Configs off on the Development (dev) environment. When this is on, Doppler creates a devpersonal branch per user; we do not use that—we use named configs (devjonas, etc.) instead. This should always be off.

Dashboard (needs permission to manage environment settings on the project): open the project (doppler open -p <project-slug> jumps to the dashboard), find the Development environment, open the ⋮ menu next to it → Settings, turn the Personal Configs toggle off, Save.

API (same auth as an interactive doppler CLI—uses the credential already on the machine, no manual token paste):

``bash curl -sS -X PUT \ "https://api.doppler.com/v3/environments/environment?project=<project-slug>&environment=dev"; \ -H "Authorization: Bearer $(doppler configure get token --plain)" \ -H "Content-Type: application/json" \ -d '{"personal_configs":false}' ``

Verify: doppler configs -p <project-slug> must not list devpersonal. Or curl -sS "https://api.doppler.com/v3/environments/environment?project=<project-slug>&environment=dev"; -H "Authorization: Bearer $(doppler configure get token --plain)" and check JSON has "personalconfigs":false.

Workplace default (optional, reduces repeat fixes): Projects → ⋮ (top right) → Default Environments → for the dev row, set Personal Configs to off so new projects are not created with this enabled. Per Branch configs / Personal Configs.

There is no doppler environments … CLI subcommand for this toggle; use the dashboard or PUT above.

  1. Add the project to doppler.yaml:
setup:
  - project: <project-slug>
    path: <repo-path>/

In this repo, doppler.yaml uses only project and path. Do not pin a config there.

  1. Run local setup from the app or service directory:
cd <repo-path>
doppler setup --project <project-slug> --config dev_jonas
  1. Smoke test:
doppler secrets --only-names
doppler secrets get APP_CONFIG --plain
doppler run -- env | rg '^DOPPLER_CONFIG='
doppler secrets -c dev_jonas

Rules

  • Never ask for or mention a Doppler token.
  • Always create exactly devjonas, devmisha, and dev_rahul.
  • For preview-enabled new-style apps, create only dev, devjonas, devmisha, devrahul, preview, preview2 through preview_9, and prd unless the user explicitly asks for more.
  • DOPPLER_CONFIG is the canonical per-config selector, but it is injected by Doppler itself. Never create it as a secret.
  • For a new project, the app-local template is just APPCONFIG={} in dev and prd, plus APPCONFIGBASEURL in each leased preview config when the app has a public route.
  • Always set APP_CONFIG to {} in dev and prd.
  • Do not add extra app-local secrets unless the app actually needs them.
  • If staging comes back later, give stg its own distinct password. Do not reuse dev or prd.
  • Personal Configs on the dev environment should always be off (dashboard Development → ⋮ → Settings, or PUT to /v3/environments/environment with {"personal_configs":false} as in step 4).
  • Keep doppler.yaml in the repo's existing format.

References