ドキュメント / 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_schemaonhttps://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_filesonhttps://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_fileonhttps://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_validateonhttps://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_fileonhttps://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_fileonhttps://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_changesonhttps://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_editonhttps://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_statusonhttps://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_promoteonhttps://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の支援で翻訳されています。正式な肩書は英語のままです。