How this site and the lab are built
This is the first post. EvoCASLab (Evolving Comprehensive Analysis and Synthesis Lab, also called Synergy Garden) is a project that collects, connects and shares knowledge, and this post covers its technical side: how the site and the software behind it work at the moment of writing, including what is still planned.
The idea
IT is how we reach knowledge, so the setup is kept as small as the project allows. The rule is simple: keep it small, write the rules down, and let checks, not memory, enforce them.
This site
- Static. The site is plain files built from Markdown and a few templates with Astro (opens in a new tab). There is no server, no database and no login on the public site, so there is little to break or attack.
- Hosted on Cloudflare’s static hosting, not on the lab’s own servers, so it stays up when those are down. The domain’s DNS is on Cloudflare too.
- Light and dark themes follow the browser setting.
- Project cards come from data. The projects page is built from a small JSON file exported from the lab’s own repository registry. Only repositories explicitly marked public are exported, and a check fails the build if anything else, or anything that looks private, shows up in the file.
- Deploys are manual for now. A command builds the site and a second one uploads it with Cloudflare’s
wranglertool. The first deploy and the custom domain are still to be done by hand.
The lab
- One headquarters repository holds the written rules (“practices”), a backlog, and a list of the other repositories. Each repository keeps a short binding version of the rules that apply to it and links to the reasoning.
- One command decides “done”. Every repository has a
just q-checkgate that runs formatters, linters, secret scanning and tests. A change is not finished until it passes. - Dependencies wait a week. New package releases are not installed until they are about seven days old, which avoids most malicious releases, and lockfiles are committed.
- Infrastructure as code. Cloud resources are meant to be described in OpenTofu and reviewed like any other change; the domain’s DNS records will move there.
- Work happens in branches and worktrees, often with AI coding agents, and every change lands only after the gate is green.
What comes next
More posts, including write-ups of individual practices from the headquarters repository, and a real portfolio page.