diff --git a/.github/workflows/worker.yml b/.github/workflows/worker.yml
deleted file mode 100644
index fef0e3c..0000000
--- a/.github/workflows/worker.yml
+++ /dev/null
@@ -1,95 +0,0 @@
-name: Test Worker Redirects
-
-on:
- pull_request:
- types: [opened, synchronize, reopened]
-
-jobs:
- test:
- runs-on: ubuntu-latest
- permissions:
- contents: read
- deployments: write
- pull-requests: write
-
- env:
- CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
- CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
-
- steps:
- - uses: actions/checkout@v4
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: '20'
-
- - name: Install dependencies
- working-directory: ./worker
- run: npm install
-
- # Deploy preview
- - name: Deploy Worker Preview
- id: deploy
- working-directory: ./worker
- run: |
- # Deploy the worker to preview environment
- OUTPUT=$(npx wrangler deploy --config wrangler.jsonc --env preview 2>&1)
- echo "$OUTPUT"
-
- # Extract the deployed URL from the output
- # Look for the worker URL pattern
- PREVIEW_URL=$(echo "$OUTPUT" | grep -o 'https://docs-preview[^[:space:]]*' | head -1)
-
- # If not found, try a more general pattern
- if [ -z "$PREVIEW_URL" ]; then
- PREVIEW_URL=$(echo "$OUTPUT" | grep -o 'https://[^[:space:]]*workers.dev' | head -1)
- fi
-
- echo "Extracted preview URL: $PREVIEW_URL"
- echo "preview_url=$PREVIEW_URL" >> $GITHUB_OUTPUT
-
- - name: Run redirect tests
- id: tests
- run: |
- set -euo pipefail
-
- BASE_URL="${{ steps.deploy.outputs.preview_url }}"
- echo "Testing against preview URL: $BASE_URL"
-
- echo "Testing root → /v2/"
- LOCATION=$(curl -s -o /dev/null -w "%{redirect_url}" $BASE_URL/)
- test "$LOCATION" = "$BASE_URL/v2/"
-
- echo "Testing unversioned path → /v1/path"
- LOCATION=$(curl -s -o /dev/null -w "%{redirect_url}" $BASE_URL/getting-started)
- test "$LOCATION" = "$BASE_URL/v1/getting-started"
-
- echo "Testing already versioned path (/v1) → no redirect"
- STATUS=$(curl -s -o /dev/null -w "%{http_code}" --max-redirs 0 $BASE_URL/v1/getting-started)
- # Should not get a redirect (301/302), might get 404 or 522 since there's no backend
- if [ "$STATUS" -eq 301 ] || [ "$STATUS" -eq 302 ]; then
- echo "ERROR: /v1/ path should not redirect but got status $STATUS"
- exit 1
- fi
- echo "✓ Got status $STATUS (not a redirect)"
-
- echo "Testing already versioned path (/v2) → no redirect"
- STATUS=$(curl -s -o /dev/null -w "%{http_code}" --max-redirs 0 $BASE_URL/v2/getting-started)
- # Should not get a redirect (301/302), might get 404 or 522 since there's no backend
- if [ "$STATUS" -eq 301 ] || [ "$STATUS" -eq 302 ]; then
- echo "ERROR: /v2/ path should not redirect but got status $STATUS"
- exit 1
- fi
- echo "✓ Got status $STATUS (not a redirect)"
-
- echo "Testing excluded path (.css) → no redirect"
- STATUS=$(curl -s -o /dev/null -w "%{http_code}" --max-redirs 0 $BASE_URL/styles.css)
- # Should not get a redirect (301/302), might get 404 or 522 since there's no backend
- if [ "$STATUS" -eq 301 ] || [ "$STATUS" -eq 302 ]; then
- echo "ERROR: .css path should not redirect but got status $STATUS"
- exit 1
- fi
- echo "✓ Got status $STATUS (not a redirect)"
-
- echo "✅ All redirect tests passed!"
diff --git a/docs/.vale/styles/Microsoft/HeadingAcronyms.yml b/docs/.vale/styles/Microsoft/HeadingAcronyms.yml
index 9dc3b6c..efd5e3d 100644
--- a/docs/.vale/styles/Microsoft/HeadingAcronyms.yml
+++ b/docs/.vale/styles/Microsoft/HeadingAcronyms.yml
@@ -4,4 +4,4 @@ link: https://docs.microsoft.com/en-us/style-guide/acronyms#be-careful-with-acro
level: warning
scope: heading
tokens:
- - '[A-Z]{2,4}'
+ - "[A-Z]{2,4}"
diff --git a/docs/.vale/styles/Microsoft/Headings.yml b/docs/.vale/styles/Microsoft/Headings.yml
index 63624ed..abf3b53 100644
--- a/docs/.vale/styles/Microsoft/Headings.yml
+++ b/docs/.vale/styles/Microsoft/Headings.yml
@@ -5,7 +5,7 @@ level: suggestion
scope: heading
match: $sentence
indicators:
- - ':'
+ - ":"
exceptions:
- Azure
- CLI
diff --git a/docs/.vale/styles/Microsoft/Quotes.yml b/docs/.vale/styles/Microsoft/Quotes.yml
index 38f4976..37fb92a 100644
--- a/docs/.vale/styles/Microsoft/Quotes.yml
+++ b/docs/.vale/styles/Microsoft/Quotes.yml
@@ -1,5 +1,5 @@
extends: existence
-message: 'Punctuation should be inside the quotes.'
+message: "Punctuation should be inside the quotes."
link: https://docs.microsoft.com/en-us/style-guide/punctuation/quotation-marks
level: error
nonword: true
diff --git a/docs/.vale/styles/Microsoft/Semicolon.yml b/docs/.vale/styles/Microsoft/Semicolon.yml
index 4d90546..c6526ff 100644
--- a/docs/.vale/styles/Microsoft/Semicolon.yml
+++ b/docs/.vale/styles/Microsoft/Semicolon.yml
@@ -5,4 +5,4 @@ nonword: true
scope: sentence
level: suggestion
tokens:
- - ';'
+ - ";"
diff --git a/docs/.vale/styles/Microsoft/SentenceLength.yml b/docs/.vale/styles/Microsoft/SentenceLength.yml
index f248cf0..82e2656 100644
--- a/docs/.vale/styles/Microsoft/SentenceLength.yml
+++ b/docs/.vale/styles/Microsoft/SentenceLength.yml
@@ -4,4 +4,3 @@ scope: sentence
level: suggestion
max: 30
token: \b(\w+)\b
-
diff --git a/docs/.vale/styles/Microsoft/Spacing.yml b/docs/.vale/styles/Microsoft/Spacing.yml
index bbd10e5..c8b5236 100644
--- a/docs/.vale/styles/Microsoft/Spacing.yml
+++ b/docs/.vale/styles/Microsoft/Spacing.yml
@@ -4,5 +4,5 @@ link: https://docs.microsoft.com/en-us/style-guide/punctuation/periods
level: error
nonword: true
tokens:
- - '[a-z][.?!] {2,}[A-Z]'
- - '[a-z][.?!][A-Z]'
+ - "[a-z][.?!] {2,}[A-Z]"
+ - "[a-z][.?!][A-Z]"
diff --git a/docs/.vale/styles/Microsoft/Units.yml b/docs/.vale/styles/Microsoft/Units.yml
index f062418..4e3d71e 100644
--- a/docs/.vale/styles/Microsoft/Units.yml
+++ b/docs/.vale/styles/Microsoft/Units.yml
@@ -5,10 +5,10 @@ level: error
raw:
- '[a-zA-Z]+\s'
tokens:
- - '(?:centi|milli)?meters'
- - '(?:kilo)?grams'
- - '(?:kilo)?meters'
- - '(?:mega)?pixels'
+ - "(?:centi|milli)?meters"
+ - "(?:kilo)?grams"
+ - "(?:kilo)?meters"
+ - "(?:mega)?pixels"
- cm
- inches
- lb
diff --git a/docs/.vale/styles/Microsoft/Vocab.yml b/docs/.vale/styles/Microsoft/Vocab.yml
index eebe97b..73b5cd1 100644
--- a/docs/.vale/styles/Microsoft/Vocab.yml
+++ b/docs/.vale/styles/Microsoft/Vocab.yml
@@ -1,6 +1,6 @@
extends: existence
message: "Verify your use of '%s' with the A-Z word list."
-link: 'https://docs.microsoft.com/en-us/style-guide'
+link: "https://docs.microsoft.com/en-us/style-guide"
level: suggestion
ignorecase: true
tokens:
diff --git a/docs/docs.json b/docs/docs.json
index 4391f8c..ef63a2a 100644
--- a/docs/docs.json
+++ b/docs/docs.json
@@ -85,6 +85,13 @@
]
},
"v2/cli/commands/evaluate",
+ {
+ "group": "license",
+ "pages": [
+ "v2/cli/commands/license/check",
+ "v2/cli/commands/license/activate"
+ ]
+ },
"v2/cli/commands/migrate",
"v2/cli/commands/validate",
"v2/cli/commands/server",
diff --git a/docs/v2/cli/commands/config/edit.mdx b/docs/v2/cli/commands/config/edit.mdx
index e235821..a6d754a 100644
--- a/docs/v2/cli/commands/config/edit.mdx
+++ b/docs/v2/cli/commands/config/edit.mdx
@@ -7,7 +7,11 @@ description: "Edit Flipt configuration"
flipt config edit [flags]
```
-### Options
+## Synopsis
+
+Opens the Flipt configuration file in your default editor for making changes.
+
+## Options
```
-h, --help help for edit
@@ -19,6 +23,13 @@ flipt config edit [flags]
--config string path to config file
```
-### More Info
+## Examples
+
+```bash
+flipt config edit
+flipt config edit --config /path/to/config.yml
+```
+
+## More Info
See the [Configuration](/v2/configuration/overview) section of the documentation for more information.
diff --git a/docs/v2/cli/commands/config/init.mdx b/docs/v2/cli/commands/config/init.mdx
index 5a989b1..6baa7d9 100644
--- a/docs/v2/cli/commands/config/init.mdx
+++ b/docs/v2/cli/commands/config/init.mdx
@@ -7,7 +7,11 @@ description: "Initialize Flipt configuration"
flipt config init [flags]
```
-### Options
+## Synopsis
+
+Creates a new Flipt configuration file with default settings.
+
+## Options
```
-y, --force Overwrite existing configuration file
@@ -20,6 +24,13 @@ flipt config init [flags]
--config string path to config file
```
-### More Info
+## Examples
+
+```bash
+flipt config init
+flipt config init --force
+```
+
+## More Info
See the [Configuration](/v2/configuration/overview) section of the documentation for more information.
diff --git a/docs/v2/cli/commands/evaluate.mdx b/docs/v2/cli/commands/evaluate.mdx
index 4d80330..b81ea2e 100644
--- a/docs/v2/cli/commands/evaluate.mdx
+++ b/docs/v2/cli/commands/evaluate.mdx
@@ -7,7 +7,13 @@ description: "Evaluate a flag"
flipt evaluate [flagKey] [flags]
```
-### Options
+## Synopsis
+
+Evaluates a feature flag against the Flipt instance and returns the evaluation result.
+
+Supports watch mode for continuous evaluation.
+
+## Options
```
-a, --address string address of Flipt instance. (default "http://localhost:8080")
@@ -22,14 +28,14 @@ flipt evaluate [flagKey] [flags]
-w, --watch enable watch mode.
```
-### Examples
+## Examples
-```
-$ flipt evaluate chat-enabled --context test=foo
+```bash
+flipt evaluate chat-enabled --context test=foo
{"flag_key":"chat-enabled","enabled":true,"reason":"DEFAULT_EVALUATION_REASON","request_id":"73d12ea1-65d7-401d-b0c7-f7a6b3d41dd6","request_duration_millis":0.894792,"timestamp":"2024-01-23T17:37:13.484716964Z"}
```
-### More Info
+## More Info
See the [Evaluation](/v2/concepts#evaluation) concepts section of the documentation for more information.
diff --git a/docs/v2/cli/commands/license/activate.mdx b/docs/v2/cli/commands/license/activate.mdx
new file mode 100644
index 0000000..289486e
--- /dev/null
+++ b/docs/v2/cli/commands/license/activate.mdx
@@ -0,0 +1,38 @@
+---
+title: "license activate"
+description: "Activate a new Flipt Pro license"
+---
+
+```
+flipt license activate [flags]
+```
+
+## Synopsis
+
+Interactive wizard for activating a new Flipt Pro license.
+
+The `activate` command provides a guided, text-based user interface that:
+
+- Supports both Pro Monthly and Pro Annual license types
+- Handles online and offline license configurations
+- Automatically updates your Flipt configuration file
+- Validates the license with the licensing service
+- Provides clear step-by-step guidance through the activation process
+
+## Options
+
+```
+ --config string path to config file
+ -h, --help help for activate
+```
+
+## Examples
+
+```bash
+flipt license activate
+flipt license activate --config /path/to/config.yml
+```
+
+## More Info
+
+See the [Licensing](/v2/licensing) and [Flipt Pro](/v2/pro) documentation for more information about Pro features and licensing options.
diff --git a/docs/v2/cli/commands/license/check.mdx b/docs/v2/cli/commands/license/check.mdx
new file mode 100644
index 0000000..2882fcf
--- /dev/null
+++ b/docs/v2/cli/commands/license/check.mdx
@@ -0,0 +1,38 @@
+---
+title: "license check"
+description: "Validate your Flipt Pro license"
+---
+
+```
+flipt license check [flags]
+```
+
+## Synopsis
+
+Validates your current license configuration and displays license status information.
+
+The `check` command:
+
+- Validates the license configuration in your Flipt config file
+- Connects to the licensing service to verify license validity
+- Displays your current license status and expiration
+- Shows which Pro features are available with your license
+- Provides guidance for unlicensed users
+
+## Options
+
+```
+ --config string path to config file
+ -h, --help help for check
+```
+
+## Examples
+
+```bash
+flipt license check
+flipt license check --config /path/to/config.yml
+```
+
+## More Info
+
+See the [Licensing](/v2/licensing) and [Flipt Pro](/v2/pro) documentation for more information about Pro features and licensing options.
diff --git a/docs/v2/cli/commands/migrate.mdx b/docs/v2/cli/commands/migrate.mdx
index 183feda..9061537 100644
--- a/docs/v2/cli/commands/migrate.mdx
+++ b/docs/v2/cli/commands/migrate.mdx
@@ -3,23 +3,32 @@ title: "migrate"
description: "Run pending analytics database migrations"
---
-This is automatically run when the server starts.
+```
+flipt migrate [flags]
+```
+
+## Synopsis
+
+Runs pending analytics database migrations.
This currently only supports Clickhouse analytics database migrations.
-```
-flipt migrate [flags]
-```
-
-### Options
+## Options
```
--config string path to config file
-h, --help help for migrate
```
-### More Info
+## Examples
+
+```bash
+flipt migrate
+flipt migrate --config /path/to/config.yml
+```
+
+## More Info
See the [Analytics](/v2/configuration/analytics) section of the documentation for more information.
diff --git a/docs/v2/cli/commands/quickstart.mdx b/docs/v2/cli/commands/quickstart.mdx
index 21101ae..fc03789 100644
--- a/docs/v2/cli/commands/quickstart.mdx
+++ b/docs/v2/cli/commands/quickstart.mdx
@@ -4,32 +4,34 @@ description: "Interactive setup wizard for Flipt Git storage"
---
```
-flipt quickstart [flags]
+flipt quickstart [flags]
```
-### Synopsis
+## Synopsis
-The setup wizard helps you configure Flipt v2 with Git storage.
+The `quickstart` command provides an interactive, text-based user interface wizard to help you configure Flipt v2 with Git storage and SCM integration.
-The wizard will guide you through:
+The wizard guides you through:
-- Configuring Git repository storage with SCM integration
+- Selecting your SCM provider (GitHub, GitLab, Bitbucket, Azure DevOps, Gitea)
+- Configuring Git repository storage settings
- Setting up authentication (Personal Access Token)
+- Automatically updating your Flipt configuration file
-### Examples
+## Options
```
-$ flipt quickstart
-$ flipt quickstart --config /path/to/config.yml
+ --config string path to config file
+ -h, --help help for quickstart
```
-### Options
+## Examples
-```
- --config string path to config file
- -h, --help help for quickstart
+```bash
+flipt quickstart
+flipt quickstart --config /path/to/config.yml
```
-### More Info
+## More Info
-See the [Quickstart](/v2/quickstart) section of the documentation for more information.
+See the [Quickstart](/v2/quickstart) section of the documentation for more information about getting started with Flipt v2.
diff --git a/docs/v2/cli/commands/server.mdx b/docs/v2/cli/commands/server.mdx
index ec7d380..bc33a7d 100644
--- a/docs/v2/cli/commands/server.mdx
+++ b/docs/v2/cli/commands/server.mdx
@@ -7,9 +7,20 @@ description: "Run the Flipt server"
flipt server [flags]
```
-### Options
+## Synopsis
+
+Starts the Flipt server.
+
+## Options
```
--config string path to config file
-h, --help help for server
```
+
+## Examples
+
+```bash
+flipt server
+flipt server --config /path/to/config.yml
+```
diff --git a/docs/v2/cli/commands/validate.mdx b/docs/v2/cli/commands/validate.mdx
index 4a3278b..ee15207 100644
--- a/docs/v2/cli/commands/validate.mdx
+++ b/docs/v2/cli/commands/validate.mdx
@@ -7,7 +7,11 @@ description: "Validate Flipt flag state (.yaml, .yml) files"
flipt validate [flags]
```
-### Options
+## Synopsis
+
+Validates Flipt flag state files (`.yaml`, `.yml`) for syntax errors and schema compliance.
+
+## Options
```
-e, --extra-schema string path to extra schema constraints
@@ -16,3 +20,12 @@ flipt validate [flags]
--issue-exit-code int exit code to use when issues are found (default 1)
-d, --work-dir string set the working directory (default ".")
```
+
+## Examples
+
+```bash
+flipt validate
+flipt validate --work-dir /path/to/flags
+flipt validate --format json
+flipt validate --extra-schema /path/to/schema.json
+```
diff --git a/docs/v2/licensing.mdx b/docs/v2/licensing.mdx
index cf64e65..13c4ad2 100644
--- a/docs/v2/licensing.mdx
+++ b/docs/v2/licensing.mdx
@@ -47,6 +47,15 @@ The **majority of Flipt v2 remains free and open source**, including:
Pro features are protected by license key validation and cannot be accessed without a valid license. For detailed information about Pro features and purchasing options, see our [Flipt Pro](/v2/pro) page.
+### Managing Your License
+
+Flipt provides CLI commands to help you manage your Pro license:
+
+- **[`flipt license check`](/v2/cli/commands/license/check)**: Validate your current license and view available Pro features
+- **[`flipt license activate`](/v2/cli/commands/license/activate)**: Interactive wizard to activate a new license
+
+These commands provide a streamlined way to check license status, verify expiration dates, and activate new licenses directly from the command line.
+
## SDK and Integration Licensing
**All Flipt SDKs and client libraries remain MIT licensed**, ensuring that:
diff --git a/docs/v2/quickstart.mdx b/docs/v2/quickstart.mdx
index b060df3..0db30b6 100644
--- a/docs/v2/quickstart.mdx
+++ b/docs/v2/quickstart.mdx
@@ -27,6 +27,13 @@ docker run -d \
In this example, we'll use the default location of [http://localhost:8080](http://localhost:8080).
+
+ **Quick Configuration**: If you want to quickly set up Flipt with Git storage
+ and SCM integration, you can use the interactive [`flipt
+ quickstart`](/v2/cli/commands/quickstart) command. The wizard will guide you
+ through configuring your Git repository and authentication.
+
+
## Environments and Namespaces
Flipt v2 introduces the concept of environments in addition to namespaces.