Skip to content

Commit f2cfeb1

Browse files
authored
Merge pull request #109 from cortex-docs/pre-release
Release hosted documentation and live repository MCP
2 parents 0aa5e33 + a4a13ef commit f2cfeb1

37 files changed

Lines changed: 1930 additions & 137 deletions

‎README.md‎

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -51,43 +51,32 @@ If Cortex helps your team, [star this repository](https://github.com/cortex-docs
5151

5252
## Try Cortex in 60 seconds
5353

54-
Create a sample project and inspect the generation plan:
54+
Start a local demo:
5555

5656
```bash
5757
mkdir petstore
5858
cd petstore
5959
npm install --global @cortex-docs/cli
6060
cortex init petstore
61-
cortex validate
62-
cortex generate --dry-run
61+
cortex docs serve
6362
```
6463

65-
Cortex validates each source and shows every planned output:
66-
67-
```text
68-
✓ Config is valid
69-
✓ Parsed AsyncAPI: WebSocket API
70-
✓ Parsed GraphQL: GraphQL
71-
✓ Parsed OpenRPC: OpenRPC
72-
✓ Parsed OpenAPI: REST API V1
73-
Languages: typescript, python, go, java, kotlin, ruby, php, csharp, rust, cpp, c
74-
75-
typescript [REST + WS + GraphQL + OpenRPC] → generated/typescript/petstore-typescript-client-sdk
76-
python [REST + WS + GraphQL + OpenRPC] → generated/python/petstore-python-sdk
77-
...
78-
mcp-server → generated/mcp-server
79-
```
64+
Open `http://localhost:3012`. Press `Ctrl+C` to stop the server.
8065

81-
The generated MCP server gives AI agents typed tools, specifications, SDK guides, and project documentation.
66+
## We love open source
8267

83-
Generate the files. Then start the local documentation preview:
68+
Keep your Markdown in Git. Add `cortex.config.yml` to the default branch of your public GitHub repository, then run:
8469

8570
```bash
86-
cortex generate
87-
cortex docs serve
71+
npx -y @cortex-docs/cli deploy https://github.com/OWNER/REPO
72+
npx -y @cortex-docs/cli mcp-serve https://github.com/OWNER/REPO
8873
```
8974

90-
Open `http://localhost:3012`. Press `Ctrl+C` to stop the server.
75+
The first command publishes a free documentation site at `PROJECT.cortexdocs.dev`. The second connects AI clients to current documentation through local MCP.
76+
77+
Deploy requires repository write access. MCP works with public read access and checks for changes before each request.
78+
79+
See the [open source hosting guide](packages/docs-site/docs/open-source-hosting.md) for configuration, custom domains, automatic updates, and limits.
9180

9281
## Features
9382

‎e2e/docs-ui-static.spec.ts‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,17 @@ test.describe('Cloudflare Static Assets export', () => {
5555
await expect(page.getByText('TypeScript').first()).toBeVisible();
5656
});
5757

58+
test('follows Markdown fragments after static content loads', async ({ page }) => {
59+
await page.setViewportSize({ width: 1000, height: 400 });
60+
await page.goto('/docs/quickstart#mcp-server');
61+
await expect(page.locator('article #user-content-mcp-server')).toBeInViewport({ ratio: 1 });
62+
63+
await page.goto('/docs/quickstart');
64+
await page.getByRole('link', { name: 'next steps', exact: true }).click();
65+
await expect(page).toHaveURL(/#next-steps$/);
66+
await expect(page.locator('article #user-content-next-steps')).toBeInViewport({ ratio: 1 });
67+
});
68+
5869
for (const width of [320, 390]) {
5970
test(`keeps documentation readable and navigation usable at ${width}px`, async ({ page }) => {
6071
await page.setViewportSize({ width, height: 844 });

0 commit comments

Comments
 (0)