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 | bashcommand 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
- First time? → Quickstart
- Understand the infrastructure → Infrastructure Overview
- Add docs to a project → Docubuilder Script