static-export
Use when the user works on demo personas, localStorage persistence, or GitHub Pages static-export behaviour.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when the user works on demo personas, localStorage persistence, or GitHub Pages static-export behaviour.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when the user adds or modifies a Next.js API route under ui/src/app/api/.
Use when the user works on EHDS articles, DSP protocol, DCP credentials, ODRL policies, or the audit trail.
Use when the user works on the force-directed graph explorer, layer colours, persona views, or node filtering.
Use when the user works on authentication, Keycloak configuration, OIDC, roles, or JWT claims.
Use when the user adds nodes, relationships, constraints, or indexes to the Neo4j knowledge graph, or edits any *.cypher file.
Use when the user adds E2E tests, Playwright specs, or journey coverage.
| name | static-export |
| description | Use when the user works on demo personas, localStorage persistence, or GitHub Pages static-export behaviour. |
Sources: ui/src/lib/use-demo-persona.ts, ui/src/lib/auth.ts (DEMO_PERSONAS),
.claude/rules/code-style.md (static export guards), CLAUDE.md gotcha #3.
IS_STATIC = process.env.NEXT_PUBLIC_STATIC_EXPORT === "true" as a module-top
constant; in static mode fetchApi() serves /mock/*.json for GET and a
synthetic { ok: true } for mutations.useDemoPersona() unconditionally (hooks rule).ui/src/components/Navigation.tsx nav groups.patient_profile_patient1.json for ?patientId=P1).ui/__tests__/e2e/journeys/19-static-github-pages.spec.ts
via the setPersona(page, username) localStorage helper — never mock
next-auth/react in E2E (.claude/rules/testing.md).Page works in BOTH modes: live (API route) and static (mock fixture). If it only works in one, the task is not done.