Skip to content

Commit 733ae3e

Browse files
author
Contentrain
committed
docs: align studio open-core positioning
1 parent f00140e commit 733ae3e

8 files changed

Lines changed: 34 additions & 18 deletions

File tree

AGENTS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Contentrain Studio
22

3-
AGPL-3.0 licensed cloud product for team content management over Git.
3+
Open-core product for team content management over Git. This repository contains the AGPL-3.0 core.
44
Conversation-first CMS — chat with AI agent to manage structured content.
55

66
## Stack
@@ -17,7 +17,7 @@ Conversation-first CMS — chat with AI agent to manage structured content.
1717

1818
### Provider/Adapter Pattern — CRITICAL
1919

20-
Studio is deployment-agnostic. There is no "hosted SaaS" — the product is self-hosted / on-premise first.
20+
Studio is deployment-flexible. The AGPL core is self-hostable, and the same product model can also be operated as a managed Pro/Enterprise service.
2121
All external services are accessed **only** through provider interfaces. No implementation detail ever leaks into components, pages, composables, or server routes.
2222

2323
Provider interfaces live in `server/providers/`:
@@ -63,7 +63,7 @@ User → Workspace (billing entity) → Project (connected repo)
6363
- GitHub App installation lives on workspace (not project)
6464

6565
### Route Structure
66-
This is an AGPL product — no marketing pages. All routes are authenticated:
66+
This repository is the AGPL core product surface — no marketing pages. All routes are authenticated:
6767
```
6868
/auth/login ............... Auth (public)
6969
/auth/callback ............ Auth callback (public)

CLAUDE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Contentrain Studio
22

3-
AGPL-3.0 licensed cloud product for team content management over Git.
3+
Open-core product for team content management over Git. This repository contains the AGPL-3.0 core.
44
Conversation-first CMS — chat with AI agent to manage structured content.
55

66
## Stack
@@ -17,7 +17,7 @@ Conversation-first CMS — chat with AI agent to manage structured content.
1717

1818
### Provider/Adapter Pattern — CRITICAL
1919

20-
Studio is deployment-agnostic. There is no "hosted SaaS" — the product is self-hosted / on-premise first.
20+
Studio is deployment-flexible. The AGPL core is self-hostable, and the same product model can also be operated as a managed Pro/Enterprise service.
2121
All external services are accessed **only** through provider interfaces. No implementation detail ever leaks into components, pages, composables, or server routes.
2222

2323
Provider interfaces live in `server/providers/`:
@@ -63,7 +63,7 @@ User → Workspace (billing entity) → Project (connected repo)
6363
- GitHub App installation lives on workspace (not project)
6464

6565
### Route Structure
66-
This is an AGPL product — no marketing pages. All routes are authenticated:
66+
This repository is the AGPL core product surface — no marketing pages. All routes are authenticated:
6767
```
6868
/auth/login ............... Auth (public)
6969
/auth/callback ............ Auth callback (public)

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ The most important project rules are architectural, not stylistic.
7979

8080
### Provider Pattern
8181

82-
Contentrain Studio is deployment-agnostic and self-hosted-first. External services are accessed only through provider interfaces in `server/providers/`.
82+
Contentrain Studio is deployment-flexible. The AGPL core can be self-hosted, and paid plans can also be operated as managed services. External services are accessed only through provider interfaces in `server/providers/`.
8383

8484
Do not:
8585

README.md

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
## What Contentrain Studio Is
1818

