---
title: Onboarding Summary
description: Generate a setup summary document the user can reference, with links to documentation and suggested next steps
---

# Onboarding Summary

After completing the onboarding flow, leave behind a summary document in the user's repository so they (and their team) have a reference for how LaunchDarkly was set up and what to do next.

## Step 1: Generate the Summary Document

Create a file called `LAUNCHDARKLY.md` (or `docs/LAUNCHDARKLY.md` if the project has a `docs/` directory) in the user's repository with the following sections. Fill in the details based on what was done during onboarding. Collect the LaunchDarkly **project key** and **environment key** (`{PROJECT_KEY}` / `{ENV_KEY}`) from the same place you used during onboarding (dashboard URLs, MCP tools, or **Project settings → Environments**) if they were not written into the plan explicitly.

### Template

The wrapper below uses `~~~markdown` so a nested ` ```json ` block inside the template does not break Markdown rendering. (The generated `LAUNCHDARKLY.md` file itself may use normal ` ``` ` fences.)

~~~markdown
# LaunchDarkly Setup

This project uses [LaunchDarkly](https://launchdarkly.com) for feature flag management.

## SDK Details

- **SDK**: {SDK_NAME} ({SDK_PACKAGE})
- **SDK Type**: {server-side | client-side | mobile | edge}
- **Key Type**: {SDK Key | Client-side ID | Mobile Key}
- **Installed via**: {INSTALL_COMMAND}
- **Initialization file**: {ENTRYPOINT_FILE}

## Configuration

The SDK key is configured via the `{ENV_VAR_NAME}` environment variable.

- **Do not hardcode** the SDK key in source code.
- Add the key to your `.env` file locally (already in `.gitignore`).
- For production, set it in your deployment environment (e.g., CI/CD secrets, container env vars, cloud config).

## Where to Find Things

| What | Where |
|------|-------|
| Feature flags dashboard | https://app.launchdarkly.com/projects/{PROJECT_KEY}/flags |
| Project settings | https://app.launchdarkly.com/settings/projects/{PROJECT_KEY} |
| Environments | https://app.launchdarkly.com/settings/projects/{PROJECT_KEY}/environments |
| API access tokens | https://app.launchdarkly.com/settings/authorization |
| SDK documentation | {SDK_DOCS_URL} |
| LaunchDarkly docs | https://launchdarkly.com/docs |

## How Feature Flags Work in This Project

1. Flags are evaluated using the LaunchDarkly SDK in `{ENTRYPOINT_FILE}`
2. Flag values are fetched from LaunchDarkly based on the evaluation context (user/device/org)
3. Changes to flags in the dashboard take effect immediately (server-side SDKs use streaming by default)

### Example: Evaluating a Flag

{INSERT_LANGUAGE_SPECIFIC_EXAMPLE}

## Next Steps

Here are some things you can do now that LaunchDarkly is set up:

### Feature Flag Best Practices
- **Use flags for every new feature**: Wrap new features in flags so you can release and roll back independently of deployments.
- **Clean up temporary flags**: Mark flags as temporary during creation and archive them when no longer needed.
- **Use descriptive flag keys**: e.g., `enable-checkout-v2` instead of `flag-1`.

### Advanced Capabilities
- **[Percentage Rollouts](https://launchdarkly.com/docs/home/targeting-flags/rollouts)** — Gradually roll out features to a percentage of users.
- **[Targeting Rules](https://launchdarkly.com/docs/home/targeting-flags/targeting-rules)** — Target specific users, segments, or contexts.
- **[Experimentation](https://launchdarkly.com/docs/home/about-experimentation)** — Run A/B tests and measure the impact of flag variations.
- **[configs](https://launchdarkly.com/docs/home/ai-configs)** — Manage AI model configurations and prompts with feature flags.
- **[Guarded Rollouts](https://launchdarkly.com/docs/home/guarded-rollouts)** — Automatically roll back flag changes based on metric guardrails.
- **[Observability](https://launchdarkly.com/docs/home/observability)** — Monitor flag evaluations and SDK performance with built-in telemetry.

### Agent Integration (MCP Server)

Install the [LaunchDarkly MCP server](https://github.com/launchdarkly/mcp-server) to let your agent manage feature flags directly from your editor. With it, your agent can:

- **Create and manage flags** — Ask your agent to create a new feature flag, and it will handle the API calls for you.
- **Toggle flags on/off** — Turn features on or off across environments without leaving your editor.
- **Set up targeting rules** — Configure percentage rollouts, user targeting, and segment-based rules through natural language.
- **Clean up stale flags** — Ask your agent to find temporary flags that are fully rolled out and ready to archive.
- **Run experiments** — Set up A/B tests and monitor results through your agent.
- **Manage configs** — Update model configurations and prompts managed by LaunchDarkly.

**Setup:** Use the [Hosted MCP](https://launchdarkly.com/docs/home/getting-started/mcp-hosted) server, which uses OAuth — no tokens stored in config files.

See the [MCP server docs](https://github.com/launchdarkly/mcp-server) for editor-specific setup instructions.

### Useful CLI Commands

If you have `ldcli` installed:

| Command | Description |
|---------|-------------|
| `ldcli flags list --project {PROJECT_KEY}` | List all feature flags |
| `ldcli flags toggle-on --project {PROJECT_KEY} --environment {ENV_KEY} --flag FLAG_KEY` | Turn a flag on |
| `ldcli flags create --project {PROJECT_KEY} --data '{"name": "My Flag", "key": "my-flag", "kind": "boolean"}'` | Create a new flag |
| `ldcli environments list --project {PROJECT_KEY}` | List environments and SDK keys |
~~~

## Step 2: Fill in the Template

Replace all `{PLACEHOLDER}` values with the actual values from the onboarding session (gather any you did not write down earlier from **Project settings → Environments** in LaunchDarkly or from MCP tools / `ldcli`):

- `{SDK_NAME}`: The human-readable SDK name (e.g., "Node.js Server SDK")
- `{SDK_PACKAGE}`: The package name (e.g., `@launchdarkly/node-server-sdk`)
- `{INSTALL_COMMAND}`: The install command used (e.g., `npm install @launchdarkly/node-server-sdk`)
- `{ENTRYPOINT_FILE}`: The file where initialization code was added
- `{ENV_VAR_NAME}`: The environment variable name used for the SDK key (or client-side ID env name)
- `{PROJECT_KEY}`: The LaunchDarkly **project** key (URL segment and `ldcli --project`)
- `{ENV_KEY}`: The LaunchDarkly **environment** key for the environment whose SDK key / client-side ID you used (e.g., `production`, `test`, `development`)—required for `ldcli` commands that take `--environment` and for the dashboard links that are scoped per environment where applicable
- `{SDK_DOCS_URL}`: Link to the specific SDK documentation
- `{INSERT_LANGUAGE_SPECIFIC_EXAMPLE}`: A short code snippet showing flag evaluation in the project's language

## Step 3: Commit the Summary

Add the file to version control so the whole team can reference it:

```bash
git add LAUNCHDARKLY.md
git commit -m "docs: add LaunchDarkly setup reference"
```

Ask the user for permission before committing. If they prefer not to commit it, that's fine — they still have the file locally.
