# Aspect Build ## Docs - [About Aspect Build](https://docs.staging.aspect.build/about.md): Aspect Build co-founders Alex Eagle and Greg Magolan began with Bazel services and then released the Aspect Workflows developer productivity platform. - [Angular with Bazel](https://docs.staging.aspect.build/blog/angular-with-bazel.md): Learn how to integrate Angular and Bazel using rules_js for better performance and compatibility. - [Announcing bazel-starters](https://docs.staging.aspect.build/blog/announcing-bazel-starters.md): Bazel-starters: template repositories for quick Bazel project setups, language support, and tools—ideal for fast starts and training - [Announcing Remote Build Execution](https://docs.staging.aspect.build/blog/announcing-remote-build-execution.md): Aspect Workflows now includes Remote Build Execution, speeding development by offloading computation to worker machines - [Aspect Build, built on Bazel](https://docs.staging.aspect.build/blog/aspect-build.md): Aspect Build offers Bazel solutions, including a rules docsite, BUILD file automation, and a more user-friendly CLI. Explore more at aspect.build - [Scaffold a new Bazel workspace](https://docs.staging.aspect.build/blog/aspect-init.md): Generate Bazel workspace with Aspect CLI for easier setup and improved ergonomics - [Automated testing of each commit != CI](https://docs.staging.aspect.build/blog/automated-testing-of-each-commit-ci.md): Explore how microservice architectures hinder true Continuous Integration and why API contracts alone can't prevent integration issues. Learn how to fix it. - [Bazel: Avoiding eager fetches](https://docs.staging.aspect.build/blog/avoid-eager-fetches.md): Learn how to identify and prevent eager fetches in Bazel builds, optimizing dependency management for efficient development workflows - [Bazel 9 Upstream Prebuilt Protobuf](https://docs.staging.aspect.build/blog/bazel-9-protobuf.md): Bazel 9 includes a prebuilt upstream protobuf compiler. - [Bazel can write to the source folder!](https://docs.staging.aspect.build/blog/bazel-can-write-to-the-source-folder.md): Bazel can write to the source folder for specific needs, using `bazel run` and `bazel test` to maintain consistency - [Device management: tools on your developers PATH](https://docs.staging.aspect.build/blog/bazel-devenv.md): Explore easier developer tool distribution with Bazel and direnv for seamless environment setup and management in your development workflow - [Bazel for SONiC: What We've Learned and Contributed](https://docs.staging.aspect.build/blog/bazel-for-sonic.md): We explore the case for adopting Bazel across SONiC Foundation projects and update the SONiC and Bazel community on Aspect Build contributions. - [Bazel market growth, year over year](https://docs.staging.aspect.build/blog/bazel-market-2023.md): Bazel adoption grew by 56% in 2023, with around 950 companies now using it. Learn more about the growth and its implications for businesses and developers. - [Fixing Bazel out-of-memory problems](https://docs.staging.aspect.build/blog/bazel-oom.md): Troubleshoot and fix Bazel's out-of-memory issues in both JVM and system contexts with practical solutions and tips. - [Bazel technique for Continuous Delivery](https://docs.staging.aspect.build/blog/bazel-technique-for-continuous-delivery.md): Learn about using Bazel for Continuous Delivery, distinguishing between CI, CD, and Deployment, and optimizing artifact delivery processes - [Bazel: what you give, what you get](https://docs.staging.aspect.build/blog/bazel-what-you-give-what-you-get.md): Bazel: Efficient, incremental, and correct outputs by describing dependencies accurately. Keep your outputs up-to-date with minimal work - [Aspect at BazelCon 2023](https://docs.staging.aspect.build/blog/bazelcon-2023.md): Discover Aspect's BazelCon updates: bazel lint, bazel-lib 2.0, rules_py, partnership with Chainguard, and more. Watch our talks and explore new features. - [What's New at BazelCon 2025](https://docs.staging.aspect.build/blog/bazelcon-2025.md): Wow, it’s been an exciting year in Bazel-land. See highlights from the BazelCon 2025 keynotes, Hackathon, Aspect Build product releases and more. - [.bazelrc flags you should enable](https://docs.staging.aspect.build/blog/bazelrc-flags.md): Discover essential .bazelrc flags for optimal project setup, performance, and debugging. - [Presets for bazelrc](https://docs.staging.aspect.build/blog/bazelrc-presets.md): Discover how Bazel presets can help configure sensible default options, improve efficiency, and avoid common bugs in new repositories. - [Starlark linter: Buildifier](https://docs.staging.aspect.build/blog/buildifier.md): How to set up the Bazel Buildifier tool by Aspect Build - [Adopting Bazel's new package manager](https://docs.staging.aspect.build/blog/bzlmod.md): Simplify Bazel package management with the new \"bzlmod\" feature for easier dependency handling and improved user experience - [Aspect Workflows Case Study: Sourcegraph](https://docs.staging.aspect.build/blog/case-study-sourcegraph.md): Learn how Sourcegraph improved CI/CD performance and reduced costs by implementing Aspect Workflows. - [CBOI: Continuous Build, Occasional Integration](https://docs.staging.aspect.build/blog/cboi-continuous-build-occasional-integration.md): \"Continuous Build, Occasional Integration\" fails in software development and how to switch to effective Continuous Integration - [CODEOWNERS and Bazel](https://docs.staging.aspect.build/blog/codeowners-and-bazel.md): Learn how to manage code ownership in monorepos using CODEOWNERS, OWNERS files, and tools like Bazel for better code review workflows. - [Configuring Bazel's Downloader](https://docs.staging.aspect.build/blog/configuring-bazels-downloader.md): Configure Bazel's downloader for efficient, secure package management, improving resilience and enhancing security - [Containerizing JavaScript Applications with Bazel](https://docs.staging.aspect.build/blog/containerizing-javascript-applications-with-bazel.md): Learn how to optimize JavaScript container builds with rules_js's JsImageLayer. Discover layer groups for better build times and deployment efficiency. - [rctx.download custom headers coming to Bazel 7.1](https://docs.staging.aspect.build/blog/custom-download-headers.md): Learn how to use HTTP headers in Bazel's downloader for fetching Docker layers, Alpine packages, and more. Improve caching and avoid common HTTP issues. - [Customize Bazel with Aspect CLI plugins](https://docs.staging.aspect.build/blog/customize-bazel-with-aspect-cli.md): Customize Bazel effortlessly with Aspect CLI plugins for tailored developer workflows and enhanced control over Bazel deployments - [Dagger and Bazel](https://docs.staging.aspect.build/blog/dagger-and-bazel.md): Compare Dagger and Bazel: explore key differences in containerization, configuration, language support, reproducibility, and community impact for build tool - [Diagnosing Bazel Cache Misses](https://docs.staging.aspect.build/blog/diagnose-cache-misses-1.md): Learn how to diagnose and fix Bazel cache misses by investigating repository rule determinism and file differences between executions - [Documentation in source control](https://docs.staging.aspect.build/blog/docs-in-vcs.md): Store developer documentation in source control for easy access, versioning, and collaboration, but consider presentation and ease of editing - [Easier merges on lockfiles](https://docs.staging.aspect.build/blog/easier-merges-on-lockfiles.md): Resolve lockfile merge conflicts automatically with Git's 'ours' merge driver, streamlining your workflow and avoiding manual fixes. - [Estimating Bazel's Adoption](https://docs.staging.aspect.build/blog/estimating-bazel-adoption.md): We estimate 600 companies currently use Bazel, with potential growth to 3,750 at full market saturation. Learn more about our methodology. - [Estimating the effort to build a Bazel CI/CD](https://docs.staging.aspect.build/blog/estimating-bazel-cicd.md): Learn the key challenges of integrating Bazel into CI/CD pipelines and the effort required. - [Experiment with Buf and Starlark Docgen](https://docs.staging.aspect.build/blog/experiment-with-buf-and-starlark-docgen.md): Explore API documentation experiments for Bazel rules using Buf and Stardoc, focusing on extraction, rendering, and improving workflows. - [Fetching ML models under Bazel](https://docs.staging.aspect.build/blog/fetching-ml-models-under-bazel.md): Learn how to use Bazel to fetch and cache NLTK data hermetically, ensuring reproducible builds and reliable Python tests without network dependencies. - [Aspect Workflows Free for Open Source Projects](https://docs.staging.aspect.build/blog/free-tier-oss.md): Aspect Workflows offers free CI/CD tools for open-source projects, powered by Buildkite and Bazel. Sign up to enhance your project today - [What's better than a genrule?](https://docs.staging.aspect.build/blog/genrule-bestrule.md): Learn why genrule is the best rule for your Bazel build process, simplifying command execution and enhancing developer experience - [GitHub Actions Dynamic Matrix](https://docs.staging.aspect.build/blog/github-actions-dynamic-matrix.md): Guide to configuring dynamic matrices in GitHub Actions using bash scripts and JSON arrays for flexible job handling. - [Why would you want a hermetic C++ toolchain?](https://docs.staging.aspect.build/blog/hermetic-c-toolchain.md): Bazel is usually thought of as a hermetic build system. But the default behaviour you get with Bazel's C/C++ built-in rules is not hermetic! Why does this matte - [Aspect Build Blog](https://docs.staging.aspect.build/blog/index.md): Insights on Bazel, developer productivity, build systems, and software engineering at scale. - [Integration testing your container images with Bazel](https://docs.staging.aspect.build/blog/integration-testing-oci.md): Explore two approaches for migrating Docker Compose tests to Bazel for better integration and test management. - [Keeping main green in a monorepo](https://docs.staging.aspect.build/blog/keeping-main-green.md): Explore how to prevent red main branches with merge queues, on-call policies, and better CI practices to improve development workflows and team efficiency. - [Lazy tool fetching under Bazel](https://docs.staging.aspect.build/blog/lazy-tool-fetching-under-bazel.md): Learn how to adapt Node.js tools like Vercel pkg for Bazel by separating fetch and build steps for faster, more hermetic builds. - [Announcing Linting for Bazel](https://docs.staging.aspect.build/blog/lint.md): Bazel now offers linting with Aspect, boosting developer productivity through rules_lint and the Aspect CLI for seamless code analysis - [Many Python versions, one Bazel build](https://docs.staging.aspect.build/blog/many-python-versions-one-bazel-build.md): Manage multiple Python versions efficiently in a Bazel build for seamless migration and execution. Achieve this with custom scripts and toolchains - [Monorepo Shared Green](https://docs.staging.aspect.build/blog/monorepo-shared-green.md): Learn about the benefits of implementing a \"shared green\" monobuild model in a monorepo for improved code sharing and consistency - [Moving TypeScript code into a Bazel monorepo](https://docs.staging.aspect.build/blog/moving-typescript-to-bazel-monorepo.md): Step-by-step guide for migrating TypeScript projects into a Bazel monorepo, ensuring smooth workflow and effective governance. - [The best tool for the Bazel job might be older than you](https://docs.staging.aspect.build/blog/mtree.md): Learn how to use mtree specification to reuse older code. Sometimes best tool may be an older one, promoting stability and reliability for your projects. - [Multiple external dependency closures in Bazel](https://docs.staging.aspect.build/blog/multiple-deps.md): Discover strategies for managing dependencies in Bazel monorepos, including single and multiple version approaches, with key trade-offs. - [Never Compile protoc Again](https://docs.staging.aspect.build/blog/never-compile-protoc-again.md): Learn how to optimize Bazel builds by avoiding protoc compilation. Discover toolchain alternatives and solutions for faster, more efficient development. - [Deterministic npm dependencies with Bazel](https://docs.staging.aspect.build/blog/npm-determinism.md): Use Bazel with npm for deterministic dependencies, faster builds, reduced CI times, and cost savings; fix non-determinism for efficient development - [Mechanics of moving an other-repo to the monorepo](https://docs.staging.aspect.build/blog/otherrepo-to-monorepo.md): Learn the step-by-step process of merging projects into a Bazel monorepo, preserving git history, and setting up smooth CI/CD workflows. - [The 'outside of Bazel' pattern](https://docs.staging.aspect.build/blog/outside-of-bazel-pattern.md): The Bazel build tool is fantastic for taking a well-defined dependency graph, which is really a tree coming up from the root (the artifact to be built or test t - [Partnership with Buildkite](https://docs.staging.aspect.build/blog/partnership-with-buildkite.md): Discover why Buildkite is the top choice for Bazel CI, with custom UI, better integration, and Aspect’s partnership benefits. - [Pnpm v10 and rules_js: Better Alignment and Improved Build Determinism](https://docs.staging.aspect.build/blog/pnpm-v10-and-rulesjs.md): Pnpm v10 improves build determinism with rules_js, offering enhanced performance and reliability for Bazel-based workflows - [Preventing production code depending on experiments](https://docs.staging.aspect.build/blog/preventing-production-code-depending-on-experiments.md): Learn how to manage experimental code in Bazel monorepos by restricting dependencies and ensuring faster iteration without risking production builds. - [Principles of a Bazel Migration](https://docs.staging.aspect.build/blog/principles.md): Successful Bazel migration: prioritize psychology, avoid workflow disruption, change gradually, maintain a ratchet mechanism - [Python toolchains in rules_python](https://docs.staging.aspect.build/blog/python-toolchains.md): Bazel is supposed to be repeatable, right? Your teammate runs the tests on her computer and should get the same result as you did. A build from a commit last mo - [Releasing Bazel rulesets that publish tools](https://docs.staging.aspect.build/blog/releasing-bazel-rulesets.md): Learn how Aspect automates Bazel rule releases, ensuring secure, reproducible toolchains and seamless user experiences, with minimal manual effort. - [Publishing Bazel rules that depend on tools: take 2](https://docs.staging.aspect.build/blog/releasing-bazel-rulesets-rust.md): Learn how Aspect uses Bazel toolchains to automate Rust and Go binary releases, ensuring efficient cross-compilation and smooth user experiences. - [Build Wolfi images with Bazel: Introducing rules_apko](https://docs.staging.aspect.build/blog/rules-apko.md): Learn about rules_apko, a Bazel plugin for building secure, minimal Wolfi-based container images with reproducible, air-gapped builds. - [Bazel for Frontend: Introducing rules_js](https://docs.staging.aspect.build/blog/rules-js.md): Transform your frontend workflow with rules_js: faster builds, simplified tooling, and improved performance. Get started now! - [rules_js 3.0 - out with the old (and default to the new)](https://docs.staging.aspect.build/blog/rules-js-3.md): What’s new in rules_js 3.0: default MODULE.bazel, removed old APIs and pnpm 8, and improved maintainability and correctness. Ideal upgrade path - [Aspect's rules_lint Reaches 2.0](https://docs.staging.aspect.build/blog/rules-lint-2.md): Explore rules_lint 2.0 featuring AXL, Python ty support, Rust Clippy integration, and full Bazel 9 compatibility for streamlined coding and review - [Introducing rules_oci](https://docs.staging.aspect.build/blog/rules-oci.md): Discover how rules_oci improves secure container builds with Bazel, offering multi-platform support and code signing. - [rules_ts benchmarks](https://docs.staging.aspect.build/blog/rules-ts-benchmarks.md): Discover the performance benchmarks of rules_ts, comparing ts_project with older rules and vanilla TypeScript compiler for faster builds - [rules_js 2.0](https://docs.staging.aspect.build/blog/rulesjs-2.md): Upgrade to Aspect's rules_js 2.0 for faster Bazel builds, secure pnpm v9 support, direct js_library linking, and enhanced ESLint integration. - [rules_js 1.0.0](https://docs.staging.aspect.build/blog/rulesjs-launch.md): Upgrade to rules_js 1.0.0 for faster JavaScript build, test, and release tooling under Bazel. Get support from Aspect - [rules_js npm benchmarks](https://docs.staging.aspect.build/blog/rulesjs-npm-benchmarks.md): Discover the performance benchmarks of rules_js npm tool compared to rules_nodejs and non-Bazel npm tools - [Running local tools installed by Bazel](https://docs.staging.aspect.build/blog/run-tools-installed-by-bazel.md): Manage command-line tools efficiently with Bazel. Streamline workflows, ensure version consistency, and boost development productivity with this approach. - [Securing Bazel's Module Registry](https://docs.staging.aspect.build/blog/securing-bcr.md): Bazel rulesets can now include attestations—cryptographic proof that release artifacts were built from trusted sources on secure infrastructure. - [Bootstrap Complete: Aspect Build Raises $3.85M to Enable Developers in Massive, Multi-Language Codebases](https://docs.staging.aspect.build/blog/seed-round.md): Aspect Build raises $3.85M to enhance dev workflows for multi-language codebases, driving faster, reliable, and scalable software development - [Self-hosting your CI/CD infra](https://docs.staging.aspect.build/blog/self-hosting-your-cicd-infra.md): Discover how Aspect Workflows powers Bazel CI/CD with a BYOC model, boosting security, compliance, cost control, and seamless integration in the cloud stack - [Stamping Bazel builds with selective delivery](https://docs.staging.aspect.build/blog/stamping-bazel-builds-with-selective-delivery.md): Stamping Bazel builds for selective delivery, ensuring version control integration and efficient artifact release in CI/CD pipelines - [Bazel Starlark Docs on the Registry](https://docs.staging.aspect.build/blog/stardocs-on-bcr.md): Explore Bazel Starlark API docs on the Registry for updated ruleset documentation, publishing guides, and community contribution opportunities - [What's new at Aspect: Summer 2023](https://docs.staging.aspect.build/blog/summer-2023.md): Check out Aspect's latest updates: new clients, open-source releases, and upcoming conferences. Improving Bazel workflows for the community. - [Things a program must not do under Bazel](https://docs.staging.aspect.build/blog/things-a-program-must-not-do-under-bazel.md): Ensure Bazel program compliance: no implicit environment assumptions, write only to output directory, avoid stdin/stdout reliance, and more - [10-20x speedup for TypeScript transpilation in Bazel](https://docs.staging.aspect.build/blog/typescript-speedup.md): Achieve 10-20x faster TypeScript transpilation in Bazel using the new `ts_project` with a customizable transpiler like SWC - [Bazel + TypeScript: faster with Remote Execution](https://docs.staging.aspect.build/blog/typescript-with-rbe.md): See how Bazel's remote execution speeds up TypeScript builds by 8.4x on a 10M LOC project. Explore benchmarks and benefits. - [Versioning releases from a monorepo](https://docs.staging.aspect.build/blog/versioning-releases-from-a-monorepo.md): Guide to versioning releases from a monorepo, exploring trunk-based development and monoversion strategies for streamlined software development. - [What is a build system and what is CI?](https://docs.staging.aspect.build/blog/what-is-a-build-system-and-what-is-ci.md): Discover the essence of build systems and CI in software development, unraveling their interconnected roles and impact on development processes - [Happy Holidays from Aspect: Winter 2022](https://docs.staging.aspect.build/blog/winter-2022.md): Aspect reflects on a busy 2022: 20+ companies consulted, Aspect Workflows in Alpha, Aspect CLI 1.0 launch, and rules_js rollouts. - [See Aspect Build in Action - Request a Demo](https://docs.staging.aspect.build/book-a-demo.md): Experience how Aspect Build simplifies Bazel migration and optimization. Request a demo to explore features, improve performance, and accelerate your builds. - [We're hiring!](https://docs.staging.aspect.build/careers.md): Join the team behind some of the most innovative work in modern build systems and developer infrastructure. - [Whitepaper | How Coda Boosted Dev Productivity with Aspect Optimization](https://docs.staging.aspect.build/coda-whitepaper.md): Discover how Coda transformed their software development pipeline by optimizing build and test times with Aspect, enhancing developer productivity and collaboration. - [Aspect Community License](https://docs.staging.aspect.build/communitylicense.md): By downloading, copying, or otherwise using the software with which this license agreement is provided... - [Get in Touch with Aspect Build](https://docs.staging.aspect.build/contact.md): Have questions about Bazel migration, build optimization, or Aspect Build's tools? Contact us today to connect with our experts and improve your development process. - [Aspect Build Customers — Real Results from Real Teams](https://docs.staging.aspect.build/customers.md): See how teams use Aspect Build to improve Bazel performance, simplify migrations, and optimize development workflows. Read our case studies. - [Open Source Software Licenses](https://docs.staging.aspect.build/docs/aspect-workflows/additional-materials/license.md) - [CI runners](https://docs.staging.aspect.build/docs/aspect-workflows/features/ci-runners.md) - [Code review](https://docs.staging.aspect.build/docs/aspect-workflows/features/code-review.md) - [External remote cache and execution](https://docs.staging.aspect.build/docs/aspect-workflows/features/external-cache-exec.md) - [Workflows support and alerting](https://docs.staging.aspect.build/docs/aspect-workflows/features/infra-alert.md) - [Overview](https://docs.staging.aspect.build/docs/aspect-workflows/features/overview.md) - [Remote cache](https://docs.staging.aspect.build/docs/aspect-workflows/features/remote-cache.md) - [Remote build execution (RBE)](https://docs.staging.aspect.build/docs/aspect-workflows/features/remote-execution.md) - [Selective delivery](https://docs.staging.aspect.build/docs/aspect-workflows/features/selective-delivery.md) - [Web UI](https://docs.staging.aspect.build/docs/aspect-workflows/features/webui.md) - [Aspect Workflows](https://docs.staging.aspect.build/docs/aspect-workflows/get-started/overview.md) - [Builtins](https://docs.staging.aspect.build/docs/axl/builtins.md) - [Types](https://docs.staging.aspect.build/docs/axl/types.md) - [Config context](https://docs.staging.aspect.build/docs/axl/types/config_context.md) - [Feature context](https://docs.staging.aspect.build/docs/axl/types/feature_context.md) - [Future](https://docs.staging.aspect.build/docs/axl/types/future.md) - [Http](https://docs.staging.aspect.build/docs/axl/types/http.md) - [Task context](https://docs.staging.aspect.build/docs/axl/types/task_context.md) - [Task info](https://docs.staging.aspect.build/docs/axl/types/task_info.md) - [Aspect is built on Bazel](https://docs.staging.aspect.build/docs/bazel/index.md) - [@aspect_rules_cypress//cypress:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_cypress/cypress_defs.md) - [@aspect_rules_cypress//cypress:extensions.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_cypress/cypress_extensions.md) - [@aspect_rules_esbuild//esbuild:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_esbuild/esbuild_defs.md) - [@aspect_rules_jasmine//jasmine:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_jasmine/jasmine_defs.md) - [@aspect_rules_jest//jest:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_jest/jest_defs.md) - [@aspect_rules_js//contrib/nextjs:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_js/contrib_nextjs_defs.md) - [@aspect_rules_js//js:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_js/js_defs.md) - [@aspect_rules_js//js:proto.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_js/js_proto.md) - [@aspect_rules_js//npm:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_js/npm_defs.md) - [@aspect_rules_js//npm:extensions.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_js/npm_extensions.md) - [@aspect_rules_lint//lint:eslint.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_lint/lint_eslint.md) - [@aspect_rules_lint//lint:stylelint.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_lint/lint_stylelint.md) - [@aspect_rules_rollup//rollup:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_rollup/rollup_defs.md) - [@aspect_rules_swc//swc:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_swc/swc_defs.md) - [@aspect_rules_swc//swc:dependencies.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_swc/swc_dependencies.md) - [@aspect_rules_swc//swc:providers.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_swc/swc_providers.md) - [@aspect_rules_swc//swc:repositories.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_swc/swc_repositories.md) - [@aspect_rules_swc//swc:toolchain.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_swc/swc_toolchain.md) - [@aspect_rules_ts//ts:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_ts/ts_defs.md) - [@aspect_rules_ts//ts:extensions.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_ts/ts_extensions.md) - [@aspect_rules_ts//ts:proto.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_ts/ts_proto.md) - [@aspect_rules_webpack//webpack:defs.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/aspect_rules_webpack/webpack_defs.md) - [JavaScript with Bazel](https://docs.staging.aspect.build/docs/bazel/javascript/index.md) - [Isolated Declarations](https://docs.staging.aspect.build/docs/bazel/javascript/isolated-declarations.md) - [pnpm and rules_js](https://docs.staging.aspect.build/docs/bazel/javascript/pnpm_rules_js.md) - [rules_js](https://docs.staging.aspect.build/docs/bazel/javascript/rules_js.md) - [@rules_nodejs//nodejs:extensions.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/rules_nodejs/nodejs_extensions.md) - [@rules_nodejs//nodejs:providers.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/rules_nodejs/nodejs_providers.md) - [@rules_nodejs//nodejs:repositories.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/rules_nodejs/nodejs_repositories.md) - [@rules_nodejs//nodejs:toolchain.bzl](https://docs.staging.aspect.build/docs/bazel/javascript/rules_nodejs/nodejs_toolchain.md) - [TypeScript with Bazel](https://docs.staging.aspect.build/docs/bazel/javascript/typescript.md) - [Open Source Projects](https://docs.staging.aspect.build/docs/bazel/open-source.md) - [@aspect_rules_lint//lint:flake8.bzl](https://docs.staging.aspect.build/docs/bazel/python/aspect_rules_lint/lint_flake8.md) - [@aspect_rules_lint//lint:pylint.bzl](https://docs.staging.aspect.build/docs/bazel/python/aspect_rules_lint/lint_pylint.md) - [@aspect_rules_lint//lint:ruff.bzl](https://docs.staging.aspect.build/docs/bazel/python/aspect_rules_lint/lint_ruff.md) - [@aspect_rules_lint//lint:ty.bzl](https://docs.staging.aspect.build/docs/bazel/python/aspect_rules_lint/lint_ty.md) - [@aspect_rules_py//py:defs.bzl](https://docs.staging.aspect.build/docs/bazel/python/aspect_rules_py/py_defs.md) - [@aspect_rules_py//py:repositories.bzl](https://docs.staging.aspect.build/docs/bazel/python/aspect_rules_py/py_repositories.md) - [@aspect_rules_py//py:toolchains.bzl](https://docs.staging.aspect.build/docs/bazel/python/aspect_rules_py/py_toolchains.md) - [@aspect_rules_py//py/unstable:defs.bzl](https://docs.staging.aspect.build/docs/bazel/python/aspect_rules_py/py_unstable_defs.md) - [Python with Bazel](https://docs.staging.aspect.build/docs/bazel/python/index.md) - [Migrate from rules_python](https://docs.staging.aspect.build/docs/bazel/python/migrating.md) - [Python interpreter provisioning](https://docs.staging.aspect.build/docs/bazel/python/python-interpreter.md) - [Manage dependencies with uv](https://docs.staging.aspect.build/docs/bazel/python/uv.md) - [Virtual dependencies](https://docs.staging.aspect.build/docs/bazel/python/virtual_deps.md) - [@aspect_rules_lint//lint:rubocop.bzl](https://docs.staging.aspect.build/docs/bazel/ruby/aspect_rules_lint/lint_rubocop.md) - [@aspect_rules_lint//lint:standardrb.bzl](https://docs.staging.aspect.build/docs/bazel/ruby/aspect_rules_lint/lint_standardrb.md) - [Overview](https://docs.staging.aspect.build/docs/bazel/ruby/index.md) - [@rules_ruby//rails:rails_test_factory.bzl](https://docs.staging.aspect.build/docs/bazel/ruby/rules_ruby/rails_rails_test_factory.md) - [@rules_ruby//ruby:defs.bzl](https://docs.staging.aspect.build/docs/bazel/ruby/rules_ruby/ruby_defs.md) - [@rules_ruby//ruby:deps.bzl](https://docs.staging.aspect.build/docs/bazel/ruby/rules_ruby/ruby_deps.md) - [@aspect_rules_lint//lint:shellcheck.bzl](https://docs.staging.aspect.build/docs/bazel/shell/aspect_rules_lint/lint_shellcheck.md) - [@bazel_lib//lib:bats.bzl](https://docs.staging.aspect.build/docs/bazel/shell/bazel_lib/lib_bats.md) - [Overview](https://docs.staging.aspect.build/docs/bazel/shell/index.md) - [@rules_shell//shell:sh_binary.bzl](https://docs.staging.aspect.build/docs/bazel/shell/rules_shell/shell_sh_binary.md) - [@rules_shell//shell:sh_library.bzl](https://docs.staging.aspect.build/docs/bazel/shell/rules_shell/shell_sh_library.md) - [@rules_shell//shell:sh_test.bzl](https://docs.staging.aspect.build/docs/bazel/shell/rules_shell/shell_sh_test.md) - [@aspect_rules_lint//format:defs.bzl](https://docs.staging.aspect.build/docs/bazel/utility/aspect_rules_lint/format_defs.md) - [@aspect_rules_lint//lint:keep_sorted.bzl](https://docs.staging.aspect.build/docs/bazel/utility/aspect_rules_lint/lint_keep_sorted.md) - [@aspect_rules_lint//lint:lint_test.bzl](https://docs.staging.aspect.build/docs/bazel/utility/aspect_rules_lint/lint_lint_test.md) - [@bazel_lib//:bzl_library.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/bzl_library.md) - [@bazel_lib//lib:base64.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_base64.md) - [@bazel_lib//lib:bats.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_bats.md) - [@bazel_lib//lib:copy_directory.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_copy_directory.md) - [@bazel_lib//lib:copy_file.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_copy_file.md) - [@bazel_lib//lib:copy_to_bin.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_copy_to_bin.md) - [@bazel_lib//lib:copy_to_directory.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_copy_to_directory.md) - [@bazel_lib//lib:diff_test.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_diff_test.md) - [@bazel_lib//lib:directory_path.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_directory_path.md) - [@bazel_lib//lib:expand_make_vars.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_expand_make_vars.md) - [@bazel_lib//lib:expand_template.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_expand_template.md) - [@bazel_lib//lib:extensions.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_extensions.md) - [@bazel_lib//lib:glob_match.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_glob_match.md) - [@bazel_lib//lib:host_repo.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_host_repo.md) - [@bazel_lib//lib:lists.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_lists.md) - [@bazel_lib//lib:output_files.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_output_files.md) - [@bazel_lib//lib:params_file.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_params_file.md) - [@bazel_lib//lib:paths.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_paths.md) - [@bazel_lib//lib:platform_utils.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_platform_utils.md) - [@bazel_lib//lib:repo_utils.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_repo_utils.md) - [@bazel_lib//lib:repositories.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_repositories.md) - [@bazel_lib//lib:resource_sets.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_resource_sets.md) - [@bazel_lib//lib:run_binary.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_run_binary.md) - [@bazel_lib//lib:stamping.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_stamping.md) - [@bazel_lib//lib:strings.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_strings.md) - [@bazel_lib//lib:testing.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_testing.md) - [@bazel_lib//lib:transitions.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_transitions.md) - [@bazel_lib//lib:utils.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_utils.md) - [@bazel_lib//lib:windows_utils.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_windows_utils.md) - [@bazel_lib//lib:write_source_files.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/lib_write_source_files.md) - [@bazel_lib//tools:integrity.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/tools_integrity.md) - [@bazel_lib//tools/release:hashes.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/tools_release_hashes.md) - [@bazel_lib//tools:version.bzl](https://docs.staging.aspect.build/docs/bazel/utility/bazel_lib/tools_version.md) - [Overview](https://docs.staging.aspect.build/docs/bazel/utility/index.md) - [@jq.bzl//jq:jq.bzl](https://docs.staging.aspect.build/docs/bazel/utility/jq.bzl/jq.md) - [@jq.bzl//jq/toolchain:platforms.bzl](https://docs.staging.aspect.build/docs/bazel/utility/jq.bzl/jq_toolchain_platforms.md) - [@jq.bzl//jq/toolchain:toolchain.bzl](https://docs.staging.aspect.build/docs/bazel/utility/jq.bzl/jq_toolchain_toolchain.md) - [@tar.bzl//tar:tar.bzl](https://docs.staging.aspect.build/docs/bazel/utility/tar.bzl/tar.md) - [@tar.bzl//tar:mtree.bzl](https://docs.staging.aspect.build/docs/bazel/utility/tar.bzl/tar_mtree.md) - [@yq.bzl//yq:yq.bzl](https://docs.staging.aspect.build/docs/bazel/utility/yq.bzl/yq.md) - [Authenticating the Aspect CLI](https://docs.staging.aspect.build/docs/cli/authentication.md) - [How to run and define tasks](https://docs.staging.aspect.build/docs/cli/guides/basic.md) - [How to listen for build events](https://docs.staging.aspect.build/docs/cli/guides/build-events.md) - [How to extend Gazelle BUILD file generation](https://docs.staging.aspect.build/docs/cli/guides/gazelle.md) - [How to use external AXL modules](https://docs.staging.aspect.build/docs/cli/guides/module.md) - [How to install the Aspect CLI](https://docs.staging.aspect.build/docs/cli/install.md) - [Overview](https://docs.staging.aspect.build/docs/cli/overview.md) - [Overview](https://docs.staging.aspect.build/docs/cli/tasks.md) - [Running tasks in CI](https://docs.staging.aspect.build/docs/cli/tasks-ci.md) - [aspect build & test](https://docs.staging.aspect.build/docs/cli/tasks/build_test.md) - [aspect buildifier](https://docs.staging.aspect.build/docs/cli/tasks/buildifier.md) - [aspect delivery](https://docs.staging.aspect.build/docs/cli/tasks/delivery.md) - [aspect format](https://docs.staging.aspect.build/docs/cli/tasks/format.md) - [aspect gazelle](https://docs.staging.aspect.build/docs/cli/tasks/gazelle.md) - [aspect lint](https://docs.staging.aspect.build/docs/cli/tasks/lint.md) - [aspect run](https://docs.staging.aspect.build/docs/cli/tasks/run.md) - [How to pin the Aspect CLI version](https://docs.staging.aspect.build/docs/cli/version-pinning.md) - [Global Settings](https://docs.staging.aspect.build/docs/essentials/settings.md): Mintlify gives you complete control over the look and feel of your documentation using the docs.json file - [Aspect BUILD Docs](https://docs.staging.aspect.build/docs/index.md) - [CVE-2026-31431, CVE-2026-43284](https://docs.staging.aspect.build/docs/security/advisories/CVE-2026-31431.md) - [Security Advisories](https://docs.staging.aspect.build/docs/security/advisories/index.md) - [Meet Aspect Build at a developer conference or meetup near you](https://docs.staging.aspect.build/events.md): Meet Aspect Build at Bazel and developer events - [Aspect Build FAQ](https://docs.staging.aspect.build/faq.md): Answers to common questions about Aspect Build and Bazel - [Aspect Build — Bazel Support and Platform](https://docs.staging.aspect.build/index.md): Bazel developers rely on Aspect Build professional services and developer productivity platform to reduce the time and complexity to operate Bazel at scale. - [Overview](https://docs.staging.aspect.build/learning.md): Aspect's Bazel Courses - [Introduction](https://docs.staging.aspect.build/learning/aspect-150.md): BUILD file generation with Starlark - [Course Overview](https://docs.staging.aspect.build/learning/bazel-101.md) - [Outline](https://docs.staging.aspect.build/learning/bazel-102.md): Getting Started with Bazel and Python - [Outline](https://docs.staging.aspect.build/learning/bazel-103.md): Getting Started with Bazel and Go - [Outline](https://docs.staging.aspect.build/learning/bazel-104.md): Getting Started with Bazel and C / C++ - [Introduction](https://docs.staging.aspect.build/learning/bazel-105.md) - [Overview](https://docs.staging.aspect.build/learning/bazel-201.md) - [Overview](https://docs.staging.aspect.build/learning/bazel-202.md) - [Overview](https://docs.staging.aspect.build/learning/bazel-203.md) - [Meet Marvin: Aspect's Code Review Bot for Smarter Development](https://docs.staging.aspect.build/meetmarvin.md): Introducing Marvin, Aspect's intelligent code review bot. Enhance your development process with automated reviews, faster feedback, and improved code quality. - [Introduction](https://docs.staging.aspect.build/open-source.md) - [Open Source Development Prioritization](https://docs.staging.aspect.build/open-source/prioritization.md) - [Partners and Integrations](https://docs.staging.aspect.build/partners.md): Aspect Build partners and integrates with Google, AWS, Microsoft Azure, CI/CD systems, system integrators and resellers. Join our partner program today. - [Aspect Workflows Platform](https://docs.staging.aspect.build/platform.md): Aspect Workflows integrates seamlessly with your CI/CD and cloud infrastructure, improves developer productivity and accelerates successful Bazel adoption. - [Easily Run Bazel Tasks Anywhere with AXL](https://docs.staging.aspect.build/platform/axl.md): Use Aspect Extension Language (AXL) to write high-level workflow automation in the Bazel Starlark language. - [Generate BUILD Files in the Bazel Starlark Language](https://docs.staging.aspect.build/platform/build-file-generation.md): Write extensions in Starlark. The same language you use to configure Bazel! Tree-sitter grammars included. - [Reduce Cloud Costs and Speed Up CI with Aspect CI Runners](https://docs.staging.aspect.build/platform/ci-runners.md): Aspect Workflows configures CI to trust that Bazel is correct, ensuring builds are fast and compute costs are reduced. - [Aspect CLI: A Drop-In Replacement for Bazel CLI with Custom Commands](https://docs.staging.aspect.build/platform/cli.md): Fit Bazel into your development process with Aspect CLI. Enjoy custom commands, behaviors, and seamless integrations to enhance your team's workflow. - [CLI Plugins](https://docs.staging.aspect.build/platform/cli-plugins.md): Enhance your development process with Aspect CLI Plugins. Customize Bazel workflows with powerful plugins that add functionality and streamline builds. - [GitHub Code Review App: Marvin](https://docs.staging.aspect.build/platform/github-code-review.md): Marvin delivers build and test results directly to pull requests, ensuring you receive immediate notifications when a build begins to fail. - [Self-Hosted Platform](https://docs.staging.aspect.build/platform/hosting.md): Control security, your data, and costs by hosting Aspect Workflows on your own cloud. - [Remote Caching and Execution](https://docs.staging.aspect.build/platform/remote-caching-and-execution.md): Aspect leverages Buildbarn's proven remote cache and execution -- trusted by Apple developers -- to boost Bazel performance. - [Aspect Rules](https://docs.staging.aspect.build/platform/rules.md): Discover high-performance Bazel rules built and maintained by Aspect engineers. Free to use and released under the Apache 2.0 License. - [Aspect's Web UI](https://docs.staging.aspect.build/platform/web-ui.md): Highlight critical information needed to resolve your build failures, so you stay in the flow. - [Aspect Workflows: Turn-Key Bazel CI/CD for Any CI Provider](https://docs.staging.aspect.build/platform/workflows.md): Streamline your CI/CD pipeline with Aspect Workflows, a turn-key Bazel system that integrates seamlessly with your existing CI provider for enhanced performance. - [Previous Events](https://docs.staging.aspect.build/previous-events.md): Our Previous Events showcase the journey we've shared with the community -- from insightful talks and hands-on workshops. - [Aspect Build Pricing: Speed Up Builds & Cut Costs](https://docs.staging.aspect.build/pricing.md): Discover Aspect Build's pricing plans and see how our solutions can speed up your builds and reduce costs. Start your free 30-day trial today! - [Privacy Policy](https://docs.staging.aspect.build/privacy-policy.md): Learn how Aspect.Build protects your privacy and handles your data. Read our comprehensive Privacy Policy to understand your rights and our commitments. - [Quickstart](https://docs.staging.aspect.build/quickstart.md) - [Report a Security Vulnerability](https://docs.staging.aspect.build/report-a-security-vulnerability.md): Safety and data security is of utmost priority for Aspect. If you are a security researcher and have discovered a security vulnerability in our code base, we appreciate your help in disclosing it to us in a responsible manner. - [Resources & Guides](https://docs.staging.aspect.build/resources.md): Explore tutorials, best practices, and expert insights on Bazel migration, build optimization, and developer workflows with Aspect Build's resources. - [Rulesets docs have moved](https://docs.staging.aspect.build/rules-redirect.md) - [Security Overview](https://docs.staging.aspect.build/security-overview.md): Security and data privacy are top priorities of ours. Aspect Workflows is self-hosted and deployed to customer AWS or GCP cloud accounts where customers have full control over their data. - [Security Updates](https://docs.staging.aspect.build/security-updates.md): To sign up for notifications when a security fix is released, email security-updates@aspect.build - [Bazel Support, Consulting & Training by Aspect Build Experts](https://docs.staging.aspect.build/services.md): Add trusted vendor support for Bazel. Fast track Bazel dev with expert Bazel consulting. Uplevel your team with Bazel training and Aspect Build knowledge transfer. - [Support and Maintenance Terms](https://docs.staging.aspect.build/support-and-maintenance-terms.md): Legal terms for Aspect support and maintenance services. - [Cloud Service Terms](https://docs.staging.aspect.build/terms.md): Review our comprehensive Terms and Conditions to understand your rights and responsibilities while using Aspect Build's services and website. - [Try Aspect Workflows for Free](https://docs.staging.aspect.build/trial.md): Sign up for a 30-day free trial of Aspect Workflows. Choose Aspect-hosted or self-hosted to get started with the developer productivity platform for Bazel.