# Quickstart

> One command sets everything up. Then publish your first changelog entry.

## 1. Set up with one command

In your project folder:

```bash
npx nordva@latest init
```

You do not need an account first. The command:

1. Shows a short code and opens your browser. Sign in, or sign up free, and confirm the code matches your terminal. No key is copied by hand.
2. Asks what your project is called. A new project is named "My Project" with a generated address such as `jane-x7k2`; this gives your hosted pages a real name and address (`launch.nordva.dev/waitlist/your-name`). Press Enter to accept the suggestion, which comes from your `package.json`.
3. Writes `NORDVA_SECRET_KEY` and a browser-safe publishable key to the env file your framework reads (`.env.local` for Next.js and Vite, `.env` otherwise), and makes sure git ignores that file.
4. Installs the MCP server for Claude Code, Cursor and VS Code, whichever it finds.
5. Adds `NORDVA.md`, a short guide for you and your AI coding agent.
6. Makes one API call to prove it works, then offers to open your live waitlist page next to the dashboard, so you can join with your own email and watch the signup arrive.
7. Offers to have your AI coding agent [plan the integration](/guides/plan-with-ai/): it reads your codebase and writes `NORDVA_PLAN.md`, and changes no code until you pick a step.

It asks before each change and never overwrites what is already there. `--dry-run` shows what it would do, `--yes` takes every default, `--name` and `--slug` name the project without being asked, and `npx nordva --help` lists the rest. The keys it creates are named after your machine and listed under **API Keys** in the dashboard, where you can revoke them. Running it again on the same machine replaces that machine's keys.

### Or get a key by hand

Sign up at [app.nordva.dev](https://app.nordva.dev/sign-up). On first sign-in we’ll provision an account, a default project, and your first API key. The key starts with `nv_live_`. Copy it right away: it’s only shown once.

**Caution:**
Treat API keys like passwords. Never commit them to source control. Keys are bcrypt-hashed at rest, so we cannot recover them; you can only revoke and replace them.

## 2. Publish your first changelog entry

```bash
curl -X POST https://api.nordva.dev/v1/changelog/entries \
  -H "Authorization: Bearer nv_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Hello, Nordva Launch",
    "body_markdown": "Our first release. More to come.",
    "category": "feature",
    "version": "v0.1.0"
  }'
```

Successful response (201):

```json
{
  "data": {
    "id": "ce_01J...",
    "title": "Hello, Nordva Launch",
    "body_markdown": "Our first release. More to come.",
    "category": "feature",
    "version": "v0.1.0",
    "status": "published",
    "published_at": "2026-05-11T20:00:00.000Z",
    "public_url": "https://launch.nordva.dev/log/your-project-slug/ce_01J..."
  }
}
```

Open the `public_url` in a browser: your entry is live on a public page you can link from anywhere.

## 3. Schedule for later

Pass `scheduled_at` (ISO 8601) and Nordva Launch will publish for you within one minute of the target time.

```json
{
  "title": "v0.2: Better feedback routing",
  "body_markdown": "...",
  "category": "feature",
  "scheduled_at": "2026-06-01T15:00:00Z"
}
```

## 4. Where to go next

- [Connect MCP](/mcp-setup) so you can publish from your editor.
- [Set up feedback routing](/feedback-routing) to send incoming reports to Slack or Linear.
- [Custom changelog domain](/custom-domains) (Builder plan): `changelog.yourdomain.com` via CNAME.

Source: https://docs.nordva.dev/quickstart/
