name: 42go-pages
description: Agentic documentation for configuring and extending 42go public composable pages through public.pages, DynamicPage, and ContentBlock. Use when Codex needs to add or change public pages, choose page content blocks, document available public page components, or create custom page items.
42go Pages
Use this skill when working with public composable pages configured under public.pages.
Core implementation:
src/42go/components/DynamicPage/src/42go/components/ContentBlock/src/app/(public)/page.tsxsrc/app/(public)/[...slug]/page.tsx- app configs under
src/config/**/config.ts
Quick Workflow
- Read the target app config and page file:
src/AppConfig.tssrc/config/<app>/config.ts- any imported page module such as
src/config/home-page.tsx
- For routing, metadata, and
public.pagesshape, read references/public-pages.md. - To choose existing page blocks, read references/core-blocks-index.md, then only the block reference you need.
- To add app-specific UI, read references/custom-items.md.
- Run
npm run qaafter code changes.
Configuration Shape
Public pages live at config.public.pages.
public: {
pages: {
HomePage: {
meta: { title: "Home Page" },
items: [
{ type: "hero", title: "Hello **World**" },
{ type: "markdown", source: "Body copy" },
],
},
"foo/bar": {
meta: { title: "Foo Bar" },
items: [{ type: "markdown", source: "Nested route" }],
},
},
}
HomePage renders /. Other keys render public catch-all routes. Slug keys are lowercased by getPageId(), so keep keys lowercase except the reserved HomePage.
Existing Blocks
Do not load every block implementation by default. Use the index, then read the focused reference:
- Core blocks index
- Hero
- Markdown
- Image
- Component and Link
- CTA and Stack
- Pricing, Waitlist, Feedback, Demo
Custom Items
Use type: "component" for app-owned page content before adding a new shared core block.
Add a new shared ContentBlock only when the item is generic enough for multiple apps or needs reusable platform behavior. Keep app-specific UI outside src/42go.
Read references/custom-items.md before creating custom page items or new block types.