Skip to content

Commit 43d2016

Browse files
mokuwakiclaude
andcommitted
feat: add SEO and LLMO optimizations
- Add sitemap.xml with all LP and docs pages, hreflang alternates - Add llms.txt for LLM crawler optimization (Claude, GPT, Gemini) - Fix robots.txt to reference correct sitemap URL - Add robots meta with max-image-preview:large for Google Images - Enhance JSON-LD: add installUrl, softwareVersion, datePublished, screenshot, WebSite schema, inLanguage - Add ja/layout.tsx with lang="ja" for proper language attribution Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 3560d32 commit 43d2016

7 files changed

Lines changed: 216 additions & 19 deletions

File tree

public/llms.txt

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# DexCode
2+
3+
> DexCode is an open-source, AI-first slide authoring and refinement tool for developers. Create, revise, and share presentation decks from the terminal using AI coding agents like Claude Code, Codex CLI, Gemini CLI, or Cursor.
4+
5+
## Key Facts
6+
7+
- License: MIT (free and open source)
8+
- Author: CORe Inc.
9+
- Repository: https://github.com/co-r-e/dexcode
10+
- Website: https://co-r-e.github.io/dexcode-lp/
11+
- Documentation: https://co-r-e.github.io/dexcode-lp/docs/getting-started/introduction
12+
13+
## What DexCode Does
14+
15+
DexCode lets developers create slide presentations without leaving the terminal. Slides are written as MDX files (Markdown + React components) and rendered in real-time with hot module replacement. AI agents generate and edit slides, and multiple slides can be revised in parallel by spawning subagents.
16+
17+
## Core Features
18+
19+
- AI-first workflow: prompt your coding agent to generate entire decks
20+
- Per-slide parallel editing: spawn one agent per slide for concurrent revisions
21+
- 30+ built-in MDX components: charts, layouts, timelines, cards, icons, shapes
22+
- 12 slide types: cover, section, content, comparison, stats, timeline, image-left, image-right, image-full, quote, agenda, ending
23+
- 20+ showcase templates for common presentation patterns
24+
- Live reload via Next.js HMR
25+
- PDF and PPTX export from the browser
26+
- Cloudflare Tunnel sharing for real-time collaboration
27+
- 14 built-in Claude Code agent skills (deck design, image generation, SVG diagrams, video export, localization, QA audits)
28+
29+
## Tech Stack
30+
31+
- Next.js 16 (App Router)
32+
- React 19
33+
- MDX for slide content
34+
- Recharts for data visualization
35+
- Tailwind CSS for styling
36+
- jsPDF + pptxgenjs for export
37+
- Cloudflare Tunnel for sharing
38+
- Gemini API for image generation
39+
40+
## Documentation
41+
42+
- [Getting Started](https://co-r-e.github.io/dexcode-lp/docs/getting-started/introduction)
43+
- [Installation](https://co-r-e.github.io/dexcode-lp/docs/getting-started/installation)
44+
- [Quick Start](https://co-r-e.github.io/dexcode-lp/docs/getting-started/quick-start)
45+
- [Creating Decks](https://co-r-e.github.io/dexcode-lp/docs/guides/creating-decks)
46+
- [Parallel Editing](https://co-r-e.github.io/dexcode-lp/docs/guides/parallel-editing)
47+
- [Agent Skills](https://co-r-e.github.io/dexcode-lp/docs/guides/agent-skills)
48+
- [Sharing & Presenting](https://co-r-e.github.io/dexcode-lp/docs/guides/sharing)
49+
- [Theme Customization](https://co-r-e.github.io/dexcode-lp/docs/guides/theme-customization)
50+
- [Components](https://co-r-e.github.io/dexcode-lp/docs/components/overview)
51+
- [Configuration](https://co-r-e.github.io/dexcode-lp/docs/reference/configuration)
52+
- [CLI Commands](https://co-r-e.github.io/dexcode-lp/docs/reference/cli-commands)
53+
- [Export Options](https://co-r-e.github.io/dexcode-lp/docs/reference/export)
54+
- [Keyboard Shortcuts](https://co-r-e.github.io/dexcode-lp/docs/reference/keyboard-shortcuts)

public/robots.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
User-agent: *
22
Allow: /
33

4-
Sitemap: https://co-r-e.github.io/dexcode-docs/sitemap.xml
4+
Sitemap: https://co-r-e.github.io/dexcode-lp/sitemap.xml

public/sitemap.xml

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
3+
xmlns:xhtml="http://www.w3.org/1999/xhtml">
4+
<url>
5+
<loc>https://co-r-e.github.io/dexcode-lp/</loc>
6+
<xhtml:link rel="alternate" hreflang="en" href="https://co-r-e.github.io/dexcode-lp/" />
7+
<xhtml:link rel="alternate" hreflang="ja" href="https://co-r-e.github.io/dexcode-lp/ja" />
8+
<xhtml:link rel="alternate" hreflang="x-default" href="https://co-r-e.github.io/dexcode-lp/" />
9+
<changefreq>weekly</changefreq>
10+
<priority>1.0</priority>
11+
</url>
12+
<url>
13+
<loc>https://co-r-e.github.io/dexcode-lp/ja</loc>
14+
<xhtml:link rel="alternate" hreflang="en" href="https://co-r-e.github.io/dexcode-lp/" />
15+
<xhtml:link rel="alternate" hreflang="ja" href="https://co-r-e.github.io/dexcode-lp/ja" />
16+
<xhtml:link rel="alternate" hreflang="x-default" href="https://co-r-e.github.io/dexcode-lp/" />
17+
<changefreq>weekly</changefreq>
18+
<priority>0.9</priority>
19+
</url>
20+
<url>
21+
<loc>https://co-r-e.github.io/dexcode-lp/docs/getting-started/introduction</loc>
22+
<changefreq>monthly</changefreq>
23+
<priority>0.8</priority>
24+
</url>
25+
<url>
26+
<loc>https://co-r-e.github.io/dexcode-lp/docs/getting-started/installation</loc>
27+
<changefreq>monthly</changefreq>
28+
<priority>0.8</priority>
29+
</url>
30+
<url>
31+
<loc>https://co-r-e.github.io/dexcode-lp/docs/getting-started/quick-start</loc>
32+
<changefreq>monthly</changefreq>
33+
<priority>0.8</priority>
34+
</url>
35+
<url>
36+
<loc>https://co-r-e.github.io/dexcode-lp/docs/guides/creating-decks</loc>
37+
<changefreq>monthly</changefreq>
38+
<priority>0.7</priority>
39+
</url>
40+
<url>
41+
<loc>https://co-r-e.github.io/dexcode-lp/docs/guides/parallel-editing</loc>
42+
<changefreq>monthly</changefreq>
43+
<priority>0.7</priority>
44+
</url>
45+
<url>
46+
<loc>https://co-r-e.github.io/dexcode-lp/docs/guides/agent-skills</loc>
47+
<changefreq>monthly</changefreq>
48+
<priority>0.7</priority>
49+
</url>
50+
<url>
51+
<loc>https://co-r-e.github.io/dexcode-lp/docs/guides/sharing</loc>
52+
<changefreq>monthly</changefreq>
53+
<priority>0.7</priority>
54+
</url>
55+
<url>
56+
<loc>https://co-r-e.github.io/dexcode-lp/docs/guides/theme-customization</loc>
57+
<changefreq>monthly</changefreq>
58+
<priority>0.7</priority>
59+
</url>
60+
<url>
61+
<loc>https://co-r-e.github.io/dexcode-lp/docs/components/overview</loc>
62+
<changefreq>monthly</changefreq>
63+
<priority>0.7</priority>
64+
</url>
65+
<url>
66+
<loc>https://co-r-e.github.io/dexcode-lp/docs/components/charts</loc>
67+
<changefreq>monthly</changefreq>
68+
<priority>0.6</priority>
69+
</url>
70+
<url>
71+
<loc>https://co-r-e.github.io/dexcode-lp/docs/components/layouts</loc>
72+
<changefreq>monthly</changefreq>
73+
<priority>0.6</priority>
74+
</url>
75+
<url>
76+
<loc>https://co-r-e.github.io/dexcode-lp/docs/components/code-blocks</loc>
77+
<changefreq>monthly</changefreq>
78+
<priority>0.6</priority>
79+
</url>
80+
<url>
81+
<loc>https://co-r-e.github.io/dexcode-lp/docs/reference/cli-commands</loc>
82+
<changefreq>monthly</changefreq>
83+
<priority>0.6</priority>
84+
</url>
85+
<url>
86+
<loc>https://co-r-e.github.io/dexcode-lp/docs/reference/configuration</loc>
87+
<changefreq>monthly</changefreq>
88+
<priority>0.6</priority>
89+
</url>
90+
<url>
91+
<loc>https://co-r-e.github.io/dexcode-lp/docs/reference/keyboard-shortcuts</loc>
92+
<changefreq>monthly</changefreq>
93+
<priority>0.5</priority>
94+
</url>
95+
<url>
96+
<loc>https://co-r-e.github.io/dexcode-lp/docs/reference/export</loc>
97+
<changefreq>monthly</changefreq>
98+
<priority>0.6</priority>
99+
</url>
100+
</urlset>

src/app/ja/layout.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import type { ReactNode } from "react";
2+
3+
export default function JaLayout({ children }: { children: ReactNode }): ReactNode {
4+
return <div lang="ja">{children}</div>;
5+
}

src/app/ja/page.tsx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,23 @@ export default function JapaneseLpPage(): ReactNode {
5858
"@context": "https://schema.org",
5959
"@type": "SoftwareApplication",
6060
name: "DexCode",
61+
description: dict.meta.description,
62+
url: `${SITE_URL}/ja`,
6163
applicationCategory: "DeveloperApplication",
6264
operatingSystem: "macOS, Linux, Windows (WSL)",
63-
description: dict.meta.description,
64-
url: `${SITE_URL}/ja/`,
65+
offers: { "@type": "Offer", price: "0", priceCurrency: "JPY" },
66+
license: "https://opensource.org/licenses/MIT",
67+
codeRepository: "https://github.com/co-r-e/dexcode",
68+
installUrl: "https://github.com/co-r-e/dexcode",
69+
softwareVersion: "0.1.3",
70+
datePublished: "2025-01-01",
71+
inLanguage: ["en", "ja"],
6572
author: {
6673
"@type": "Organization",
6774
name: "CORe Inc.",
6875
url: "https://co-r-e.com",
6976
},
70-
license: "https://opensource.org/licenses/MIT",
71-
codeRepository: "https://github.com/co-r-e/dexcode",
72-
offers: { "@type": "Offer", price: "0", priceCurrency: "JPY" },
77+
screenshot: `${SITE_URL}/assets/og-image.png`,
7378
}),
7479
}}
7580
/>

src/app/layout.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,16 @@ export const metadata: Metadata = {
3030
icons: {
3131
icon: "/assets/favicon.svg",
3232
},
33+
robots: {
34+
index: true,
35+
follow: true,
36+
googleBot: {
37+
index: true,
38+
follow: true,
39+
"max-image-preview": "large",
40+
"max-snippet": -1,
41+
},
42+
},
3343
};
3444

3545
interface RootLayoutProps {

src/app/page.tsx

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -54,19 +54,42 @@ export default function EnglishLpPage(): ReactNode {
5454
<script
5555
type="application/ld+json"
5656
dangerouslySetInnerHTML={{
57-
__html: JSON.stringify({
58-
"@context": "https://schema.org",
59-
"@type": "SoftwareApplication",
60-
name: "DexCode",
61-
description: dict.meta.description,
62-
url: `${SITE_URL}/`,
63-
applicationCategory: "DeveloperApplication",
64-
operatingSystem: "Cross-platform",
65-
offers: { "@type": "Offer", price: "0", priceCurrency: "USD" },
66-
license: "https://opensource.org/licenses/MIT",
67-
codeRepository: "https://github.com/co-r-e/dexcode",
68-
author: { "@type": "Organization", name: "CORe Inc." },
69-
}),
57+
__html: JSON.stringify([
58+
{
59+
"@context": "https://schema.org",
60+
"@type": "SoftwareApplication",
61+
name: "DexCode",
62+
description: dict.meta.description,
63+
url: `${SITE_URL}/`,
64+
applicationCategory: "DeveloperApplication",
65+
operatingSystem: "macOS, Linux, Windows (WSL)",
66+
offers: { "@type": "Offer", price: "0", priceCurrency: "USD" },
67+
license: "https://opensource.org/licenses/MIT",
68+
codeRepository: "https://github.com/co-r-e/dexcode",
69+
installUrl: "https://github.com/co-r-e/dexcode",
70+
downloadUrl: "https://github.com/co-r-e/dexcode",
71+
softwareVersion: "0.1.3",
72+
datePublished: "2025-01-01",
73+
inLanguage: ["en", "ja"],
74+
author: {
75+
"@type": "Organization",
76+
name: "CORe Inc.",
77+
url: "https://co-r-e.com",
78+
},
79+
screenshot: `${SITE_URL}/assets/og-image.png`,
80+
},
81+
{
82+
"@context": "https://schema.org",
83+
"@type": "WebSite",
84+
name: "DexCode",
85+
url: `${SITE_URL}/`,
86+
inLanguage: ["en", "ja"],
87+
potentialAction: {
88+
"@type": "SearchAction",
89+
target: `${SITE_URL}/docs/getting-started/introduction`,
90+
},
91+
},
92+
]),
7093
}}
7194
/>
7295
<LpPage locale="en" dict={dict} />

0 commit comments

Comments
 (0)