# Building URL: /bengal/docs/0.5.1/building/ Section: building -------------------------------------------------------------------------------- Build & Deploy Configure, build, optimize, improve SEO/discovery, and deploy your Bengal site. What Do You Need? Settings Configuration Configuring Bengal with bengal.toml Performance Optimize Bengal build performance Deployment Deploy your Bengal site to production Warning Troubleshooting Common issues and how to resolve them Build Pipeline flowchart LR subgraph Input A[Content] B[Config] C[Theme] end subgraph Build D[Discovery] E[Content] F[Rendering] G[Post-Process] end subgraph Output H[public/] end A --> D B --> D D --> E C --> F E --> F F --> G G --> H Quick Reference I want to... Go to... Configure my site Configuration Improve metadata, sitemap, feeds, and social sharing SEO & Discovery Add "Connect to IDE" button for Cursor MCP Connect to IDE Build OSS vs Enterprise variants Multi-Variant Builds Build for production Commands Speed up builds Performance Generate JSON/LLM output Output Formats Understand DX hints (Docker, WSL, K8s) DX Hints Deploy my site Deployment Fix build errors Troubleshooting Essential Commands # Development server with live reload bengal serve # or: bengal s # Build, then preview completed output with static serving semantics bengal preview # Production build (recommended for deployment) bengal build --environment production --strict # Fast CI build (parallel, quiet output) bengal build --fast --environment production # Validate content before building bengal check # or: bengal v # Clean cache and rebuild from scratch bengal clean --cache && bengal build bengal serve keeps HTML, markdown negotiation, custom 404 pages, and live reload under Bengal's dev-server path. Static assets such as CSS, JavaScript, images, fonts, media, PDFs, and WebAssembly are served through Pounce's static file handler, so browsers get ETags, 304 Not Modified revalidation, byte-range responses, and precompressed .gz/.zst variants when those files exist. bengal preview runs a complete build first and then serves the generated output directory read-only through Pounce static handling. It does not watch files, inject live reload, rewrite local development URLs, or serve pending generated artifacts; it is the local check for what a static host will receive. -------------------------------------------------------------------------------- Metadata: - Author: lbliii - Word Count: 328 - Reading Time: 2 minutes