Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/docs-quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Docs quality

on:
pull_request:
push:
branches: [main]

permissions:
contents: read

jobs:
verify:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: .nvmrc
cache: npm
- run: npm ci
- run: npm run format:check
- run: npm run lint
- run: npm run test:last-updated
- run: npm audit --audit-level=low
- run: npm run build
- run: npm run types:check
- name: Verify production routes and downloads
run: |
npm run start -- --hostname 127.0.0.1 --port 3100 > /tmp/xagent-docs.log 2>&1 &
docs_server_pid=$!
trap 'kill "$docs_server_pid"; cat /tmp/xagent-docs.log' EXIT
for attempt in $(seq 1 30); do
if curl --fail --silent http://127.0.0.1:3100/en > /dev/null; then break; fi
sleep 1
done
npm run test:smoke
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
# next.js
/.next/
/out/
/public/_pagefind/
*.tsbuildinfo

# production
/build
Expand Down
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24
5 changes: 5 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"semi": false,
"singleQuote": true,
"trailingComma": "none"
}
22 changes: 21 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Trilingual: **English · 한국어 · 日本語**. Built with [Nextra 4](https:/
## Dev

```bash
npm install
npm ci # Node 24 LTS (.nvmrc)
npm run dev # http://localhost:3000
```

Expand All @@ -22,6 +22,26 @@ content/ja 日本語

Each language's Litepaper is a single page: `content/<lang>/litepaper.mdx`.

## Verification

```bash
npm run format:check
npm run lint
npm run test:last-updated
npm audit
npm run build # also builds the Pagefind search index
npm run types:check
npm run start -- --hostname 127.0.0.1 --port 3100
# In a second terminal:
npm run test:smoke
```

CI runs these checks for pull requests and `main`. The smoke suite covers all
registered language routes, error responses, update dates, locale redirects,
search assets, and the original audit PDF. Search requires a production build;
run `npm run build` before testing it locally. Generated `public/_pagefind` files
are build artifacts, not source files.

## Deploy

Netlify (auto-deploys on push to `main`) → https://docs.xagt.ai
28 changes: 25 additions & 3 deletions app/[lang]/[[...mdxPath]]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,30 +1,52 @@
import { generateStaticParamsFor, importPage } from 'nextra/pages'
import { notFound } from 'next/navigation'
import type { FC } from 'react'
import { useMDXComponents as getMDXComponents } from '../../../mdx-components'
import localeRoutes from '../../../locale-routes.json'

export const generateStaticParams = generateStaticParamsFor('mdxPath')

type PageProps = Readonly<{
params: Promise<{
mdxPath: string[]
mdxPath?: string[]
lang: string
}>
}>

const timestamps = JSON.parse(
process.env.NEXT_PUBLIC_DOCUMENT_LAST_UPDATED ?? '{}'
) as Record<string, string>

function validateRoute(lang: string, mdxPath: string[] = []) {
const routes: Record<string, string[]> = localeRoutes
const slug = mdxPath.join('/')
if (!Object.hasOwn(routes, lang) || !routes[lang].includes(slug)) notFound()
return `/${lang}${slug ? `/${slug}` : ''}`
}

export async function generateMetadata(props: PageProps) {
const params = await props.params
validateRoute(params.lang, params.mdxPath)
const { metadata } = await importPage(params.mdxPath, params.lang)
return metadata
}

const Wrapper = getMDXComponents().wrapper

const Page: FC<PageProps> = async props => {
const Page: FC<PageProps> = async (props) => {
const params = await props.params
const route = validateRoute(params.lang, params.mdxPath)
const result = await importPage(params.mdxPath, params.lang)
const { default: MDXContent, toc, metadata, sourceCode } = result
return (
<Wrapper toc={toc} metadata={metadata} sourceCode={sourceCode}>
<Wrapper
toc={toc}
metadata={{
...metadata,
timestamp: timestamps[route] ?? metadata.timestamp
}}
sourceCode={sourceCode}
>
<MDXContent {...props} params={params} />
</Wrapper>
)
Expand Down
11 changes: 7 additions & 4 deletions app/[lang]/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import type { Metadata } from 'next'
import Image from 'next/image'
import { notFound } from 'next/navigation'
import { Footer, Layout, LocaleSwitch, Navbar } from 'nextra-theme-docs'
import { Head } from 'nextra/components'
import { getPageMap } from 'nextra/page-map'
import type { FC, ReactNode } from 'react'
import { DocumentLastUpdated } from '../document-last-updated'
import localeRoutes from '../../locale-routes.json'
import 'nextra-theme-docs/style.css'

export const metadata: Metadata = {
Expand All @@ -22,13 +25,15 @@ type LayoutProps = Readonly<{

const RootLayout: FC<LayoutProps> = async ({ children, params }) => {
const { lang } = await params
if (!Object.hasOwn(localeRoutes, lang)) notFound()
const pageMap = await getPageMap(`/${lang}`)

const navbar = (
<Navbar
logo={
<span style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}>
<img
<Image
unoptimized
src="/logo.png"
alt="X-Agent"
width={28}
Expand All @@ -45,9 +50,7 @@ const RootLayout: FC<LayoutProps> = async ({ children, params }) => {
)

const footer = (
<Footer>
X-Agent Docs · {new Date().getFullYear()} © X-Agent
</Footer>
<Footer>X-Agent Docs · {new Date().getFullYear()} © X-Agent</Footer>
)

return (
Expand Down
12 changes: 11 additions & 1 deletion content/en/changelog.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# Changelog

All notable changes to the X-Agent Litepaper are documented here.
All notable changes to the X-Agent Litepaper and documentation are documented here.

## Documentation Update — August 31, 2026

- Added the original PeckShield X-Agent Token audit report (v1.0, August 28, 2026) as a PDF download.
- Added audit download links to Contract Addresses and Security & Audits, including Japanese and Korean pages and navigation.
- Synchronized the Changelog, including version history, across English, Japanese, and Korean, with localized navigation entries.
- Added Japanese and Korean versions of Contact & Support and Brand Kit, alongside Security & Audits in the localized Resources navigation.
- Added Japanese and Korean translations of the Disclaimer with localized navigation, preserving the English terms and original review date.
- Updated framework dependencies, restored multilingual search indexing, and fixed missing-file errors, invalid language-preference redirects, and missing update dates on new documents.
- Litepaper PDF downloads remain unavailable.

## V1.2 — August 2026

Expand Down
14 changes: 9 additions & 5 deletions content/en/resources/security.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# Security & Audits

import { Callout } from 'nextra/components'
## X-Agent Token Audit

<Callout type="info">
**Coming soon.** This section is being finalized. Follow X-Agent for updates.
</Callout>
PeckShield audited the X-Agent Token smart contract. Report: v1.0, August 28, 2026 (English original).

Third-party audit reports and the security disclosure process will be published here.
[Download the PeckShield audit report (PDF)](/audits/PeckShield-Audit-Report-ERC20-XAgentToken-v1.0.pdf)

The audit covers the smart contract identified in the report, not the entire X-Agent platform. An audit does not guarantee the absence of vulnerabilities.

## Security Disclosure

The security disclosure process will be published here.
10 changes: 5 additions & 5 deletions content/en/token/addresses.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Contract Addresses

import { Callout } from 'nextra/components'
Official on-chain contract addresses will be published here after token generation.

<Callout type="info">
**Coming soon.** This section is being finalized. Follow X-Agent for updates.
</Callout>
## Security Audit

Official on-chain contract addresses will be published here after token generation.
PeckShield audited the X-Agent Token smart contract. Report: v1.0, August 28, 2026 (English original).

[Download the PeckShield audit report (PDF)](/audits/PeckShield-Audit-Report-ERC20-XAgentToken-v1.0.pdf)
6 changes: 5 additions & 1 deletion content/ja/_meta.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
export default {
index: 'はじめに',
litepaper: 'Litepaper'
litepaper: 'Litepaper',
token: 'トークン($XAGT)',
resources: 'リソース',
changelog: '更新履歴',
disclaimer: '免責事項'
}
39 changes: 39 additions & 0 deletions content/ja/changelog.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# 更新履歴

X-AgentのLitepaperおよびドキュメントの主な変更を記録しています。

## ドキュメント更新 — 2026年8月31日

- PeckShieldによるX-Agent Tokenの監査報告書(v1.0、2026年8月28日)の英語原本をPDFでダウンロードできるようにしました。
- 「コントラクトアドレス」と「セキュリティと監査」に監査報告書のダウンロードリンクを追加し、日本語・韓国語のページとナビゲーションも追加しました。
- 過去のバージョン履歴を含む更新履歴を英語・日本語・韓国語で同期し、各言語のナビゲーションに追加しました。
- 「お問い合わせ・サポート」と「ブランドキット」の日本語・韓国語版を追加し、「セキュリティと監査」とともに各言語のリソースメニューに配置しました。
- 英語原文の条項と元の確認日を維持した免責事項の日本語・韓国語訳を追加し、各言語のナビゲーションに配置しました。
- フレームワークの依存パッケージを更新し、多言語検索のインデックス生成を復旧しました。存在しないファイルへのアクセス時のエラー、不正な言語設定によるリダイレクト、新規ドキュメントの更新日が表示されない問題を修正しました。
- LitepaperのPDFダウンロードは引き続き提供していません。

## V1.2 — 2026年8月

- Litepaperページから公開PDFダウンロードリンクを削除しました。
- 最終的なトークン配分とベスティング条件の調整に伴い、詳細な配分表と累積アンロックチャートを、TGE前に公表する旨の案内に置き換えました。
- 英語・韓国語・日本語のLitepaperで、第5.4節のタイトルを **Token Allocation & Vesting Schedule** に変更しました。
- 各言語のドキュメントに実際の更新日が表示されるよう、ページごとの最終更新日を同期しました。

## V1.1 — 2026年8月

- 最大供給量の10Bと一致する **総供給量:10B $XAGT** を追加しました。
- TGE時のアンロックをCommunity 2%、Marketing 4%–8%、Eco-Fund 1%、MM 2.5%に更新し、TGE時の初期流通量合計を9.5%–13.5%としました。
- Marketing配分の残り6%–10%をQ1–Q8にわたりアンロックすること、および流動性向上のために大手取引所から要請があった場合、最大5%をその取引所向けにアンロックできることを明記しました。
- 残りのベスティング分を、Communityは56%をQ1–Q8、Eco-Fundは7%を5四半期、MMは2%をQ1–Q5にわたり配分する内容に修正しました。
- Community配分58%のうち、ユーザー向けが約29%、その他のビルダーおよびパートナー向けが約29%であることを明記しました。
- トークノミクスの図をTGEからQ12までの累積アンロック曲線に修正し、CEXの取り決めに応じたMarketing配分の変動幅を反映しました。
- 更新したトークノミクスの条件を英語・韓国語・日本語のLitepaperで同期しました。
- 英語のみのページから言語を切り替えた際、未提供の韓国語・日本語ページを各言語のホームページにリダイレクトするよう修正しました。

## V1 — 2026年7月

- X-Agent Litepaperを初めて一般公開しました。
- エグゼクティブサマリー、課題、X-Agentのソリューションという主要な説明を公開しました。
- **$XAGTトークノミクス**として、トークンの用途、加速ベスティング、3次元のビジネスマイニング、配分および四半期ごとのベスティングスケジュールを公開しました。
- 戦略ロードマップ(2026年 → 2029年)とビジネスモデルを追加しました。
- 韓国語版(한국어)と日本語版を追加しました。
21 changes: 21 additions & 0 deletions content/ja/disclaimer.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# 免責事項

本書(以下「Litepaper」)は、**一般的な情報提供のみを目的として**提供されています。X-Agentの現在のビジョン、アーキテクチャ、および予定されているトークンエコノミクスを説明するものであり、財務、法律、税務、または投資に関する助言を構成するものではなく、そのような助言として依拠すべきではありません。

## 募集または勧誘ではないこと

本Litepaperのいかなる内容も、いかなる法域においても、有価証券、トークン、または金融商品の売却の申込み、あるいは購入の申込みの勧誘を構成するものではありません。$XAGTトークンは、X-Agentエコシステム内の活動へのアクセスおよび決済に使用するユーティリティトークンを意図したものであり、有価証券または投資商品として設計または提供されるものではありません。

## 将来の見通しに関する記述

本Litepaperには、今後の計画、ロードマップ、および予定されている機能に関する将来の見通しが含まれています。これらの記述には重大なリスクと不確実性が伴い、実際の結果は大きく異なる可能性があります。本書に記載されたロードマップ、トークノミクス、配分、およびベスティングスケジュールは、プロジェクトの進展に伴い、予告なく**変更される場合があります**。

## 保証の否認

X-Agentは、本書に含まれる情報の正確性、完全性、または信頼性について、いかなる表明または保証も行いません。デジタル資産には、その価値の全額を失う可能性を含め、高いリスクが伴います。X-Agentエコシステムまたは$XAGTトークンに関与する前に、リスクを評価し、ご自身で調査を行う責任は、すべてご自身にあります。

## 規制に関する注意事項

デジタル資産の規制上の位置付けは法域によって異なり、多くの地域で依然として不確実です。ご自身の参加が適用される法律および規制に準拠していることを確認する責任は、ご自身にあります。一部の法域では、参加が制限または禁止される場合があります。

_最終確認:2026年7月。_
5 changes: 5 additions & 0 deletions content/ja/resources/_meta.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export default {
'brand-kit': 'ブランドキット',
contact: 'お問い合わせ・サポート',
security: 'セキュリティと監査'
}
19 changes: 19 additions & 0 deletions content/ja/resources/brand-kit.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# ブランドキット

## ロゴ

![X-Agentのロゴ](/logo.png)

ダウンロード:[logo.png](/logo.png)

## 名称

必ずハイフン付きの **X-Agent** と表記してください。「XAgent」や「Xagent」は使用しないでください。

## タグライン

> Speak to Build. Share to Connect.

## カラー

メインのブランドカラーは現在調整中です。確定後、こちらで公開します。
9 changes: 9 additions & 0 deletions content/ja/resources/contact.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# お問い合わせ・サポート

- **公式サイト** — [xagt.ai](https://xagt.ai)
- **X / Twitter** — [@XAgent_official](https://x.com/XAgent_official)
- **Medium** — [@xagentai](https://medium.com/@xagentai)
- **メール** — [admin@xagt.ai](mailto:admin@xagt.ai)
- **Telegram** — 近日公開予定

パートナーシップや取材に関するお問い合わせは、上記の窓口までご連絡ください。
13 changes: 13 additions & 0 deletions content/ja/resources/security.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# セキュリティと監査

## X-Agent Token監査

PeckShieldがX-Agent Tokenのスマートコントラクトを監査しました。報告書:v1.0、2026年8月28日(英語原文)。

[PeckShield監査報告書をダウンロード(PDF・英語)](/audits/PeckShield-Audit-Report-ERC20-XAgentToken-v1.0.pdf)

監査対象は報告書に記載されたスマートコントラクトであり、X-Agentプラットフォーム全体ではありません。監査は、脆弱性が存在しないことを保証するものではありません。

## 脆弱性の報告

脆弱性の報告手順はこちらで公開する予定です。
3 changes: 3 additions & 0 deletions content/ja/token/_meta.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default {
addresses: 'コントラクトアドレス'
}
9 changes: 9 additions & 0 deletions content/ja/token/addresses.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# コントラクトアドレス

公式のオンチェーンコントラクトアドレスは、トークン生成後にこちらで公開します。

## セキュリティ監査

PeckShieldがX-Agent Tokenのスマートコントラクトを監査しました。報告書:v1.0、2026年8月28日(英語原文)。

[PeckShield監査報告書をダウンロード(PDF・英語)](/audits/PeckShield-Audit-Report-ERC20-XAgentToken-v1.0.pdf)
6 changes: 5 additions & 1 deletion content/ko/_meta.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
export default {
index: '소개',
litepaper: 'Litepaper'
litepaper: 'Litepaper',
token: '토큰 ($XAGT)',
resources: '자료',
changelog: '변경 이력',
disclaimer: '면책 조항'
}
Loading