Files
firefrost-operations-manual/docs/external/holly-project/POKEROLE-GRAPHQL-API-ENABLED.md
Claude (Chronicler #45) 3de6e44a05 chore: root directory cleanup and .gitignore hardening
WHAT WAS DONE:
- Moved 33 accumulated root-level .md files to docs/archive/root-cleanup-2026-03-28/
- Moved 5 Pokerole root files to docs/external/holly-project/
- Updated .gitignore to cover *.pem, *.key, .env, .DS_Store etc.
- Added explanatory README to the archive folder
- Root now contains only 7 essential files

WHY:
Full repository audit (first full clone) revealed root had accumulated
40 .md files from early Chroniclers (#1-#33) — old session handoffs,
competing start prompt variants, status snapshots. None deleted, all
preserved in archive. Root clutter makes navigation harder and creates
confusion about which files are current.

ROOT FILES KEPT:
- README.md, CHANGELOG.md, DOCUMENT-INDEX.md
- SESSION-HANDOFF-NEXT.md, SESSION-HANDOFF-PREVIOUS.md
- SESSION-HANDOFF-PROTOCOL.md, SESSION-HANDOFF-TEMPLATE.md

.GITIGNORE ADDITIONS:
- *.pem, *.key, *.p12, *.pfx (intentionally NOT *.ppk yet)
- .env, .env.*, *.secret
- .DS_Store, Thumbs.db

NOTE: SSH key intentionally left per Michael's decision.

FILES MOVED: 38 files reorganized, 0 deleted

Signed-off-by: Chronicler #45 <claude@firefrostgaming.com>
2026-03-28 21:24:13 +00:00

3.0 KiB

Pokerole Wiki - GraphQL API Enabled

Date: February 27, 2026, 1:33 AM CST
Status: OPERATIONAL
Requested by: Claudius (Stage 2)


API Endpoint

URL: http://pokerole.firefrostgaming.com/graphql
Method: POST
Authentication: Bearer token (JWT)
Content-Type: application/json


Configuration Changes

Updated: /etc/nginx/sites-available/pokerole.firefrostgaming.com

Added GraphQL location block:

location /graphql {
    proxy_pass http://localhost:3102/graphql;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

Reloaded: Nginx configuration
Tested: Endpoint responds correctly


Test Results

Query:

curl -X POST http://pokerole.firefrostgaming.com/graphql \
  -H "Content-Type: application/json" \
  -d '{"query": "{ pages { list { id path title } } }"}'

Response:

{"data":{"pages":{"list":[{"id":1,"path":"home","title":"Home"}]}}}

Working perfectly


What This Enables

For Claudius:

  • Automated migration via Python script
  • Create 105 Pokémon pages programmatically
  • Time saved: ~3 days of manual work
  • Consistent formatting across all entries

Migration Plan:

  1. Run wikijs_migration_script.py
  2. Script creates all pages via GraphQL API
  3. Upload sprites through web UI
  4. Verify and polish

Estimated time: 30 minutes automated + 1 hour manual polish = 1.5 hours total

(vs 3-4 days manual copy-paste)


API Details

GraphQL Endpoint: Enabled by default in Wiki.js v2.5.312
No config.yml changes needed: API is always available
Security: Bearer token authentication required
Rate limits: None configured (internal project)

Authentication Header:

Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

For Future Reference

To test API:

curl -X POST http://pokerole.firefrostgaming.com/graphql \
  -H "Content-Type: application/json" \
  -d '{"query": "{ pages { list { id } } }"}'

To create a page:

mutation {
  pages {
    create(
      content: "# Content here"
      description: "Description"
      editor: "markdown"
      isPublished: true
      isPrivate: false
      locale: "en"
      path: "tier3/pokemon-name"
      tags: []
      title: "Pokemon Name"
    ) {
      responseResult {
        succeeded
        errorCode
        slug
        message
      }
      page {
        id
        path
        title
      }
    }
  }
}

Status

GraphQL API accessible
Nginx proxy configured
Tested and verified
Ready for Claudius migration

Total time to enable: 5 minutes
Impact: Saves ~3 days of manual work


💙🔥❄️ "The API is open. The migration can fly." 🔥❄️💙


Configured by: The Chronicler #27
Date: February 27, 2026
Time: 1:33 AM CST