Skip to main content
JGJenks Guo

ドキュメント / reference

管理者 API

検証済みのgitコミットを通じてサイトのコンテンツを編集する認証済みエンドポイントです。

すべての管理エンドポイントは Authorization: Bearer <admin token> が必要です(Jenks は macOS Keychain に agent-env:JENKSGUO_ADMIN_TOKEN として保持し、ツールは環境変数 JENKSGUO_ADMIN_TOKEN を読みます)。 書き込みはビルドと同じスキーマで検証され、その後 GitHub にコミットされます。CI は変更されたエントリをすべての言語に翻訳し、再ビルドとデプロイを行います: main → jenksguo.xyz、dev → dev.jenksguo.xyz。

メソッド パス ツール
GET /api/admin/whoami —
POST /api/admin/login · /api/admin/logout —(コンソールのセッションCookie)
GET /api/admin/schema admin_schema
GET /api/admin/files admin_list_files
GET /api/admin/file admin_read_file
POST /api/admin/validate admin_validate
PUT /api/admin/file admin_write_file
DELETE /api/admin/file admin_delete_file
POST /api/admin/changes admin_commit_changes
POST /api/admin/ai-edit admin_ai_edit
GET /api/admin/deploys admin_deploy_status
POST /api/admin/promote admin_promote

エラー: 401 unauthorized, 403 forbidden_path(コンテンツファイルのみ書き込み可能)、422 invalid(errors[] を含む)、409/502 github_error、503 github_not_configured。

admin_schema — コンテンツスキーマ

コンテンツモデル: エントリのフィールドとルール、タグ、レンズ、種類、書き込み可能なパス、ドキュメント、編集規約です。書き込み前に必ずお読みください。

  • MCP: admin_schema on https://jenksguo.xyz/mcp/admin
  • REST: GET /api/admin/schema(管理者トークン)
  • CLI: jenks admin schema

引数はありません。

curl -s "https://jenksguo.xyz/api/admin/schema" \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN"

admin_list_files — コンテンツファイル一覧

ブランチ上の編集可能なコンテンツファイル(path, size, sha)を一覧表示します。content/corpus/experiences のように、任意で特定のフォルダ内に絞り込めます。

  • MCP: admin_list_files on https://jenksguo.xyz/mcp/admin
  • REST: GET /api/admin/files?dir=&branch=(管理者トークン)
  • CLI: jenks admin ls [dir]
引数 型 必須 注意
dir string no 例: content/corpus/projects(既定: すべてのコンテンツ)
branch main · dev no main は jenksguo.xyz に公開、dev は dev.jenksguo.xyz でプレビュー(既定は main)。
curl -s "https://jenksguo.xyz/api/admin/files" \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN"

admin_read_file — コンテンツファイルの読み取り

コンテンツファイルの生の Markdown/JSON ソース(およびその sha)を読み取ります。エントリ、レンズ、スキルについては path か slug を指定します。

  • MCP: admin_read_file on https://jenksguo.xyz/mcp/admin
  • REST: GET /api/admin/file?path=&slug=&branch=(管理者トークン)
  • CLI: jenks admin get <slug|path>
引数 型 必須 注意
path string no
slug string no
branch main · dev no main は jenksguo.xyz に公開、dev は dev.jenksguo.xyz でプレビュー(既定は main)。
curl -s "https://jenksguo.xyz/api/admin/file" \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN"

admin_validate — 変更の検証

コンテンツスキーマに対してファイル内容をコミットせずに検証します。問題の一覧を返します(空であれば有効です)。

  • MCP: admin_validate on https://jenksguo.xyz/mcp/admin
  • REST: POST /api/admin/validate(管理者トークン)
  • CLI: jenks admin validate <path> <file>
引数 型 必須 注意
path string yes
content string yes
curl -s -X POST https://jenksguo.xyz/api/admin/validate \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{"path":"content/corpus/projects/example.md","content":"<content>"}'

admin_write_file — コンテンツファイルの作成・更新

