---
title: "Content"
description: "Open-source Obsidian for MDX: edit local Markdown/MDX files, build Notion-style collections, and write with an AI agent."
---

# Content

Content is open-source Obsidian for MDX: a local-file-friendly document
workspace where the agent can read, write, reorganize, and publish pages for
you. Open a doc, ask "rewrite this paragraph to be more concise" or "create a
page called Q4 Planning with sub-pages for Goals, Metrics, and Risks" - same
result whether you do it yourself or ask.

<Cards columns={1}>

### [Try it out now →](https://content.agent-native.com)

See Content live: open a real workspace, edit a page, and ask the agent to reorganize it.

</Cards>

<WireframeBlock id="doc-block-content1">
  <Screen
    surface="desktop"
    html={
      "<div style='display:grid;grid-template-columns:210px 1fr;gap:14px;padding:16px;min-height:500px;box-sizing:border-box'><aside class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>Content</strong><span class='wf-pill accent'>Q3 Roadmap</span><span class='wf-pill'>Goals</span><span class='wf-pill'>Metrics</span><span class='wf-pill'>Risks</span><hr/><span class='wf-pill'>Engineering wiki</span><span class='wf-pill'>Reading list</span><span class='wf-pill'>Weekly sync</span></aside><main style='display:flex;flex-direction:column;gap:12px;min-width:0;padding:8px 20px'><div style='display:flex;align-items:center;gap:10px'><h1 style='margin:0'>Q3 Roadmap</h1><div style='flex:1'></div><button>Share</button><button class='primary'>Publish</button></div><div class='wf-card' style='flex:1;display:flex;flex-direction:column;gap:12px;padding:22px'><h2 style='margin:0'>Launch goals</h2><p style='margin:0'>Ship the onboarding flow, reduce setup time, and document owner handoffs.</p><div class='wf-box'>At a glance · owner, window, status</div><div class='wf-box'>Top objectives</div><div class='wf-box'>Workstreams table</div></div></main></div>"
    }
  />
</WireframeBlock>

When you open the app, you'll see a page tree next to the editor. The agent always knows which page you're viewing and what text you have selected, so document edits can stay grounded in the current page.

<Diagram id="doc-block-content2" title="One document, three sync surfaces" summary={"You and the agent both write through the same live editing pipeline. SQL is the canonical store; local files, Notion, and Builder CMS are optional sync surfaces around it."}>

```html
<div class="diagram-flow">
  <div class="diagram-col">
    <div class="diagram-node">
      You type<br /><small class="diagram-muted">slash menu, toolbar</small>
    </div>
    <div class="diagram-node">
      Agent edits<br /><small class="diagram-muted"
        >edit-document find/replace</small
      >
    </div>
  </div>
  <div class="diagram-arrow diagram-muted" aria-hidden="true">&rarr;</div>
  <div class="diagram-box">
    documents (markdown)<br /><small class="diagram-muted"
      >canonical SQL store</small
    >
  </div>
  <div class="diagram-arrow diagram-muted" aria-hidden="true">&harr;</div>
  <div class="diagram-col">
    <div class="diagram-box">
      Local .md / .mdx<br /><small class="diagram-muted">/local-files</small>
    </div>
    <div class="diagram-box">
      Notion pages<br /><small class="diagram-muted">pull · push</small>
    </div>
    <div class="diagram-box">
      Builder CMS entries<br /><small class="diagram-muted"
        >pull · guarded push</small
      >
    </div>
  </div>
</div>
```

```css
.diagram-flow {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.diagram-flow .diagram-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.diagram-flow .diagram-arrow {
  font-size: 22px;
  line-height: 1;
}
```

</Diagram>

## What it replaces

<Comparison>

### Before

- Obsidian, or a folder of local Markdown files, for private notes
- A separate Notion workspace for docs a team can browse together
- A headless CMS for anything that ships to a live site
- Copying content between all three by hand whenever one falls behind

### After

- One workspace for private pages, team docs, and published content
- The same document can sync to local files, Notion, or Builder CMS instead of being retyped into each
- The agent reads and writes through the same actions and the same pages you do
- A change from an outside source lands as a reviewable change set, never a silent overwrite

</Comparison>

Documents are private by default, with viewer/editor/admin sharing and a public read-only mode when you want one out in the world. Multiple people (and the agent) can edit the same page at once without clobbering each other. See [Writing and organizing documents](/docs/template-content-editing), [Collections, properties, and forms](/docs/template-content-databases), and [Local files, Notion, and Builder CMS sync](/docs/template-content-sync) for each of those in depth.

## Get started {#get-started}

```bash
npx --yes @agent-native/core@latest create my-content --standalone --template content
```

See [Content: Developer Guide](/docs/template-content-developers#quick-start) for install, first run, and connecting an LLM.

When you open the app, click **+ New page** in the sidebar, give it a title, and start writing, or ask the agent directly:

- "Create a page called Onboarding and add three sub-pages under it."
- "Rewrite this paragraph to be more concise." (with a page open)
- "Pull the latest from Notion." (after linking a Notion page)

Select text and hit Cmd+I to focus the agent with that selection pre-loaded — "make this punchier" then operates on exactly what you highlighted.

## What's next

- [**Writing and organizing documents**](/docs/template-content-editing) — the editor, page tree, comments, version history, and sharing
- [**Collections, properties, and forms**](/docs/template-content-databases) — inline collections, property types, views, external sources, and intake forms
- [**Local files, Notion, and Builder CMS sync**](/docs/template-content-sync) — the Obsidian-style folder workflow plus Notion and Builder CMS round-trips
- [**Developer Guide**](/docs/template-content-developers) — data model, action inventory, routes, and how to extend the template
- [**Templates**](/docs/cloneable-saas) — the Cloneable SaaS model, and every other domain template to start from
- [**Getting Started**](/docs/getting-started) — the framework fundamentals: actions, application state, and live sync
- [**Real-Time Collaboration**](/docs/real-time-collaboration) — the Yjs pipeline documents share with other collaborative surfaces
- [**Sharing**](/docs/sharing) — the share-grant model documents build on
