aicode8

What readers are asking

The engineering questions that keep coming back — each one answered, each answer linking to the full guide.

What readers are asking

Questions that keep coming back in reader feedback, already answered.

  1. 01

    Why is my Astro component's interactivity not working?

    Components ship as zero-JS HTML by default, so an interactive one needs a client:* directive (client:load, client:visible, …). Without it the script is never bundled into the page.

    See the full guide →
  2. 02

    Why is my custom Tailwind v4 brand colour not applied?

    Colours must be declared in @theme (for example --color-brand). A missing @tailwindcss/vite plugin, or a leftover v3 config, makes bg-brand silently render nothing.

    See the full guide →
  3. 03

    Why are _headers / _redirects not taking effect?

    Both files must sit at the root of the output directory (dist/); anything under src/ is never uploaded. A purely static project should not add _worker.js either — that gives up the zero-cold-start advantage.

    See the full guide →
  4. 04

    How do the canonical and sitemap domains stay in sync?

    Both must read site.origin (the Astro site setting). A hardcoded domain breaks everywhere the moment you change domains or use a Preview URL, and the pages get treated as duplicates.

    See the full guide →
  5. 05

    How do I stop generated pages being flagged as duplicate content?

    Every page needs a unique canonical, its own title, and genuinely differentiated body copy. Pages that only swap a keyword while keeping an identical structure must gain real differences, or search engines fold them together.

    See the full guide →
  6. 06

    Why is a full-length llms.txt being downweighted?

    AI crawlers prefer a summary plus canonical URLs; padding it with the entire corpus reads as low quality. Keep llms.txt as a map and let the landing pages carry the detail.

    See the full guide →
  7. 07

    What are the hard requirements for FAQPage structured data?

    Every Question needs an acceptedAnswer, and the Q&A must be real and verifiable — fabricated answers get downweighted by ChatGPT Search / Perplexity.

    See the full guide →
  8. 08

    What goes wrong when Vite manualChunks is misconfigured?

    A wrong split pushes styles into the JS bundle or creates circular dependencies, and first-paint size goes up instead of down. Start with a coarse vendor split, then refine it.

    See the full guide →
  9. 09

    Which Astro version supports the @tailwindcss/vite integration reliably?

    Astro 5 and later officially recommend the @tailwindcss/vite plugin over the old PostCSS route. Pin the astro and tailwind major versions before upgrading, or the new plugin silently ignores your v3 config.

    See the full guide →
  10. 10

    How do I invalidate the Cloudflare edge cache precisely?

    Give static assets a long immutable max-age and serve HTML with must-revalidate. Changing a filename changes the URL, so Cloudflare fetches the new version automatically.

    See the full guide →
  11. 11

    Can one MCP server speak both stdio and HTTP?

    No — a server picks a single transport. A remote endpoint must carry Bearer auth and scope its tools to read-only, otherwise you are exposing source execution to the public internet.

    See the full guide →
  12. 12

    How should auth work when an MCP server runs at the edge?

    Remote MCP goes over SSE or HTTP with a Bearer token, and tools get read-only scope; local stdio is never network-exposed. Do not put both transports behind the same server.

    See the full guide →
  13. 13

    A Rust-compiled WASM build is a blank screen in a Worker — what do I check first?

    It is usually a wasm-bindgen version mismatch with the runtime. Pin the wasm-pack and bindings versions, and run a smoke test before building.

    See the full guide →
  14. 14

    How do I fix a failing Next.js output: export build?

    Server-side data fetching in dynamic routes, and middleware, both break the export; next/image also needs unoptimized or the export aborts.

    See the full guide →
  15. 15

    TypeScript reports a circular dependency — how do I locate it?

    With verbatimModuleSyntax on, type imports must be written as import type, otherwise they are treated as runtime dependencies and form a cycle. Tighten your module boundaries first, then raise strict.

    See the full guide →
  16. 16

    Why does my Go binary fail with missing dependencies on another machine?

    CGO was left on, so the binary depends on the target machine's libc. Build with CGO_ENABLED=0 and static linking, then cross-compile per GOOS / GOARCH.

    See the full guide →
  17. 17

    Why does the same project error out when I run it with Bun?

    Native modules are missing, or some Node APIs behave differently under Bun. Pin the Bun version in CI; migrate older projects gradually and initialise new ones with Bun directly.

    See the full guide →

Follow along as I build with AI

Get the honest, real-time record: what I build, what breaks, and what I learn — from a non-technical founder. No jargon, no fluff.

We respect your inbox. One click to unsubscribe, anytime.