title: "Improve Docusaurus frontmatter customization"
labels: ["good first issue", "docusaurus", "documentation"]
Summary
The Docusaurus output mode generates YAML frontmatter with id, title, sidebar_label, sidebar_position, description, and tags. This issue improves the customization options so users can control more frontmatter fields from their config or transcript frontmatter.
Current Behavior
Frontmatter is generated in src/templates/docusaurus-frontmatter.ts using:
config.docusaurus.sidebar_position (from YAML config)
config.docusaurus.tags (from YAML config)
source.title (from transcript H1)
- A slugified version of the title for
id and sidebar_label
Desired Behavior
Users should be able to override specific frontmatter fields from:
- Their transcript's YAML frontmatter (e.g.,
docusaurus_slug: custom-slug)
- The
docusaurus: section in config/devdocs-forge-agent.yml
Files to Touch
| File |
Change |
src/config/config.schema.ts |
Extend docusaurus config section with custom_edit_url, draft, pagination_label |
src/templates/docusaurus-frontmatter.ts |
Read new config fields and apply them |
src/pipeline/source-parser.ts |
Extract docusaurus_slug and docusaurus_description from transcript frontmatter |
config/devdocs-forge-agent.example.yml |
Document new options |
tests/ |
Add tests for new frontmatter fields |
docs/MODES.md |
Document customization options |
Acceptance Criteria
Difficulty
Low to medium — mainly TypeScript config/template work with clear file paths.
How to Get Started
git clone https://github.com/AnkitParekh007/devdocs-forge-agent.git
cd devdocs-forge-agent
npm install
# Read src/templates/docusaurus-frontmatter.ts — it's < 50 lines
# Read src/config/config.schema.ts — extend the docusaurus section
npm test
title: "Improve Docusaurus frontmatter customization"
labels: ["good first issue", "docusaurus", "documentation"]
Summary
The Docusaurus output mode generates YAML frontmatter with
id,title,sidebar_label,sidebar_position,description, andtags. This issue improves the customization options so users can control more frontmatter fields from their config or transcript frontmatter.Current Behavior
Frontmatter is generated in
src/templates/docusaurus-frontmatter.tsusing:config.docusaurus.sidebar_position(from YAML config)config.docusaurus.tags(from YAML config)source.title(from transcript H1)idandsidebar_labelDesired Behavior
Users should be able to override specific frontmatter fields from:
docusaurus_slug: custom-slug)docusaurus:section inconfig/devdocs-forge-agent.ymlFiles to Touch
src/config/config.schema.tsdocusaurusconfig section withcustom_edit_url,draft,pagination_labelsrc/templates/docusaurus-frontmatter.tssrc/pipeline/source-parser.tsdocusaurus_sluganddocusaurus_descriptionfrom transcript frontmatterconfig/devdocs-forge-agent.example.ymltests/docs/MODES.mdAcceptance Criteria
custom_edit_urlin config → appears in frontmatter when setdraft: truein config → setsdraft: truein frontmattersidebar_positionviasidebar_position:frontmatter keydocs/MODES.mdupdated with all customization optionsconfig/devdocs-forge-agent.example.ymlupdatedDifficulty
Low to medium — mainly TypeScript config/template work with clear file paths.
How to Get Started