Files

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 title
  • author (optional) — author name
  • date (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/ contains knowledge_20260518_mattpocock_skills.md with 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 .md file whose frontmatter contains only title (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 .md file 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 .html file

Scenario: Backward-compatible root directory scan

  • WHEN knowledge/entries/ does not exist and root-level knowledge_YYYYMMDD_Title/ directories exist
  • THEN the system SHALL scan root-level knowledge directories and render them normally