Plan: Add Contributors Section to Docusaurus Site
IMPLEMENTATION RULES: Before implementing this plan, read and follow:
- WORKFLOW.md - The implementation process
- PLANS.md - Plan structure and best practices
Status: Completed
Completed: 2026-03-31
Goal: Add a minimum viable "Contributors" section to the Docusaurus site with guides for creating templates, metadata reference, naming conventions, scripts reference, and basic rules.
Investigation: INVESTIGATE-contributors-section.md
Last Updated: 2026-03-31
Overview
Create the initial contributor documentation with placeholder content that will be fleshed out later. The structure follows UIS patterns. Content should be accurate but concise — full detail comes in future iterations.
Phase 1: Create Contributor Pages
Tasks
-
1.1 Create
website/docs/contributors/index.md:- Ways to contribute (create template, fix bugs, improve docs, file issues)
- Quick start (fork, clone, create template folder, run validation, submit PR)
- Links to guides and rules
-
1.2 Create
website/docs/contributors/creating-a-template.md:- Step-by-step guide:
- Create folder in
templates/(orai-templates/) - Create
TEMPLATE_INFOwith all mandatory fields - Add application code, Dockerfile, manifests, GitHub Actions workflow
- Create README following the standard structure
- Add logo SVG in
website/static/img/templates/ - Test locally: run
validate-metadata.sh,validate-docs.sh,generate-templates-json.sh,npm run build
- Create folder in
- How
dev-template.shdiscovers and installs templates (zip download, TEMPLATE_INFO scan, file copy, placeholder replacement) - What happens on push: GitHub Actions validates, generates JSON + markdown + plan indexes, builds and deploys Docusaurus
- Required files vs optional files
- Step-by-step guide:
-
1.3 Create
website/docs/contributors/template-metadata.md:- Table of all TEMPLATE_INFO fields: field name, description, example, required/optional
- Complete example TEMPLATE_INFO (copy from investigation)
- Notes on field naming convention (mirrors DCT
SCRIPT_*fields)
-
1.4 Create
website/docs/contributors/naming-conventions.md:- Template directory names: lowercase, hyphenated (e.g.,
python-basic-webserver) TEMPLATE_IDmust match directory nameTEMPLATE_CATEGORYvalues:BASIC_WEB_SERVER,WEB_APP,WORKFLOW- README naming:
README-<template-name>.md - Logo naming:
<template-name>-logo.svg - Category logo naming:
<category>-logo.svg
- Template directory names: lowercase, hyphenated (e.g.,
-
1.5 Create
website/docs/contributors/scripts-reference.md:- Table of all scripts in
scripts/with description, usage, when to run validate-metadata.sh— checks all TEMPLATE_INFO fields, validates categories, checks README existsvalidate-docs.sh— checks MDX compatibility, broken links, README structure (reads rules fromvalidate-rules.conf)generate-templates-json.sh— generatestemplates.json+categories.jsonfor Docusaurusgenerate-docs-markdown.sh— generates MDX detail pages + category index pagesgenerate-plan-indexes.sh— generates plan folder index tables- How to add validation rules to
validate-rules.conf
- Table of all scripts in
-
1.6 Create
website/docs/contributors/readme-structure.md:- Standard README structure (Quick Start, Prerequisites, Project Structure, Development, Docker Build, Kubernetes Deployment, CI/CD)
- Which sections are required vs optional
- Example showing the template
Validation
All pages exist and render in Docusaurus. npm run build succeeds.
Phase 2: Add Navbar and Sidebar Configuration
Tasks
- 2.1 Add "Contributors" to navbar in
website/docusaurus.config.ts - 2.2 Create
website/docs/contributors/_category_.jsonfor Docusaurus sidebar
Validation
"Contributors" appears in the navbar and links to the contributors index. Sidebar shows all pages.
Phase 3: Update Generation Script
Tasks
- 3.1 Update
scripts/generate-docs-markdown.shto also generate_category_.jsonfor contributors (if needed) - 3.2 Verify
validate-docs.shcovers the new contributor pages
Validation
bash scripts/validate-docs.sh # passes with new pages
npm run build --prefix website # builds successfully
Acceptance Criteria
- Contributors section exists with 6 pages (index, creating-a-template, template-metadata, naming-conventions, scripts-reference, readme-structure)
- "Contributors" appears in the Docusaurus navbar
- Creating-a-template guide covers the full lifecycle (create → test → push → auto-deploy)
- Template metadata reference lists all mandatory fields with examples
- Scripts reference documents all scripts in
scripts/ -
npm run buildsucceeds -
validate-docs.shpasses
Files to Create
website/docs/contributors/
├── _category_.json
├── index.md
├── creating-a-template.md
├── template-metadata.md
├── naming-conventions.md
├── scripts-reference.md
└── readme-structure.md
Files to Modify
website/docusaurus.config.ts— add Contributors to navbar