https://github.com/frankxai/kura
Capture creative intelligence across every AI — ChatGPT, Claude, Gemini, Grok, Perplexity. Universal export and Prompt Books bridge.
https://github.com/frankxai/kura
ai-generated arcanea creative-writing knowledge-base lore mythology world-building
Last synced: 2 months ago
JSON representation
Capture creative intelligence across every AI — ChatGPT, Claude, Gemini, Grok, Perplexity. Universal export and Prompt Books bridge.
- Host: GitHub
- URL: https://github.com/frankxai/kura
- Owner: frankxai
- License: mit
- Created: 2026-02-23T02:01:25.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-05-20T14:35:27.000Z (3 months ago)
- Last Synced: 2026-05-20T19:40:00.635Z (3 months ago)
- Topics: ai-generated, arcanea, creative-writing, knowledge-base, lore, mythology, world-building
- Language: TypeScript
- Size: 71.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Kura
> **Kura — export your most precious writing.**
A 蔵 (*kura*) is the fireproof storehouse a family used to keep their
most precious scrolls, swords and records. This is the digital one.
ChatGPT, Claude, Grok, Gemini, DeepSeek, Perplexity — one click, every
conversation becomes a Markdown note with YAML frontmatter, wikilinks
and asset folders, written straight to your disk. Drop the folder into
Obsidian and the knowledge graph builds itself.
*Your AI work belongs on your disk, not on someone else's server.*
[](LICENSE)
[](https://chrome.google.com/webstore)
[](package.json)
[](FORMAT_SPEC.md)
[](#privacy)
---
## Why this exists
You spend hours per week inside AI tools. Every conversation is real
intellectual work — outlines, drafts, characters, lore, code, decisions.
Almost all of it dies in someone else's sidebar.
Kura is the **export layer**. It does one thing well:
1. Detect the platform you're on.
2. Pull the conversation cleanly.
3. Write it to `Kura/` on disk as Obsidian-compatible Markdown.
What you do with it after is *yours*. Point Obsidian at the folder and
get the graph. Run a Claude Code skill to extract entities. Pipe it
into your second brain of choice. Kura never assumes.
---
## Quick start
1. Install the extension *(Chrome Web Store link coming with v0.2.0
submission — see [CHROME_WEB_STORE_GUIDE.md](CHROME_WEB_STORE_GUIDE.md)
for manual install while it's in review)*.
2. Open a conversation on ChatGPT, Claude, Gemini, Grok, DeepSeek or
Perplexity.
3. Click the Kura icon → **Export to Kura**.
4. Files land at:
```
~/Downloads/Kura//_/
├── conversation.md
├── prompts.md
└── assets/
```
5. Open `~/Downloads/Kura/` as a new Obsidian vault — the wikilinks,
backlinks and graph view light up immediately.
---
## Supported platforms
| Platform | Conversations | Inline media | Generated media |
|--------------|:-------------:|:------------:|:---------------:|
| ChatGPT | ✓ | ✓ | ✓ (DALL·E) |
| Claude | ✓ | ✓ | — |
| Gemini | ✓ | ✓ | ✓ |
| Grok | ✓ | ✓ | ✓ (Imagine images + video) |
| DeepSeek | ✓ | — | — |
| Perplexity | ✓ | — | — |
| Google AI Studio | ✓ | ✓ | ✓ |
---
## What gets written
Every exported conversation becomes a folder. Inside, a single Markdown
file is the canonical record:
```markdown
---
id: a8d9e1c4-...
slug: 2026-05-13_naming-the-extension
title: "Naming the extension"
platform: chatgpt
source: https://chatgpt.com/c/a8d9e1c4
capturedAt: 2026-05-13T22:14:00+02:00
capturedBy: kura/0.2.0
schemaVersion: 0.2.0
messageCount: 24
hasMedia: true
hasCode: false
durationApprox: 47m
characters: []
locations: []
artifacts: []
lore: []
themes: []
status: raw
worldbuilding: false
tags: []
---
# Naming the extension
> **Platform:** chatgpt · **Source:** [chatgpt.com/c/a8d9e1c4](…) · **Captured:** 2026-05-13T22:14:00+02:00
## You
What if we renamed the vault to something more iconic?
## ChatGPT
Three candidates — Kura, Mnemosyne, Stele …
```
The frontmatter is the **contract** — anything you build on top of the
vault (skills, dashboards, automations) reads from those fields.
Full schema: **[FORMAT_SPEC.md](FORMAT_SPEC.md)**.
---
## The Kura workflow
The extension is one piece of a three-stage system:
```
┌──────────────────┐ ┌────────────────────┐ ┌────────────────────┐
│ Export │ → │ Process │ → │ See │
│ (this ext) │ │ (Claude Code skill│ │ (Obsidian graph, │
│ │ │ /kura-process) │ │ your second brain)│
└──────────────────┘ └────────────────────┘ └────────────────────┘
browser → disk disk → clean notes disk → visual graph
```
- **Export** (this repo): the extension. Local-first. No account.
- **Process** (Claude Code): the [`kura-process`](.claude/commands/kura-process.md)
skill walks your `Kura/` vault and emits clean per-conversation notes
in Obsidian-ready form.
- **See**: Obsidian's native graph view shows the connections forming in
real time from the wikilinks in your frontmatter.
The moat is **not the extension**. It is the format + the skill + the
ecosystem of integrations that build on top. The extension is the on-ramp.
---
## Integrations
Kura is the open standard. Anyone can build on top.
### Arcanea Kura — worldbuilding specialization
Arcanea (the creator universe that originally built Kura) ships its own
specialization layer for storytellers and worldbuilders:
- **[`/arcanea-kura-process`](.claude/commands/arcanea-kura-process.md)** —
a richer processing skill that extracts characters, locations,
artifacts, and lore from each captured conversation, emitting per-entity
notes under `_entities/` for Obsidian graph view.
- **Opt-in mirror** to the Arcanea second-brain via the
`Send to Arcanea` button in the popup. Off by default, fires only on
explicit click. See [`arcanea.ai/kura`](https://arcanea.ai/kura) for
the specialization page and [`arcanea.ai/privacy/kura`](https://arcanea.ai/privacy/kura)
for the policy.
The Arcanea layer is purely additive. The sovereign Kura extension never
calls Arcanea on its own.
### Build your own
The format spec is stable at v0.2.0. Build a Logseq integration, a
Notion sync, a vector-index over your Kura vault, a Quartz publisher —
anything that reads YAML frontmatter and Markdown can read Kura.
PRs welcome.
---
## Install (manual / developer mode)
```bash
git clone https://github.com/frankxai/arcanea-vault kura
cd kura
pnpm install
pnpm build
```
Then in Chrome:
1. Open `chrome://extensions/`.
2. Toggle **Developer mode** (top right).
3. **Load unpacked** → select the `dist/` folder.
4. Pin the extension to the toolbar.
The repo URL is still `arcanea-vault` until the GitHub rename to `kura`
lands — the product name is **Kura** v0.2.0.
---
## Privacy
- Everything captured lives on **your disk** inside `Kura/`.
- IndexedDB is used only as an in-extension lookup index for fast
cross-conversation queries. The filesystem is the source of truth.
- No telemetry. No analytics. No account required.
- A single optional **Send to Arcanea (opt-in)** button exists in the
popup for users who want to mirror exports to their Arcanea second-brain.
It is off by default and never fires without an explicit click.
- Host permissions are limited to the AI platforms the scrapers run on,
plus `arcanea.ai` for the optional bridge. Nothing else.
Full policy: [arcanea.ai/privacy/kura](https://arcanea.ai/privacy/kura).
---
## Roadmap
| Version | Scope |
|---------|-------|
| **0.2.0** *(current)* | Sovereign Kura: local-first vault, Obsidian-compatible markdown, generic `kura-process` skill, optional `arcanea-kura-process` worldbuilding skill, redesigned popup, sidepanel library, Playwright extension test. |
| 0.2.1 | Side-panel browser improvements; in-extension full-text search. |
| 0.3.0 | Per-platform scraper hardening (DOM drift fixes); idempotent re-capture; PNG screenshot export. |
| 0.4.0 | Real-time graph preview inside the side panel (D3 + frontmatter links). |
| 0.5.0 | Logseq / Anytype integration recipes. |
---
## Development
```bash
pnpm install
pnpm typecheck # tsc --noEmit
pnpm build # one-shot production build to dist/
pnpm dev # watch mode (active dev only)
pnpm lint # eslint
pnpm test:extension # Playwright end-to-end against built dist/
```
Stack: TypeScript 5, Vite 5, `@crxjs/vite-plugin` for MV3, Playwright
for browser integration tests.
---
## License
MIT — see [LICENSE](LICENSE).
---
*Kura is built by [Arcanea](https://arcanea.ai) and given to everyone.
Use it for fiction, for code, for therapy notes, for anything you write
with an AI that you want to keep.*