---
id: portfolio.ds.projects-index-page
name: "Projects Index Page"
type: template
status: active
relations: [{"type":"composes","target":"portfolio.ds.related-projects"}]
sources: ["apps/portfolio-site/src/design-system/docs/projects-index-page.astro","apps/portfolio-site/src/lib/designSystemRegistry.ts","packages/design-system/src/components/ProjectsIndexPage.astro"]
catalog: ["apps/portfolio-site/src/design-system/docs/projects-index-page.astro"]
previews: ["apps/portfolio-site/src/design-system/docs/projects-index-page.astro"]
---
# Projects Index Page

## Purpose
Page Template content for all agentic projects.

`Projects Index Page` gathers all built systems, workflows, and artifacts in one place.

## Hook

Use when a visitor clicks the Projects navigation item.

## Contract
- Splits projects into month/year groups from each item `publishedAt`.
- Sorts groups and items newest-first.
- Renders each month/year group through `Related Projects`.
- Passes `showAction=false` into `Related Projects`; the all-projects page must not show an all-projects button inside itself.
- Passes `limit` equal to the group size so the index does not hide projects.
- Lives under `Page Template` Content in the Design System menu.
- Stays content-only; `Page Template` owns Header and outer shell.
- Does not own page padding; each month/year group delegates spacing to `Related Projects`.
- Does not render article cards.
- Does not locally recreate related-project card grids.
- Receives `locale` for month formatting and `labels` for localized landmarks, empty states, and undated content.

## Use
- Rendering `/projects/`.

## Do Not Use
- Rendering the homepage project section.
- Rendering a single project page.

## Code Paths

- `packages/design-system/src/components/ProjectsIndexPage.astro`

## Accessibility

Preserve applicable accessibility behavior of the implementation and verify changes in actual usage.

## Verification

- Confirm every source path in frontmatter resolves to current implementation or documentation.
- Run `scripts/design-system-graph --check --no-write`.
- Verify actual usage and documented Preview against the enabled package profiles before completion.
