From 970ea80225f7cebc4dea8f21923b8e25897c1147 Mon Sep 17 00:00:00 2001 From: Jonas Alves Date: Thu, 9 Jul 2026 11:30:20 +0100 Subject: [PATCH 1/3] fix: add CLI to Developer Tools overview, dedupe MCP Setup title The Developer Tools overview page listed SDK Guide, SDK API, Platform API and MCP Server but omitted the CLI, even though it has its own sidebar category. Added a CLI section and table row. The MCP Server Setup page rendered its H1 twice: `export const` MDX declarations before the in-content `# Setup` heading stopped Docusaurus's title parser from detecting it (it only strips leading `import` statements), so it fell back to rendering the frontmatter title as a synthetic H1 on top of the literal one. Added `hide_title: true`, the same pattern already used elsewhere in this repo for pages with pre-heading MDX exports. --- docs/APIs-and-SDKs/MCP-Server/setup.mdx | 1 + docs/APIs-and-SDKs/overview.mdx | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/docs/APIs-and-SDKs/MCP-Server/setup.mdx b/docs/APIs-and-SDKs/MCP-Server/setup.mdx index e3c40adb..57a85932 100644 --- a/docs/APIs-and-SDKs/MCP-Server/setup.mdx +++ b/docs/APIs-and-SDKs/MCP-Server/setup.mdx @@ -1,6 +1,7 @@ --- title: Setup sidebar_position: 3 +hide_title: true --- import Tabs from "@theme/Tabs"; diff --git a/docs/APIs-and-SDKs/overview.mdx b/docs/APIs-and-SDKs/overview.mdx index 9e31b4a9..4ba5b8b9 100644 --- a/docs/APIs-and-SDKs/overview.mdx +++ b/docs/APIs-and-SDKs/overview.mdx @@ -84,6 +84,21 @@ Common starting points: - [Usage Examples](/docs/APIs-and-SDKs/MCP-Server/usage-examples) — natural-language prompts that work today - [Tools Reference](/docs/APIs-and-SDKs/MCP-Server/tools-reference) — the full surface: 230+ commands across 33 groups +### CLI + +The [CLI](/docs/APIs-and-SDKs/CLI-Documentation/) is a command-line interface +for AI agents and humans to manage experiments, feature flags and A/B tests on +the ABsmartly platform. It wraps the same Platform API used by the web +console, so anything you can do in the dashboard, you can automate from a +terminal or a script. + +Common starting points: + +- [CLI Overview](/docs/APIs-and-SDKs/CLI-Documentation/) — installation and quick start +- [Authentication](/docs/APIs-and-SDKs/CLI-Documentation/authentication) — the full login flow +- [Experiments & Feature Flags](/docs/APIs-and-SDKs/CLI-Documentation/experiments-and-feature-flags) — the primary command reference +- [Programmatic Usage](/docs/APIs-and-SDKs/CLI-Documentation/programmatic-usage) — call the CLI's core layer directly from TypeScript/JavaScript + --- ## Which one should I use? @@ -95,6 +110,7 @@ Common starting points: | Create, manage or query experiments programmatically | [Platform API](/docs/APIs-and-SDKs/Web-Console-API/backend) | | Build automation, internal tools, or CI/CD integrations | [Platform API](/docs/APIs-and-SDKs/Web-Console-API/backend) | | Drive ABsmartly from Claude, Cursor or another AI assistant | [MCP Server](/docs/APIs-and-SDKs/MCP-Server/overview) | +| Manage experiments from a terminal or CI/CD script | [CLI](/docs/APIs-and-SDKs/CLI-Documentation/) | | Visually edit pages for an A/B test without writing code | [LaunchPad browser extension](/docs/web-console-docs/launchpad-browser-extension/getting-started) | | Run experiments and configure the workspace from the UI | [Product Documentation](/docs/web-console-docs/overview) | From 75c9f6601c5fdeae5f92a6eeb30d3bc30e385add Mon Sep 17 00:00:00 2001 From: Jonas Alves Date: Thu, 9 Jul 2026 12:05:02 +0100 Subject: [PATCH 2/3] docs: clean up CLI overview and profile examples MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove the status table from the CLI overview page — it read as an internal engineering tracker rather than customer-facing docs. Reword profile examples: customers only ever have one instance, so a "staging" profile with a different endpoint was a misleading example. Profiles are more realistically used to switch between credentials with different permissions (e.g. a read-only key), so all examples now use a "readonly" profile against the same endpoint. Also drop the parenthetical "(chmod 600)" from the Authentication page intro — an implementation detail that reads oddly out of context. --- .../CLI-Documentation/authentication.mdx | 10 +++++----- .../CLI-Documentation/configuration.mdx | 8 ++++---- docs/APIs-and-SDKs/CLI-Documentation/index.mdx | 16 +++------------- 3 files changed, 12 insertions(+), 22 deletions(-) diff --git a/docs/APIs-and-SDKs/CLI-Documentation/authentication.mdx b/docs/APIs-and-SDKs/CLI-Documentation/authentication.mdx index 4f163a0b..861c140f 100644 --- a/docs/APIs-and-SDKs/CLI-Documentation/authentication.mdx +++ b/docs/APIs-and-SDKs/CLI-Documentation/authentication.mdx @@ -4,7 +4,7 @@ sidebar_position: 2 # Authentication -The CLI stores credentials in your OS keychain (via keytar) and configuration in `~/.config/absmartly/config.yaml`. On headless systems without a keychain service, credentials fall back to `~/.config/absmartly/credentials.json` (chmod 600). +The CLI stores credentials in your OS keychain (via keytar) and configuration in `~/.config/absmartly/config.yaml`. On headless systems without a keychain service, credentials fall back to a local `~/.config/absmartly/credentials.json` file. Two authentication methods are supported. @@ -14,8 +14,8 @@ Two authentication methods are supported. # Login with API key abs auth login --api-key YOUR_KEY --endpoint https://your-instance.absmartly.com/v1 -# Login with a named profile -abs auth login --api-key YOUR_KEY --endpoint https://staging.absmartly.com/v1 --profile staging +# Login with a named profile (e.g. for a read-only key) +abs auth login --api-key YOUR_READONLY_KEY --endpoint https://your-instance.absmartly.com/v1 --profile readonly ``` ## OAuth authentication @@ -49,7 +49,7 @@ The `-k` flag disables TLS certificate verification. Only use in trusted develop # Check authentication status abs auth status abs auth status --show-key # reveal full API key -abs auth status --profile staging +abs auth status --profile readonly # Show current authenticated user abs auth whoami @@ -71,7 +71,7 @@ abs auth reset-my-password # Logout abs auth logout -abs auth logout --profile staging +abs auth logout --profile readonly ``` You can also override credentials per-command with global options: diff --git a/docs/APIs-and-SDKs/CLI-Documentation/configuration.mdx b/docs/APIs-and-SDKs/CLI-Documentation/configuration.mdx index 117e20f6..dcf8d5e7 100644 --- a/docs/APIs-and-SDKs/CLI-Documentation/configuration.mdx +++ b/docs/APIs-and-SDKs/CLI-Documentation/configuration.mdx @@ -39,7 +39,7 @@ abs config unset output # Manage profiles abs config profiles list -abs config profiles use staging +abs config profiles use readonly abs config profiles delete old-profile ``` @@ -57,12 +57,12 @@ profiles: endpoint: https://ctl.absmartly.io/v1 application: my-app environment: production - staging: + readonly: api: - endpoint: https://staging.absmartly.com/v1 + endpoint: https://your-instance.absmartly.com/v1 expctld: endpoint: https://ctl.absmartly.io/v1 - environment: staging + environment: production ``` ### Environment variables diff --git a/docs/APIs-and-SDKs/CLI-Documentation/index.mdx b/docs/APIs-and-SDKs/CLI-Documentation/index.mdx index c9ce9d2b..5e6594f3 100644 --- a/docs/APIs-and-SDKs/CLI-Documentation/index.mdx +++ b/docs/APIs-and-SDKs/CLI-Documentation/index.mdx @@ -13,18 +13,6 @@ The CLI wraps the same Platform API used by the web console, so anything you can This project is experimental. The core architecture is settled, but the API surface may change between releases. ::: -| Area | Status | -|---|---| -| Experiment commands (list, get, create, update, start, stop, restart, clone, bulk) | Stable — well tested | -| Metric results, CI bars, segment breakdowns | Stable | -| Template round-trip (export → edit → create/update) | Stable | -| Core layer (`@absmartly/cli/core/*`) for programmatic use | Stable — 444 unit tests | -| Admin commands (tags, roles, teams, users, webhooks, etc.) | Mostly stable — less battle-tested | -| OAuth authentication | Working — tested against live API | -| Interactive editor (`--interactive` / `-i` flag) | Experimental — known issues, not production-ready | -| Shell completions | Working — may have gaps | -| Unix pipe composition | Stable | - ## Installation ```bash @@ -41,7 +29,9 @@ abs setup # Non-interactive setup abs setup --api-key YOUR_KEY --endpoint https://your-instance.absmartly.com/v1 -abs setup --api-key YOUR_KEY --endpoint https://staging.absmartly.com/v1 --profile staging + +# Non-interactive setup with a named profile (e.g. for a read-only key) +abs setup --api-key YOUR_READONLY_KEY --endpoint https://your-instance.absmartly.com/v1 --profile readonly # Or authenticate manually abs auth login --api-key YOUR_API_KEY --endpoint https://your-instance.absmartly.com/v1 From f7399b0c86112749a78423b28b96615571b4574b Mon Sep 17 00:00:00 2001 From: Jonas Alves Date: Thu, 9 Jul 2026 12:19:03 +0100 Subject: [PATCH 3/3] fix: remove redundant H1 instead of hide_title on MCP Setup page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per review feedback, dropping the duplicate `# Setup` heading from the content is simpler than hiding the frontmatter title with hide_title: true — same rendered result, one less frontmatter flag. --- docs/APIs-and-SDKs/MCP-Server/setup.mdx | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/APIs-and-SDKs/MCP-Server/setup.mdx b/docs/APIs-and-SDKs/MCP-Server/setup.mdx index 57a85932..d83c5947 100644 --- a/docs/APIs-and-SDKs/MCP-Server/setup.mdx +++ b/docs/APIs-and-SDKs/MCP-Server/setup.mdx @@ -1,7 +1,6 @@ --- title: Setup sidebar_position: 3 -hide_title: true --- import Tabs from "@theme/Tabs"; @@ -29,8 +28,6 @@ export const CursorInstallLink = () => ( ); -# Setup - The ABsmartly MCP server can be added to any MCP-compatible client. This page covers Claude Desktop, Claude Code, Cursor, Windsurf, VS Code (Copilot), Gemini (CLI and Code Assist), ChatGPT and the DXT extension.