19-
Contentrain Studio is a self-hosted, Git-backed content operations platform built with [Nuxt 4](https://nuxt.com/). It is designed for teams who want structured content, reviewable Git workflows, and an AI operator without giving up repository ownership.
19+
Contentrain Studio is an open-core, Git-backed content operations platform built with [Nuxt 4](https://nuxt.com/). Teams can self-host the AGPL core or use a managed Pro/Enterprise offering while keeping Git as the source of truth.
2020

2121
The product model is:
2222

@@ -26,7 +26,7 @@ The product model is:
2626
- changes become branches, commits, diffs, and merges
2727
- delivery can happen through media, CDN, and API surfaces
2828

29-
This repository contains the AGPL core. Proprietary enterprise implementations live in [`ee/`](ee/) under a separate license.
29+
This repository contains the AGPL core. Proprietary enterprise implementations live in [`ee/`](ee/) under a separate license. Managed Pro/Enterprise deployments can be operated on top of the same product model.
3030

3131
## Why It Exists
3232

@@ -36,7 +36,23 @@ Traditional CMS products hide content workflows behind opaque databases and admi
3636
- schema validation protects structured content quality
3737
- AI is bounded by tools and permissions, not used as an uncontrolled shell
3838
- workspaces and projects map cleanly to team and repository boundaries
39-
- self-hosting remains the first-class deployment model
39+
- self-hosting remains a supported trust path, and managed operation is also available
40+
41+
## Relationship to Contentrain AI
42+
43+
Studio shares the same `.contentrain/` contract with the MIT package surface in the `contentrain-ai` repository. Developers usually enter the ecosystem through local-first package workflows, then move into Studio when review, roles, and delivery become operational needs.
44+
45+
| AI surface | Primary job | Studio bridge | Docs |
46+
| --- | --- | --- | --- |
47+
| `@contentrain/mcp` | Deterministic local content operations and normalize | Studio applies the same content contract through authenticated review and delivery workflows | [MCP Tools](https://ai.contentrain.io/packages/mcp) |
48+
| `contentrain` CLI | `init`, `serve`, `generate`, `diff`, `validate` | Studio takes over when teams need a web surface, project management, and approval | [CLI](https://ai.contentrain.io/packages/cli) |
49+
| `@contentrain/rules` | Shared quality and schema standards | Studio chat, review, and validation should stay aligned with the same rules | [Rules & Skills](https://ai.contentrain.io/packages/rules) |
50+
| `@contentrain/skills` | Agent playbooks and workflow hints | Studio mirrors these workflows in onboarding, chat-led operations, and handoffs | [Rules & Skills](https://ai.contentrain.io/packages/rules) |
51+
| `@contentrain/query` | Local typed consumption and CDN client transport | Studio extends the same content into remote delivery and API-key-based CDN access | [Query SDK](https://ai.contentrain.io/packages/sdk) |
52+
53+
Typical path:
54+
55+
`contentrain init` → normalize hardcoded content → review in Studio → invite teammates → deliver through CDN/API when needed
4056

4157
## Product Surface
4258

docs/DEPLOYMENT.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Deployment Guide
22

3-
Contentrain Studio is designed for self-hosted deployment. The product is a single Nuxt/Nitro application with external dependencies for auth/data, GitHub integration, optional billing, optional object storage, and optional Redis.
3+
Contentrain Studio supports self-hosting of the AGPL core and managed operation of paid plans. The product is a single Nuxt/Nitro application with external dependencies for auth/data, GitHub integration, optional billing, optional object storage, and optional Redis. This guide focuses on deploying it yourself.
44

55
## Deployment Shapes
66

@@ -23,9 +23,9 @@ Optional but recommended:
2323

2424
- Redis for distributed rate limiting
2525
- Resend or compatible app-email provider
26-
- Anthropic API key for Studio-hosted AI
26+
- Anthropic API key for the operator-managed AI surface
2727
- Cloudflare R2 for CDN/media delivery
28-
- Stripe for hosted billing
28+
- Stripe for billing when commercial plans are enabled
2929

3030
## Production Checklist
3131

@@ -74,7 +74,7 @@ If billing is not enabled:
7474

7575
- Leave Stripe keys unset
7676
- Leave `NUXT_PUBLIC_BILLING_ENABLED` unset
77-
- Studio will operate in self-host/no-billing mode
77+
- Studio will operate in no-billing mode
7878

7979
### CDN / Media
8080

docs/DOCKER.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Docker Guide
22

3-
This repository ships with a production Dockerfile for self-hosted deployments.
3+
This repository ships with a production Dockerfile for self-hosted or operator-managed deployments.
44

55
## What the Docker Image Contains
66

docs/RELEASING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Releasing Guide
22

3-
Contentrain Studio ships as a self-hosted application image, not as an npm package.
3+
Contentrain Studio ships as an application image used for self-hosted and managed deployments, not as an npm package.
44

55
The release source of truth is:
66

docs/SELF_HOSTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Self-Hosting Guide
22

3-
Contentrain Studio is self-hosted-first. There is no requirement to run it as a managed SaaS.
3+
Contentrain Studio supports self-hosting of the AGPL core. This guide covers the self-managed deployment path; managed Pro/Enterprise operation may also be available separately.
44

55
This guide describes the practical model for operating Studio in your own environment.
66

@@ -48,7 +48,7 @@ Contentrain Studio (Nuxt/Nitro)
4848

4949
### Minimal Core Mode
5050

51-
Use this when you want the AGPL core without premium operational surfaces.
51+
Use this when you want to run the AGPL core yourself without premium operational surfaces.
5252

5353
Recommended config:
5454

0 commit comments

Comments
 (0)