2.3 KiB
2.3 KiB
ADDED Requirements
Requirement: Knowledge entry discovery
The system SHALL scan all directories matching the pattern knowledge/entries/knowledge_YYYYMMDD_Title/ and extract metadata from each entry's .md file.
If knowledge/entries/ does not exist, the system SHALL fall back to scanning knowledge_YYYYMMDD_Title/ directories in the project root for backward compatibility.
Metadata fields to extract from YAML frontmatter:
title(required) — entry titleauthor(optional) — author namedate(optional) — creation date from directory name (YYYYMMDD)tags(optional) — array of tags
Scenario: Valid knowledge directory with complete frontmatter
- WHEN a directory
knowledge/entries/knowledge_20260518_mattpocock_skills/containsknowledge_20260518_mattpocock_skills.mdwith valid YAML frontmatter including title, author, date, and tags - THEN the system extracts all metadata fields and displays them in the index
Scenario: Knowledge directory with minimal frontmatter
- WHEN a knowledge directory has a
.mdfile whose frontmatter contains onlytitle(no tags, no author) - THEN the system extracts the title and treats tags as an empty array
Scenario: Missing or malformed YAML frontmatter
- WHEN a knowledge directory's
.mdfile has no YAML frontmatter or the frontmatter is malformed - THEN the system SHALL display the entry using the directory name as a fallback title, with "unknown" date and no tags
Scenario: Multiple knowledge directories present
- WHEN the project contains 10 knowledge directories
- THEN the system SHALL display all 10 entries sorted by date descending
Requirement: Manifest-based file discovery
The system SHALL generate an inline JavaScript entries array from the local filesystem at build time.
Scenario: Entries contain valid paths
- WHEN the generated entries array contains paths such as
knowledge/entries/knowledge_20260417_Waza - THEN the system SHALL render each entry and link its title to the corresponding
.htmlfile
Scenario: Backward-compatible root directory scan
- WHEN
knowledge/entries/does not exist and root-levelknowledge_YYYYMMDD_Title/directories exist - THEN the system SHALL scan root-level knowledge directories and render them normally