Skip to content
Zoos GlobalZoos GlobalZoos EngineeringHub

documentation

README documentation for documentation

stableRepositoryAstroprivate
4 min readUpdated Jul 24, 2026@devex-teamDeveloper Experience
Edit source

Source: ZoosGlobal/documentation Visibility: Private This page is automatically synchronized from the repository README. Do not edit this generated file directly.


Welcome to the internal engineering, infrastructure, and operational documentation portal for Zoos Global. This portal serves as the single source of truth for our technical workflows, guidelines, architectural patterns, and corporate policies.

Built using Astro and Starlight, the site is designed to be highly performant, searchable, and easy to update.


The project conforms to the following layout:

zoosglobal-docs/
β”œβ”€β”€ .github/
β”‚ └── workflows/
β”‚ └── sync-readmes.yml # CI/CD GitHub Actions workflow for sync
β”œβ”€β”€ public/
β”‚ └── favicon.svg # Browser favicon
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ assets/
β”‚ β”‚ └── logo.png # Corporate brand logo
β”‚ β”œβ”€β”€ components/
β”‚ β”‚ β”œβ”€β”€ overrides/ # Starlight component overrides (Header, Sidebar, PageTitle, ...)
β”‚ β”‚ β”œβ”€β”€ home/ # Homepage widgets (Hero, StatCard, CategoryCard, ...)
β”‚ β”‚ β”œβ”€β”€ repo/ # Repository catalog card
β”‚ β”‚ β”œβ”€β”€ page/ # Per-document chrome (Breadcrumbs, MetaBar, RelatedDocs, ...)
β”‚ β”‚ β”œβ”€β”€ sidebar/ # Left navigation tree renderer
β”‚ β”‚ β”œβ”€β”€ search/ # Pagefind search enhancements (recent/popular searches)
β”‚ β”‚ β”œβ”€β”€ mdx/ # Reusable authoring components (Timeline, Checklist, ...)
β”‚ β”‚ └── Icon.astro # Shared inline icon set
β”‚ β”œβ”€β”€ data/
β”‚ β”‚ └── announcements.ts # Homepage "Engineering announcements" β€” edit directly to publish
β”‚ β”œβ”€β”€ lib/
β”‚ β”‚ β”œβ”€β”€ docs.ts # Shared content helpers (formatting, icons, category metadata)
β”‚ β”‚ └── homepage.ts # Homepage data aggregation (recent, pinned, health stats)
β”‚ β”œβ”€β”€ pages/
β”‚ β”‚ β”œβ”€β”€ index.astro # Custom homepage ("Engineering Command Center")
β”‚ β”‚ β”œβ”€β”€ browse/[category].astro # Category listing pages
β”‚ β”‚ └── repositories/index.astro# Repository catalog
β”‚ β”œβ”€β”€ scripts/
β”‚ β”‚ └── local-store.ts # localStorage helpers (favorites, recently viewed)
β”‚ β”œβ”€β”€ styles/
β”‚ β”‚ β”œβ”€β”€ tokens.css # Design tokens (color, type, spacing, motion)
β”‚ β”‚ └── custom.css # Global chrome + markdown content restyling
β”‚ └── content/
β”‚ └── docs/
β”‚ β”œβ”€β”€ getting-started/ # Onboarding & workstation setup guides
β”‚ β”œβ”€β”€ engineering/ # Architecture, deployment, standards & the component library
β”‚ β”œβ”€β”€ devops/ # AWS structure, Terraform, & Datadog
β”‚ β”œβ”€β”€ policies/ # Security policies & access control
β”‚ └── repositories/ # [Generated] Synchronized GitHub READMEs
β”œβ”€β”€ scripts/
β”‚ └── sync-github-readmes.mjs # Node.js sync script for GitHub READMEs
β”œβ”€β”€ astro.config.mjs # Astro & Starlight configuration
β”œβ”€β”€ package.json # Project metadata & dependency definitions
└── README.md # This file

The homepage and repository catalog are built as custom Astro pages (via Starlight’s <StarlightPage> API) rather than Markdown, so they can pull live data β€” recently updated docs, documentation coverage, pinned pages β€” instead of being hand-maintained. Regular content pages keep using Markdown/MDX under src/content/docs/ exactly as before.

Every document under src/content/docs/ supports a richer, fully optional frontmatter schema (defined in src/content.config.ts) that powers the homepage widgets, meta bar and search facets: docType, status, category, tags, owner, team, environment, difficulty, docVersion, related, pinned, and featured. See src/content/docs/engineering/component-library.mdx for a live reference of every reusable authoring component (callouts, tabs, timelines, checklists, decision trees, service cards, and more).


Make sure you have the following installed on your machine:

  • Node.js: v20 or newer (LTS recommended)
  • npm: Installed with Node.js

Clone the repository and install the dependencies from the root directory:

Terminal window
npm install

Start the local development server to preview pages:

Terminal window
npm run dev

By default, the documentation will be accessible at http://localhost:4321.

To compile a static production build into the ./dist/ directory:

Terminal window
npm run build

The portal features an automated synchronization pipeline that pulls README files from all active repositories in the ZoosGlobal GitHub organization and places them under the Repositories section.

To run the sync script locally, you must provide a read-only GitHub token with access to the organization’s repositories:

Terminal window
export GITHUB_READ_TOKEN="your_github_token"
npm run sync:readmes

A GitHub Action is configured at .github/workflows/sync-readmes.yml which:

  1. Runs automatically every 6 hours.
  2. Pulls the latest READMEs from the organization.
  3. Automatically commits and pushes changes back to this repository.

  • Adding Content: To add new static documentation, create a Markdown (.md) or MDX (.mdx) file under the corresponding sub-folder in src/content/docs/. Add category/tags/owner frontmatter so it surfaces correctly in search, the homepage and /browse/<category>/.
  • Configuring Sidebar: Category groupings and ordering are managed automatically by folder routing configuration inside astro.config.mjs.
  • Reusable Components: Use the components documented in src/content/docs/engineering/component-library.mdx (info cards, timelines, checklists, decision trees, service cards, terminal blocks) instead of hand-rolling new UI in content pages.
  • Mermaid Diagrams: Not wired up yet β€” rendering Mermaid requires adding a remark/rehype plugin (e.g. rehype-mermaid) to astro.config.mjs.

Maintained by the Zoos Global Engineering Team. If you have any questions or find any outdated information, please open a PR or reach out in the #docs-feedback Slack channel.