Skip to content

Projects

A project is one product: one waitlist, one changelog, one feedback inbox, one set of contacts. An account can hold several, so a side project and your main product do not share keys or data.

What belongs to a project, and what to the account

Section titled “What belongs to a project, and what to the account”
Per projectPer account
API keys, secret and publishableYour sign-in
Waitlist, changelog, feedback, notifications, contactsPlan and billing
Usage limits: signups, changelog entries, feedback per monthThe weekly digest and monthly report settings
Name, public address (launch.nordva.dev/waitlist/<slug>), custom domains, allowed origins
A connected Stripe account and a connected Lemon Squeezy store (Builder: one of each per project. Free and Indie: one of each on the account)

An API key belongs to exactly one project. Nothing in the REST API or the MCP server takes a project id: the key decides.

PlanProjects
Free2
Indie4
Builder10

Limits apply to each project separately. On Free, each of your two projects gets its own 100 waitlist signups and 25 changelog entries.

After a downgrade you keep every project you have. You cannot add another until you are under the new plan’s number.

All three happen in the dashboard. The project menu is at the top of the sidebar.

  • Create. “New project” in that menu. The project’s first secret and publishable key are shown once, right after.
  • Switch. Pick another project in the menu. Every page then shows that project.
  • Delete. Settings → Danger zone, for the project you have open. It removes the project’s keys and all its data. An account keeps at least one project, so the only project cannot be deleted. Other projects, your plan and your billing are untouched.

There is no API-key endpoint and no MCP tool that creates or deletes a project. A key, or an AI agent holding one, can only ever reach its own project.

npx nordva@latest init asks in the browser, not the terminal. When your account has more than one project, or room for another, the approval page has a “Which project is this folder for?” menu:

  • If the folder’s name (from package.json) matches one of your projects, that project is preselected.
  • Otherwise it offers a new project named after the folder.
  • The keys written to your env file belong to the project you choose there.

Run it once in each product’s folder and each gets its own keys. Signing in again replaces only the keys for that machine and that project, so setting up a second project leaves the first one working. A project keeps the keys of up to three machines.

If NORDVA_SECRET_KEY is exported in your shell, init uses it instead of asking, and says which project it belongs to. That is right for one product and wrong for several, so in another folder run:

Terminal window
npx nordva@latest init --login

which ignores the variable and asks the browser which project this folder is for.

The MCP server authenticates with a secret key, so each connection works on one project. To use two projects from one editor, add the server twice under different names, each with its own key. init does this per folder: the project-level MCP config it writes carries that folder’s key.

How that lands per editor:

EditorWhere the server is savedWith several projects
Claude Codeyour Claude Code config, for the folder init ran inone per folder, side by side
Cursor.cursor/mcp.json in the repository (gitignored, it holds the key)one per repository
VS Code.vscode/mcp.json in the repository; VS Code asks for the key once and keeps it itselfone per repository
Windsurf~/.codeium/windsurf/mcp_config.json, one file for your whole machinethe last init wins: it points at that project until you run init in another folder