Context
There is no shared component library across rtCamp projects. UI patterns like buttons, cards, and hero sections are rebuilt from scratch on every project. A centrally-maintained library with a scaffold-first delivery model solves this without the hard-dependency problem that blocked previous attempts.
Expected Outcome
A new rtcamp/component-library repository published to GitHub Package Registry with ≥5 seed components. Each component is available both as a scaffoldable template (primary) and as a direct dependency (secondary).
Seed components: Button/CTA, Card, Hero, Navigation, Post Loop
Each component includes:
components/
└── Button/
├── Button.php # PHP partial (render-only)
├── Button.scss # Styles
├── block.json # Gutenberg block definition (where applicable)
├── edit.js # Block editor view
├── view.js # Frontend interactivity
└── README.md # Usage and props
Scaffold command (see TASK-009):
npx rtcamp scaffold component Button
# Copies Button/ into the project's src/Components/
Acceptance Criteria
Notes
- Scaffold-first is the primary delivery model. Direct imports are secondary.
- Components must be render-only — no data fetching, no business logic.
- Consume
@rtcamp/standards (TASK-004) for linting configs.
Context
There is no shared component library across rtCamp projects. UI patterns like buttons, cards, and hero sections are rebuilt from scratch on every project. A centrally-maintained library with a scaffold-first delivery model solves this without the hard-dependency problem that blocked previous attempts.
Expected Outcome
A new
rtcamp/component-libraryrepository published to GitHub Package Registry with ≥5 seed components. Each component is available both as a scaffoldable template (primary) and as a direct dependency (secondary).Seed components: Button/CTA, Card, Hero, Navigation, Post Loop
Each component includes:
Scaffold command (see TASK-009):
npx rtcamp scaffold component Button # Copies Button/ into the project's src/Components/Acceptance Criteria
rtcamp_component()Notes
@rtcamp/standards(TASK-004) for linting configs.