ID:WORK-011Status:pendingPriority:lowComplexity:unknown
Build prerequisite Rune
Summary
Declares dependencies between content pages. "Complete X before starting this lesson." Themes can render these as a learning path or dependency graph.
Attributes
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
path | String | — | Yes | Path to the prerequisite page (relative URL) |
label | String | — | No | Display label (defaults to the target page's title) |
required | Boolean | true | No | Whether this is a hard requirement or a recommendation |
Content Model
- Self-closing tag (no children). All data comes from attributes.
- Multiple
{% prerequisite %}tags can appear on a page.
Transform Output
- typeof:
Prerequisite - Tag:
<a>or<div> - Properties:
path,label,required
Implementation Tasks
- Create schema in
runes/learning/src/tags/prerequisite.ts - Add RuneConfig entry in
runes/learning/src/config.ts - Write CSS in
packages/lumina/styles/runes/prerequisite.css - Import CSS in
packages/lumina/index.css - Implement cross-page dependency graph collection via
@refrakt-md/learningpackage'sregister()pipeline hook - Write tests in
runes/learning/test/tags/prerequisite.test.ts - Create inspector fixture
Implementation Notes
The rune itself is simple — the complexity is in the build pipeline integration. The content pipeline collects all prerequisite declarations and builds a dependency graph. Themes can render this as a progress tracker, learning path visualization, or simple prerequisite list.