angular/angular
adev ā angular.dev
The documentation site at angular.dev. An Angular SSG application that lives at adev/. Documentation content is authored in Markdown under adev/src/content/; API reference is generated from TypeScript source by adev/shared-docs/pipeline/api-gen.
Purpose
adev is angular.dev. It serves:
- The "Tutorial," "Essentials," "Guides," "API," and "Tools" sections.
- The interactive playground tutorials (powered by the same Angular runtime built from this repo).
- The "Update guide" tool that walks users through major upgrades.
- The "Reference" section auto-generated from
@angular/*source.
The site is rebuilt and deployed on every merge to main (and on protected release branches) through the adev-preview-build.yml and adev-preview-deploy.yml GitHub Actions.
Directory layout
adev/
āāā src/
ā āāā app/ # Angular components (page shells, navigation)
ā āāā assets/ # Images, illustrations, OpenGraph artwork
ā āāā content/ # Markdown for guides, tutorials, API stubs
ā āāā styles/ # Global SCSS
ā āāā context/ # Build-time configuration injected into pages
ā āāā llms.txt # AI-crawler instructions (recently added)
ā āāā main.ts / main.server.ts
āāā shared-docs/ # Reusable doc components and the API-gen pipeline
ā āāā pipeline/
ā ā āāā api-gen/ # TypeScript ā JSON manifest extraction
ā āāā ...
āāā scripts/ # Site build helpers
āāā firebase.json # Hosting deployment config
āāā tsconfig.*.jsonThe shared-docs/ workspace is intentionally separate from src/ because it is reused by the angular.io archive and other doc sites within the org.
How content is built
graph LR Markdown["adev/src/content/*.md"] --> MDPipeline["adev/shared-docs/pipeline<br/>(markdown ā HTML)"] TSSource["packages/*/src/**.ts"] --> APIGen["api-gen<br/>(TypeScript ā JSON manifest)"] APIGen --> APIPages["Generated API pages"] MDPipeline --> Site["Angular SSG site<br/>(adev/src/app)"] APIPages --> Site Site --> Build["bazel //adev:build"] Build --> Static["adev/dist (static + SSR shell)"] Static --> Firebase
API reference content is therefore an artifact of the framework code itself; editing a JSDoc on a public API in packages/*/src/ is what changes the angular.dev API page.
Authoring docs
The repo enforces a documentation style guide. The companion skill is adev-writing-guide (use it via the Skill tool when editing adev/). It covers:
- Google Technical Writing standards.
- Angular-specific markdown extensions: callout components, tabs, embedded code samples.
- Code-block conventions and the embedded playground.
Markdown changes go through normal review. Content under adev/src/content/ is committed with a docs: commit type; infrastructure changes inside adev/ use docs-infra: (per the commit-message guide).
Local development
pnpm adev # ibazel-watched dev server on http://localhost:4200
pnpm adev:build # Single full build into adev/dist/Deployment
CI runs three workflows for documentation:
adev-preview-build.ymlā build the site for a PR.adev-preview-deploy.ymlā deploy the PR build to a preview URL.cross-repo-adev-docs.ymlā trigger downstream rebuilds when shared docs change in sister repos.
Production deploy goes to Firebase Hosting (config in adev/firebase.json).
Integration points
packages/ā the API reference pages depend on JSDoc in framework source. When making a public API change, runpnpm public-api:updateand verify the rendered page inpnpm adev.- Tutorials and the playground ā the playground embeds a live Angular runtime built from the same repo. Breaking changes in core or the compiler must be reflected in tutorial content.
@angular/buildā the build glue that produces the SSG output. Lives in the angular-cli repo; consumed via the workspacepackage.json.
Entry points for modification
- A new doc page: add a Markdown file under
adev/src/content/, register it in the navigation tree (configured inadev/src/app/), submit withdocs:commit type. - A new doc component (e.g., a callout, an embeddable widget): add it to
adev/shared-docs/so other doc sites can reuse it. Usedocs-infra:commit type. - A change to API extraction: edit
adev/shared-docs/pipeline/api-gen/.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.