Stack
(AI-generated draft. To be rewritten by a human later.)
A snapshot of what techmeat.dev is built with, the tools I lean on day to day, and the workflow I use to ship posts and features with coding agents.
Tech stack
- Astro 6 in
output: 'static'mode. Posts are Markdown, rendered through Astro's content collections. - Solid.js via
@astrojs/solid-jsfor the few interactive islands: theme toggle, language switcher, code-block copy button. - Bun as the runtime, package manager, and test runner. No npm, no pnpm.
- Cloudflare Pages for hosting; Cloudflare Web Analytics for traffic, no cookies.
- satori + resvg for build-time OG card generation per post per locale.
- @vite-pwa/astro (Workbox) for an installable PWA with an offline fallback.
- @astrojs/sitemap + @astrojs/rss for sitemap and per-locale RSS feeds.
Tooling
- oxlint and oxfmt: Rust-based lint and formatter. No ESLint, no Prettier.
- @astrojs/check for TypeScript checking inside
.astrofiles. - lefthook for pre-commit hooks (lint, format, and type check on every commit).
- bun:test as the test framework.
AI assistants
- Claude Code: the primary coding agent. Project context lives in
CLAUDE.mdandAGENTS.md. - Superpowers skills: brainstorming, writing-plans, subagent-driven-development for non-trivial features.
- GPT-5.5: used for second-pass code review on larger changes.
- SEO / GEO skills suite: keyword research, meta-tags optimization, schema markup, on-page audit, content-quality auditor (CORE-EEAT), GEO content optimizer for AI engines.
Hardware
- (Placeholder, to be filled in by the human.)
Workflow
Each post and each feature goes through roughly the same loop:
- Capture the goal and constraints in
CLAUDE.md/AGENTS.mdso the agent has a stable context. - Brainstorm the shape of the work with Superpowers; produce a design spec.
- Turn the spec into an implementation plan with concrete steps.
- Subagent-driven execution, with a two-stage review (spec compliance, then code quality) per task.
- For posts: a multi-stage SEO + GEO pipeline before publishing.
The point of this page is to be honest about the toolchain so the posts can stay focused on process instead of re-explaining the setup every time.