Skip to main content

Introduction

neulabs-docubuilder is the central repository for documentation infrastructure and tooling used by the Neulabs tech team.

What it does

This project provides a repeatable pipeline for automated documentation across all Neulabs repositories:

  • Provisions AWS infrastructure — an S3 bucket and IAM roles for storing and serving documentation assets.
  • Manages GitHub Actions authentication — keyless OIDC-based auth so no long-lived credentials are stored in GitHub.
  • Distributes a Docusaurus template — a pre-configured, docs-only Docusaurus site that any project can bootstrap in seconds.
  • Provides a bootstrap script — a single curl | bash command to install the template into any project.

Architecture

Repository layout

neulabs-docubuilder/
├── infra/ # AWS CDK stacks (TypeScript)
│ ├── lib/infra-stack.ts # S3 bucket + public bucket policy
│ └── lib/github-oidc-stack.ts # OIDC IAM roles for GitHub Actions
├── bootstrap/
│ ├── docusaurus/
│ │ └── template/ # Generic Docusaurus docs template
│ └── scripts/
│ └── docubuilder.sh # Bootstrap script (downloads template)
└── .github/workflows/
├── deploy-infra.yml # Deploys CDK stacks on infra changes
├── upload-bootstrap.yml # Packages and uploads template + script to S3
└── upload-docs.yml # Syncs docs/ to S3 on push to main

Next steps