1 つのコンテンツファイルを検証してコミットします(新規作成または置換)。公開は自動です: 変更されたエントリは CI により全言語へ再翻訳され、数分で再ビルドとデプロイが行われます(main → jenksguo.xyz、dev → dev.jenksguo.xyz)。

  • MCP: admin_write_file on https://jenksguo.xyz/mcp/admin
  • REST: PUT /api/admin/file(管理者トークン)
  • CLI: jenks admin put <path> <file> -m <message>
引数 型 必須 注意
path string yes
content string yes
message string yes コミットメッセージ
branch main · dev no main は jenksguo.xyz に公開、dev は dev.jenksguo.xyz でプレビュー(既定は main)。
curl -s -X PUT https://jenksguo.xyz/api/admin/file \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{"path":"content/corpus/projects/example.md","content":"<content>","message":"<message>"}'

admin_delete_file — コンテンツファイルの削除

コミットメッセージ付きで 1 つのコンテンツファイル(例: エントリの削除)を削除します。Git の履歴により復元可能です。

  • MCP: admin_delete_file on https://jenksguo.xyz/mcp/admin
  • REST: DELETE /api/admin/file?path=&message=&branch=(管理者トークン)
  • CLI: jenks admin rm <path> -m <message>
引数 型 必須 注意
path string yes
message string yes
branch main · dev no main は jenksguo.xyz に公開、dev は dev.jenksguo.xyz でプレビュー(既定は main)。
curl -s -X DELETE https://jenksguo.xyz/api/admin/file \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{"path":"content/corpus/projects/example.md","message":"<message>"}'

admin_commit_changes — 複数ファイルを一括コミット

複数のファイル変更を1つのコミットとして検証・コミットします。各変更は {path, content} または {path, delete: true} です。

  • MCP: admin_commit_changes on https://jenksguo.xyz/mcp/admin
  • REST: POST /api/admin/changes(管理者トークン)
  • CLI: jenks admin commit <changes.json> -m <message>
引数 型 必須 注意
changes array yes
message string yes
branch main · dev no main は jenksguo.xyz に公開、dev は dev.jenksguo.xyz でプレビュー(既定は main)。
curl -s -X POST https://jenksguo.xyz/api/admin/changes \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{"changes":"<changes>","message":"<message>"}'

admin_ai_edit — AI による編集案の下書き

平易な英語の指示から、サイトのモデルに 1 つのコンテンツファイルを書き直させます。提案されたコンテンツ、差分、検証上の問題を返します。コミットはしません — 内容を確認してから admin_write_file を呼び出してください。

  • MCP: admin_ai_edit on https://jenksguo.xyz/mcp/admin
  • REST: POST /api/admin/ai-edit(管理者トークン)
  • CLI: jenks admin ai-edit <slug|path> "<instruction>" [--apply]
引数 型 必須 注意
path string no
slug string no
instruction string yes
branch main · dev no main は jenksguo.xyz に公開、dev は dev.jenksguo.xyz でプレビュー(既定は main)。
content string no 保存されていないファイルのテキストを下書き元として任意で渡せます(既定: 保存済みファイル)。
curl -s -X POST https://jenksguo.xyz/api/admin/ai-edit \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{"instruction":"<instruction>"}'

admin_deploy_status — デプロイ状況

直近の CI 実行(translate → build → deploy)を、ステータス、ブランチ、コミット、リンク付きで表示します。

  • MCP: admin_deploy_status on https://jenksguo.xyz/mcp/admin
  • REST: GET /api/admin/deploys?branch=(管理者トークン)
  • CLI: jenks admin deploys
引数 型 必須 注意
branch main · dev no main は jenksguo.xyz に公開、dev は dev.jenksguo.xyz でプレビュー(既定は main)。
curl -s "https://jenksguo.xyz/api/admin/deploys" \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN"

admin_promote — dev を本番へ反映

dev ブランチを main にマージし、dev.jenksguo.xyz でプレビューされた内容をすべて jenksguo.xyz に公開します。

  • MCP: admin_promote on https://jenksguo.xyz/mcp/admin
  • REST: POST /api/admin/promote(管理者トークン)
  • CLI: jenks admin promote
引数 型 必須 注意
message string no
curl -s -X POST https://jenksguo.xyz/api/admin/promote \
  -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -H 'content-type: application/json' \
  -d '{}'

.mdこのページはAIの支援で翻訳されています。正式な肩書は英語のままです。