Skip to content

Commit f77a88e

Browse files
authored
docs: position self-hosted/deploy as Early access (in testing) for launch (ACE-064) (#126)
* docs: position self-hosted/deploy path as Early access (in testing) for launch Public launch leads with the local single-player experience; the self-hosted team server (the /agami-deploy skill + HTTP MCP server) is marked Early access (in testing) — usable today, newer than the local path, feedback via GitHub issues. No code/behavior change. - README: remove self-host Docker badge + team intro bullet + hero nav from the hero (top now reads local-only); one labeled 'Self-hosted team server — Early access (in testing)' section; skills-table row + What-you-get bullet + doc-nav tagged early-access - deploy/README.md: canonical Early-access callout at the top (single source of wording) - docs/open-vs-hosted, docs/privacy, docs/self-hosting: labeled / linked to the callout - agami-deploy SKILL.md description: early-access note; install page: note under the skills list - marketplace.json / plugin.json: unchanged (already local-first, no deploy promotion) Spec: ACE-064 * docs: add missing 'that' in the team feature bullet (Copilot review on #126) Spec: ACE-064
1 parent 0b5d908 commit f77a88e

7 files changed

Lines changed: 31 additions & 15 deletions

File tree

README.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
<a href="LICENSE"><img src="https://img.shields.io/badge/license-fair--code-blue.svg" alt="License: fair-code"></a>
1414
<a href="https://github.com/AgamiAI/agami-core/releases"><img src="https://img.shields.io/github/v/tag/AgamiAI/agami-core?label=version&sort=semver&color=blue" alt="Version"></a>
1515
<a href="#get-started-in-2-minutes"><img src="https://img.shields.io/badge/try%20the%20sample-no%20database%20needed-brightgreen" alt="Try the sample"></a>
16-
<a href="deploy/README.md"><img src="https://img.shields.io/badge/self--host-Docker-2496ED?logo=docker&logoColor=white" alt="Self-host with Docker"></a>
1716
</p>
1817

1918
<!-- HERO VISUAL: drop docs/assets/demo.gif (a ~10s sample-flow capture) and uncomment the line below.
@@ -31,13 +30,12 @@ In Claude Code — CLI, VS Code, or Cursor:
3130
who are the top 5 customers by total spend?
3231
```
3332

34-
That last line returns a **governed answer with a receipt** (the exact SQL, the joins used, the model version) — and it crosses a fan trap a naive agent would silently double-count. Three ways to go from here:
33+
That last line returns a **governed answer with a receipt** (the exact SQL, the joins used, the model version) — and it crosses a fan trap a naive agent would silently double-count. Two ways to go from here:
3534

3635
- 🧪 **No database?** The commands above answer from a built-in sample — nothing leaves your machine.
3736
- 🗄️ **Have a database?** Run `/agami-connect` to introspect it into a governed semantic model, then just ask questions.
38-
- 👥 **Want your team on it?** [**Deploy a shared server »**](deploy/README.md) — teammates and business users point their own Claude (claude.ai or the desktop app) at **one URL** and query your governed model. They install nothing.
3937

40-
Each path is walked through in full below ([Quickstart](#quickstart-under-5-minutes) · [Install](#install) · [Deploy a shared server](#deploy-a-shared-server-for-your-team)).
38+
Each path is walked through in full below ([Quickstart](#quickstart-under-5-minutes) · [Install](#install)).
4139

4240
Point an AI agent at a database and it answers by **guessing** — at the join, at what *"revenue"* means, at which rows it's allowed to read. **agami-core** is the governed layer between the agent and your data: it turns your schema into a semantic model where every join is FK-derived or human-approved, every metric is **signed off** by name and role, and every answer ships a **receipt** — the exact SQL, the model version it pinned, and who vouched for each definition. The rules live in the model, **not the prompt**. And it all runs on your machine — credentials, schema, and results never leave it.
4341

@@ -49,7 +47,7 @@ Point an AI agent at a database and it answers by **guessing** — at the join,
4947
- 🧩 **A portable semantic model** — plain, git-native YAML you own (subject areas, tables, entities, metrics, relationships). No lock-in.
5048
- 🗄️ **Works with your database** — Postgres · Supabase · Redshift · MySQL · Snowflake · BigQuery · SQL Server · Oracle · Databricks · Trino · DuckDB · SQLite.
5149
- 🛠️ **Zero infra to start** — no backend, no proxy. If you have a DB CLI you have everything; an optional local MCP server lets Claude Desktop use the same model.
52-
- 👥 **Shareable with your team** — when you're ready, [deploy one governed server](deploy/README.md) that your whole team and business users query from their own Claude over a URL — self-hosted, still zero-egress.
50+
- 👥 **Shareable with your team** *(early access — in testing)* — self-host [one governed server](#self-hosted-team-server--early-access-in-testing) that your whole team and business users query from their own Claude over a URL, still zero-egress. The team layer is newer than the local path; we're validating it with early users.
5351

5452
## Quickstart (under 5 minutes)
5553

@@ -172,7 +170,7 @@ typing the slash command.
172170
| `/agami-save-correction` | Records a correction and routes it to the right home (SQL example, column metadata, display preference, business concept, or a new metric), showing its classification before writing. Attribution surfaces on future answers it influences. |
173171
| `/agami-reconcile` | Point it at an existing dashboard — a **screenshot** (Metabase / Power BI / Tableau / Looker) or a CSV of known numbers; it generates each question, runs it through agami, and shows a side-by-side diff with tolerances. Validate the model against numbers you already trust. |
174172
| `/agami-serve` | Use agami from the **Claude Desktop** app: wires up the optional local MCP server (same tools as the hosted connector, backed by your local model + execution — stdio, read-only, no network). See [docs/mcp-server.md](docs/mcp-server.md). |
175-
| `/agami-deploy` | **Deploy a shared team server.** Writes a ready-to-run Docker bundle (the published image + HTTPS + OAuth + an admin console) so a team can stand up one governed server their Claude connects to. Business users query it over a URL — no local setup. Detailed steps: [deploy/README.md](deploy/README.md). |
173+
| `/agami-deploy` *(early access — in testing)* | **Deploy a shared team server.** Writes a ready-to-run Docker bundle (the published image + HTTPS + OAuth + an admin console) so a team can stand up one governed server their Claude connects to. Business users query it over a URL — no local setup. Newer than the local path — we're validating it with early users ([details + how to give feedback](deploy/README.md)). |
176174

177175
## Privacy
178176

@@ -191,7 +189,12 @@ cloud (a multi-tenant model registry over a remote MCP endpoint, shared governed
191189
always-on evals). The boundary, stated plainly:
192190
[docs/open-vs-hosted.md](docs/open-vs-hosted.md).
193191

194-
## Deploy a shared server for your team
192+
## Self-hosted team server — Early access (in testing)
193+
194+
> 🧪 **Early access.** This team layer is **usable today**, but it's newer than the local single-player
195+
> path and we're still ironing it out with early users — expect the occasional rough edge. Please send
196+
> feedback or report anything broken via a [**GitHub issue**](https://github.com/AgamiAI/agami-core/issues).
197+
> The local experience above is the stable, generally-available path.
195198
196199
The local setup is single-player. To put your **whole team — and non-technical business users — on
197200
one governed model**, deploy agami's **HTTP MCP server** to your own host. Everyone then connects
@@ -227,7 +230,7 @@ by environment variables, and **LLM-free + zero-egress by default**. Self-hostin
227230
- [The trust layer](docs/trust-layer.md) — confidence, sign-off, receipts, snapshots
228231
- [Format spec](docs/format-spec.md) — the semantic-model layout + a worked example
229232
- [MCP server](docs/mcp-server.md) — use agami from Claude Desktop
230-
- [Deploy a shared team server](deploy/README.md) — the Docker bundle, step-by-step (VM, DNS/TLS, variants)
233+
- [Deploy a shared team server](deploy/README.md) *(early access — in testing)* — the Docker bundle, step-by-step (VM, DNS/TLS, variants)
231234
- [Self-hosting reference](docs/self-hosting.md) — manual (non-Docker) install + the environment-variable reference
232235
- [Troubleshooting & uninstall](docs/troubleshooting.md)
233236
- [Fair-code vs hosted](docs/open-vs-hosted.md) · [Privacy](docs/privacy.md)

deploy/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Self-hosting agami (local → team)
22

3+
> ### 🧪 Early access (in testing)
4+
> The self-hosted team server is **available to use today**, but it's newer than the local single-player
5+
> path and we're still ironing it out with early users — expect the occasional rough edge. If you hit
6+
> one (or have feedback), please [**open a GitHub issue**](https://github.com/AgamiAI/agami-core/issues).
7+
> The local experience is the stable, generally-available path; this is the team layer on top of it.
8+
39
Stand up the agami MCP server on your own host so your team can query your semantic model in Claude. We
410
ship Docker; you deploy it to your own VM/cloud. The default is **secure by construction**: Caddy gives you
511
automatic HTTPS and is the *only* public service — agami and Postgres stay on the internal network with no

docs/install/claude-code-cli.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ Installed agami-core v0.3.3 (from agami)
5656
7 skills available: agami-connect, agami-query, agami-model, agami-save-correction, agami-reconcile, agami-serve, agami-deploy
5757
```
5858

59+
> `agami-deploy` (the self-hosted team server) is **early access — in testing**: usable today, but newer than the local single-player skills. See its [early-access note](../../deploy/README.md).
60+
5961
## 5. Verify
6062

6163
```

docs/open-vs-hosted.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ Run agami on your own machines, for your own people (multi-user included):
1717
- **Corrections** + the `examples.yaml` few-shot library.
1818
- The **local MCP server** (`agami serve`) — stdio, no auth, no network.
1919
See [mcp-server.md](mcp-server.md).
20-
- The **self-hosted team server** (`/agami-deploy`) — an HTTPS MCP server your whole
21-
org connects to, with an admin console (sign in with a password or a single Google /
22-
Microsoft **SSO** provider) and per-user access to the query surface.
23-
See [deploy/README.md](../deploy/README.md).
20+
- The **self-hosted team server** (`/agami-deploy`) — *early access (in testing)* — an
21+
HTTPS MCP server your whole org connects to, with an admin console (sign in with a
22+
password or a single Google / Microsoft **SSO** provider) and per-user access to the
23+
query surface. Usable today, newer than the local path; see the
24+
[early-access note in deploy/README.md](../deploy/README.md).
2425

2526
## Paid — the hosted cloud
2627

docs/privacy.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,9 @@ After your first successful query, `agami-query` asks once, in chat, whether you
7676

7777
---
7878

79-
## The self-hosted team server (opt-in)
79+
## The self-hosted team server (opt-in) — Early access (in testing)
8080

81-
If you [deploy the team server](../deploy/README.md) so your org can share one model, that server *is* a network service by design — it serves your model to your team over HTTPS. Your data still stays in your environment: it holds only the semantic model (never a live database connection), runs SQL locally against your own warehouse, and is **zero-egress by default**. The one thing that reaches out is **single sign-on**, if you turn it on: to verify a login the server calls Google/Microsoft (the identity provider). Leave SSO off — the default — and it makes no outbound call of its own.
81+
If you [deploy the team server](../deploy/README.md) so your org can share one model, that server *is* a network service by design — it serves your model to your team over HTTPS. (This path is **early access** — usable today, newer than the local single-player experience; [feedback via a GitHub issue](https://github.com/AgamiAI/agami-core/issues) is welcome.) Your data still stays in your environment: it holds only the semantic model (never a live database connection), runs SQL locally against your own warehouse, and is **zero-egress by default**. The one thing that reaches out is **single sign-on**, if you turn it on: to verify a login the server calls Google/Microsoft (the identity provider). Leave SSO off — the default — and it makes no outbound call of its own.
8282

8383
---
8484

docs/self-hosting.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Self-hosting: manual install & configuration reference
22

3+
> 🧪 **Early access (in testing).** The self-hosted team server is usable today but newer than the local
4+
> single-player path — see the [early-access note in deploy/README.md](../deploy/README.md) and please
5+
> send feedback via a [GitHub issue](https://github.com/AgamiAI/agami-core/issues).
6+
37
> **Deploying agami? Start with [deploy/README.md](../deploy/README.md).** The `/agami-deploy` skill
48
> writes a ready-to-run Docker bundle there (docker-compose + Caddy auto-TLS + a filled `.env`) from the
59
> published image `ghcr.io/agamiai/agami-core` — no clone, no build. **This page is the reference** for

plugins/agami/skills/agami-deploy/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: agami-deploy
3-
description: "Prepares a ready-to-run, self-hosted agami deploy bundle ON THE USER'S MACHINE so a team can stand up a shareable MCP server their Claude connects to. Conversationally gathers the hard-floor inputs (hostname, admin identity), auto-detects the local model, writes docker-compose.yml + Caddyfile + a filled agami.env (referencing the PUBLISHED image ghcr.io/agamiai/agami-core — no clone, no build), and stages the model artifacts. Generates the signing secret via deploy_preflight; the admin password is typed by the user into the file (never in chat). Then runs `docker compose up` if Docker is local, otherwise prints the exact VM steps + the shareable MCP URL. Username/password auth only on this paved path."
3+
description: "EARLY ACCESS (in testing) — usable today, but newer than the local single-player path; feedback welcome via a GitHub issue. Prepares a ready-to-run, self-hosted agami deploy bundle ON THE USER'S MACHINE so a team can stand up a shareable MCP server their Claude connects to. Conversationally gathers the hard-floor inputs (hostname, admin identity), auto-detects the local model, writes docker-compose.yml + Caddyfile + a filled agami.env (referencing the PUBLISHED image ghcr.io/agamiai/agami-core — no clone, no build), and stages the model artifacts. Generates the signing secret via deploy_preflight; the admin password is typed by the user into the file (never in chat). Then runs `docker compose up` if Docker is local, otherwise prints the exact VM steps + the shareable MCP URL. Username/password auth only on this paved path."
44
when_to_use: "Use when the user says 'deploy agami', 'self-host agami', 'set up the agami server for my team', 'stand up a shared agami', 'host agami on a VM / in the cloud', '/agami-deploy', or otherwise wants the multi-user HTTP server (not the local single-player setup — that's agami-serve). Requires agami-connect to have run first (needs a semantic model + credentials). This is the TEAM path: it produces an internet-reachable server with OAuth + admin that claude.ai connects to."
55
---
66

0 commit comments

Comments
 (0)