title: zer0-mistakes sub-title: AI-Native Jekyll Theme description: AI-native Jekyll theme for GitHub Pages β Docker-first development, AI-powered installation, multi-agent integration (Copilot, Codex, Cursor, Claude), AI preview-image generation, and AIEO content optimization with Bootstrap 5.3. version: 0.22.22 layout: landing tags:
- jekyll
- docker
- remote-theme
- github-pages
- ai
- ai-automation
- ai-integration
- copilot
- aieo categories:
- jekyll-theme
- docker
- bootstrap
- ai-tooling created: 2024-02-10T23:51:11.480Z lastmod: 2026-04-21T04:05:24.000Z draft: false permalink: / slug: zer0 keywords:
- jekyll
- docker
- remote-theme
- github-pages
- ai-native jekyll theme
- ai-powered installation
- github copilot integration
- cursor agent
- aieo optimization
- ai preview image generation date: 2026-03-29T12:00:00.000Z snippet: AI-native Jekyll theme β automated, agent-friendly, AIEO-optimized comments: true mermaid: true preview: /assets/images/wizard-on-journey.png hero_image: /assets/images/wizard-on-journey.png excerpt: "AI-native Jekyll theme for GitHub Pages β multi-agent ready (Copilot, Codex, Cursor, Claude), AI-powered install & preview images, AIEO-optimized, with Docker-first development and 43 documented features" ---
π zer0-mistakes
The AI-Native Jekyll Theme for GitHub Pages
AI-augmented β’ Agent-ready β’ Docker-first β’ Bootstrap 5.3 β’ Privacy-compliant β’ Zero-configuration
Built from the ground up to automate, facilitate, and integrate with modern AI workflows β from one-line self-healing install to multi-agent code guidance (Copilot, Codex, Cursor, Claude Code, Aider) to AI-generated preview images and AIEO content optimization for AI citation.
Quick Start β’ AI Workflow β’ Features β’ Documentation β’ Contributing
π Table of Contents
- Overview
- Quick Start
- AI-Native Workflow
- Architecture
- Key Features
- Installation Methods
- Project Structure
- Development Workflow
- Deployment
- Documentation
- Release System
- Roadmap
- FAQ
- Glossary
- Contributing
- Support
- AIEO-Optimized
Overview
zer0-mistakes is an AI-native Jekyll theme engineered to eliminate setup friction and accelerate every stage of the content lifecycle with AI automation, facilitation, and integration. Docker containerization, multi-agent guidance files, AI-powered tooling, and 43 documented features take you from zero to deployed β and zero to AI-collaborative β in under 5 minutes.
AI is a first-class citizen, not an afterthought:
- π€ AI-powered installation β
install.shself-heals across macOS / Linux / Windows (WSL) with ~95% success rate - π§ Multi-agent integration β Drop-in
AGENTS.md+.github/copilot-instructions.md+.github/instructions/*.instructions.md+.github/prompts/*.prompt.md+.cursor/commands/work with Copilot, Codex, Cursor, Claude Code, Aider, Jules, Continue - π¨ AI preview-image generation β Jekyll plugin + script generate OpenAI/DALLΒ·E images for posts missing previews (
_plugins/preview_image_generator.rb) - π€ AI-facilitated releases β Conventional-commit analyzer auto-determines semantic version bumps and writes the changelog (
scripts/analyze-commits.sh) - π AIEO-optimized output β Structured data, entity density, FAQ schema, and definitional precision so AI engines cite your site accurately
graph LR
subgraph "π― Your Goal"
A[Beautiful Website]
end
subgraph "β‘ zer0-mistakes"
B[One Command] --> C[Auto-Configure]
C --> D[Docker Ready]
D --> E[Live Preview]
end
subgraph "π Result"
F[Production Site]
end
A --> B
E --> F
style A fill:#e1f5fe
style F fill:#c8e6c9
Why zer0-mistakes?
| Challenge | Traditional Jekyll | zer0-mistakes |
|---|---|---|
| Setup Time | 15-30 minutes | 2-5 minutes (benchmarked via install.sh) |
| Success Rate | ~60% | ~95% (self-healing error recovery) |
| Platform Support | Limited | Universal (macOS, Linux, Windows/WSL via Docker) |
| Error Handling | Manual debugging | Automated |
| Dependencies | Ruby + Bundler + Jekyll | Docker only |
| AI Agent Integration | None / DIY | Built-in (AGENTS.md + Copilot / Codex / Cursor / Claude / Aider guidance) |
| AI Content Tooling | None | First-class (AI preview images, AIEO schema, prompt library) |
| Release Automation | Manual versioning | AI-facilitated (commit-analyzer β semantic bump + changelog) |
| AI Discoverability | None | AIEO-optimized (structured data, FAQ schema, entity density) |
π Quick Start
Prerequisites
One-Line Installation
mkdir my-site && cd my-site && curl -fsSL https://raw.githubusercontent.com/bamr87/zer0-mistakes/main/install.sh | bash
Start Development
docker-compose up
# π Open http://localhost:4000
sequenceDiagram
participant You
participant InstallScript as Install Script
participant Docker
participant Browser
You->>InstallScript: curl ... | bash
InstallScript->>InstallScript: Detect platform
InstallScript->>InstallScript: Download theme files
InstallScript->>InstallScript: Configure Docker
InstallScript-->>You: β
Ready
You->>Docker: docker-compose up
Docker->>Docker: Build Jekyll container
Docker->>Docker: Install dependencies
Docker-->>Browser: Serve on :4000
Browser-->>You: π Live site
π€ AI-Native Workflow
zer0-mistakes treats AI as core infrastructure across install β author β build β release β discover. Every layer is wired for automation, facilitation, and integration with the AI tools you already use.
flowchart LR
subgraph Install["π€ AI Install"]
I1[install.sh<br/>self-healing]
end
subgraph Author["π§ AI Authoring"]
A1[Copilot]
A2[Codex]
A3[Cursor]
A4[Claude Code]
A5[Aider]
end
subgraph Build["π¨ AI Content"]
B1[OpenAI<br/>Preview Images]
B2[AI Frontmatter<br/>Maintainer prompt]
end
subgraph Release["π AI Release"]
R1[Commit Analyzer]
R2[Auto Changelog]
R3[Semantic Bump]
end
subgraph Discover["π AIEO Discovery"]
D1[JSON-LD Schema]
D2[FAQ + Glossary]
D3[Entity Density]
end
Install --> Author --> Build --> Release --> Discover
style Install fill:#e3f2fd
style Author fill:#f3e5f5
style Build fill:#fff3e0
style Release fill:#e8f5e9
style Discover fill:#fce4ec
What's wired for AI
| Capability | What it does | Where it lives |
|---|---|---|
| Self-healing install | Detects platform, fixes Docker/Jekyll issues, retries with fallbacks | install.sh |
| Cross-tool agent guide | Single entry point for any agents.md-aware AI tool | AGENTS.md |
| Copilot project context | Architecture, conventions, commands, release flow | .github/copilot-instructions.md |
| File-scoped instructions | applyTo: globs auto-load guidance for _layouts/, _includes/, scripts/, test/, docs/, version files |
.github/instructions/ |
| Reusable agent prompts | commit-publish, frontmatter-maintainer, seed (full-rebuild blueprint) |
.github/prompts/ |
| Cursor slash-commands | Mirrors prompts as /commit-publish, /frontend-run-improve |
.cursor/commands/ |
| AI preview images | Jekyll plugin + script generate OpenAI/DALLΒ·E images for posts missing previews | _plugins/preview_image_generator.rb, scripts/generate-preview-images.sh |
| AI release pipeline | Conventional-commit analyzer chooses MAJOR/MINOR/PATCH, writes CHANGELOG, tags & publishes | scripts/analyze-commits.sh, scripts/bin/release |
| AIEO content layer | SoftwareApplication, WebPage, FAQPage, Person JSON-LD; glossary; FAQ; dated roadmap |
See AIEO section |
Quick AI tasks
# Generate AI preview images for posts missing previews (needs OPENAI_API_KEY)
./scripts/generate-preview-images.sh --collection posts
# Preview before generating (no API calls)
./scripts/generate-preview-images.sh --dry-run --verbose
# Let AI analyze commits and propose the next version bump
./scripts/analyze-commits.sh HEAD~10..HEAD
# Run the AI-facilitated release pipeline (validate β version β changelog β publish)
./scripts/bin/release patch --dry-run
Drop-in for any AI editor
Clone the repo (or fork) and your editor's AI agent will pick up project context automatically:
- GitHub Copilot / VS Code β reads
.github/copilot-instructions.md+.github/instructions/*.instructions.md - Cursor β reads
.cursor/commands/for slash-commands; falls back toAGENTS.md - Claude Code / Codex / Aider / Jules / Continue β read
AGENTS.mdper the agents.md convention - Custom agents β Load layered guidance from
.github/on demand
No configuration required. The guidance is layered β agents read only what's needed for the file they're touching.
π Architecture
System Overview
flowchart TB
subgraph Input["π Content Layer"]
MD[Markdown Files]
DATA[YAML Data]
ASSETS[Static Assets]
end
subgraph Theme["π¨ Theme Layer"]
LAYOUTS[_layouts/]
INCLUDES[_includes/]
SASS[_sass/]
end
subgraph Build["βοΈ Build Layer"]
JEKYLL[Jekyll Engine]
PLUGINS[Plugins]
LIQUID[Liquid Templates]
end
subgraph Output["π Output Layer"]
HTML[Static HTML]
CSS[Compiled CSS]
JS[JavaScript]
end
subgraph Deploy["π Deploy Layer"]
GHPAGES[GitHub Pages]
DOCKER[Docker Container]
CDN[CDN/Custom Host]
end
MD --> JEKYLL
DATA --> JEKYLL
ASSETS --> JEKYLL
LAYOUTS --> JEKYLL
INCLUDES --> JEKYLL
SASS --> JEKYLL
JEKYLL --> HTML
JEKYLL --> CSS
JEKYLL --> JS
HTML --> GHPAGES
HTML --> DOCKER
HTML --> CDN
Technology Stack
pie title Technology Distribution
"Jekyll (Static Gen)" : 25
"Bootstrap 5.3 (UI)" : 20
"Docker (Dev Env)" : 18
"AI Tooling & Agents" : 15
"Liquid (Templates)" : 12
"PostHog (Analytics)" : 10
| Layer | Technology | Purpose |
|---|---|---|
| Framework | Jekyll 3.9.5 | Static site generation |
| Styling | Bootstrap 5.3.3 | Responsive UI components |
| Icons | Bootstrap Icons | Unified iconography |
| Development | Docker | Cross-platform consistency |
| Templates | Liquid | Dynamic content rendering |
| AI Agents | Copilot Β· Codex Β· Cursor Β· Claude Code Β· Aider Β· Jules Β· Continue | Multi-tool agentic development via AGENTS.md + .github/instructions/ |
| AI Content | OpenAI Images API | AI-generated preview images via _plugins/preview_image_generator.rb |
| AI Automation | Conventional-commit analyzer | Auto semantic versioning + changelog (scripts/analyze-commits.sh) |
| AIEO | JSON-LD + FAQ + Glossary schema | Optimized for AI citation and retrieval |
| Analytics | PostHog | Privacy-first tracking |
| Diagrams | Mermaid 10+ | Documentation visuals |
| Navigation | ES6 Modules | Modular JavaScript architecture |
| Search | Client-side JSON | Fast in-browser search |
β¨ Key Features
π€ AI-Powered Installation
The ~1,100-line install.sh script provides intelligent platform detection and Docker configuration:
flowchart TD
START([Start Installation]) --> DETECT[Detect Platform]
DETECT --> CHECK{Prerequisites OK?}
CHECK -->|Yes| DOWNLOAD[Download Theme]
CHECK -->|No| GUIDE[Show Requirements]
DOWNLOAD --> CONFIG[Configure Docker]
CONFIG --> VALIDATE{Build Success?}
VALIDATE -->|Yes| DONE([β
Ready!])
VALIDATE -->|No| LOGS[Show Error Logs]
style START fill:#e3f2fd
style DONE fill:#c8e6c9
π³ Docker-First Development
Zero local dependencies required. Works identically across all platforms:
# docker-compose.yml - That's all you need!
services:
jekyll:
image: jekyll/jekyll:latest
platform: linux/amd64
command: jekyll serve --config "_config.yml,_config_dev.yml"
ports: ["4000:4000"]
volumes: ["./:/app"]
π Privacy-First Analytics
GDPR/CCPA compliant PostHog integration with granular consent:
stateDiagram-v2
[*] --> PageLoad
PageLoad --> ConsentCheck
ConsentCheck --> Disabled: DNT Enabled
ConsentCheck --> ShowBanner: No Consent
ConsentCheck --> Tracking: Has Consent
ShowBanner --> Tracking: Accept
ShowBanner --> Disabled: Decline
Tracking --> DataCollection
DataCollection --> Anonymize
Anonymize --> PostHog
Disabled --> [*]
PostHog --> [*]
π Mermaid Diagram Support
10+ diagram types with GitHub Pages compatibility:
| Type | Syntax | Use Case |
|---|---|---|
| Flowchart | graph TD |
Process flows |
| Sequence | sequenceDiagram |
Interactions |
| Class | classDiagram |
OOP structures |
| State | stateDiagram-v2 |
State machines |
| ER | erDiagram |
Database schemas |
| Gantt | gantt |
Timelines |
| Pie | pie |
Distributions |
| Git | gitGraph |
Branch history |
π Jupyter Notebook Support
Seamless integration for data science and computational content:
- Automatic Conversion:
.ipynbβ Markdown with front matter - Output Rendering: Code execution results, plots, tables preserved
- Image Extraction: Matplotlib/PNG outputs β
/assets/images/notebooks/ - GitHub Actions: Automated conversion on push to
pages/_notebooks/ - MathJax Support: LaTeX equations rendered with
$$syntax - Syntax Highlighting: Code cells with Rouge highlighting
- Responsive Layout: Mobile-friendly notebook viewer
# Convert notebooks
./scripts/convert-notebooks.sh
# Add to _config.yml
collections:
notebooks:
output: true
permalink: /notebooks/:name/
π§ Enhanced Navigation System (v0.17.0)
Modern, accessible sidebar navigation with ES6 modular architecture:
- ES6 Navigation Modules: Modular JavaScript with native ES6 imports
- Navbar Hover Dropdowns: Desktop hover support with smooth fade transitions
- Intersection Observer Scroll Spy: 70% reduction in scroll event overhead
- Keyboard Shortcuts:
[and]for section navigation - Swipe Gestures: Mobile-friendly left/right edge detection
- Skip-to-Content: Accessibility-first WCAG 2.1 Level AA compliant
- Mobile TOC FAB: Floating action button for table of contents
- Nav Tree Component: Hierarchical YAML navigation rendering
| Shortcut | Action |
|---|---|
[ |
Previous section |
] |
Next section |
Tab |
Skip to content |
| Swipe | Toggle sidebar (mobile) |
π Site Search (v0.18.0)
Client-side search with modal interface and keyboard shortcuts:
- Keyboard Activation: Press
/orCmd/Ctrl+Kto open search - Real-time Results: Instant search across all content
- JSON Index: Auto-generated search index for fast queries
- Bootstrap Modal: Responsive modal interface
| Shortcut | Action |
|---|---|
/ |
Open search modal |
Cmd/Ctrl+K |
Open search modal |
Escape |
Close search |
π¨ Dark/Light Mode Toggle
Theme color mode switcher with system preference detection:
- Three Modes: Light, dark, and auto (system preference)
- Persistence: LocalStorage saves user preference
- Smooth Transitions: CSS transitions between themes
- Bootstrap Integration: Uses
data-bs-themeattribute
π Legal & Compliance Pages (v0.15.0)
Built-in GDPR/CCPA compliant documentation:
- Privacy Policy: Comprehensive data collection transparency
- Terms of Service: Ready-to-customize legal framework
- Cookie Consent: Granular user preference management
π¦ Installation Methods
New in 1.0: the installer is now a modular CLI (
scripts/bin/install) with subcommands and declarative profiles. The classiccurl | bashone-liner still works β it bootstraps the same pipeline. See docs/installation/ for the full guide and docs/installation/migration-from-0.x.md for the 0.x β 1.0 flag mapping.
Method 1: AI-Powered Install (Recommended)
curl -fsSL https://raw.githubusercontent.com/bamr87/zer0-mistakes/main/install.sh | bash
Method 1b: Modular CLI (Local Clone)
git clone https://github.com/bamr87/zer0-mistakes.git
./zer0-mistakes/scripts/bin/install help
./zer0-mistakes/scripts/bin/install init --profile full /path/to/new-site
./zer0-mistakes/scripts/bin/install deploy github-pages,docker-prod /path/to/new-site
./zer0-mistakes/scripts/bin/install doctor /path/to/new-site # health check
./zer0-mistakes/scripts/bin/install agents /path/to/new-site --all # AI agent guidance
Available subcommands: init, wizard [--ai], agents, deploy, doctor, diagnose [--ai], upgrade, list-profiles, list-targets, version, help.
Method 2: Remote Theme (GitHub Pages)
# _config.yml
remote_theme: "bamr87/zer0-mistakes"
plugins:
- jekyll-remote-theme
Method 3: Fork & Deploy as Your Site
Fork into <your-username>.github.io for a working site in minutes:
- Go to bamr87/zer0-mistakes β Fork
- Set repository name to
<your-username>.github.io - Enable Settings β Pages β Deploy from branch:
main - Visit
https://<your-username>.github.io
Then personalize locally:
git clone https://github.com/<your-username>/<your-username>.github.io.git
cd <your-username>.github.io
./scripts/fork-cleanup.sh # interactive config wizard
docker-compose up
See docs/FORKING.md for the full progressive workflow.
Method 4: Ruby Gem
# Gemfile
gem "jekyll-theme-zer0", "~> 0.21"
π Project Structure
graph TD
ROOT[zer0-mistakes/] --> CONFIG[Configuration]
ROOT --> THEME[Theme Components]
ROOT --> CONTENT[Content]
ROOT --> AUTOMATION[Automation]
CONFIG --> CFG1[_config.yml]
CONFIG --> CFG2[_config_dev.yml]
CONFIG --> CFG3[docker-compose.yml]
THEME --> LAYOUTS[_layouts/]
THEME --> INCLUDES[_includes/]
THEME --> SASS[_sass/]
THEME --> ASSETS[assets/]
CONTENT --> PAGES[pages/]
CONTENT --> DATA[_data/]
CONTENT --> DOCS[docs/]
AUTOMATION --> SCRIPTS[scripts/]
AUTOMATION --> TESTS[test/]
AUTOMATION --> WORKFLOWS[.github/workflows/]
style ROOT fill:#e8f5e9
style CONFIG fill:#e3f2fd
style THEME fill:#fff3e0
style CONTENT fill:#fce4ec
style AUTOMATION fill:#f3e5f5
Key Directories
| Directory | Purpose | Key Files |
|---|---|---|
_layouts/ |
Page templates | default.html, journals.html, landing.html, notebook.html |
_includes/ |
Reusable components | core/, components/, analytics/, navigation/ |
_sass/ |
Stylesheets | custom.scss, notebooks.scss, core/ (_variables, _docs-layout, β¦), theme/ (_css-variables, _wizard-mode) |
assets/ |
Static files | css/, js/, images/, vendor/ (Bootstrap, jQuery, MathJax, Mermaid, β¦ β committed for GitHub Pages) |
scripts/ |
Automation | release, build, migrate.sh, vendor-install.sh, convert-notebooks.sh |
templates/ |
Installable templates | pages/admin/ (6 admin page templates), config/install.conf |
docs/ |
Technical docs | SIDEBAR_IMPROVEMENTS.md, JUPYTER_NOTEBOOKS.md |
pages/ |
Content pages | privacy-policy.md, terms-of-service.md |
οΏ½οΈ Migration Utility
Add the admin settings UI to an existing consumer site using the migration script:
# From the zer0-mistakes repo β install into another site
./scripts/migrate.sh /path/to/your-site
# Preview without making changes
./scripts/migrate.sh --dry-run /path/to/your-site
# Overwrite existing admin pages
./scripts/migrate.sh --force /path/to/your-site
# Verify an existing installation
./scripts/migrate.sh --verify /path/to/your-site
This installs 6 admin pages to pages/_about/settings/:
| Page | URL | Description |
|---|---|---|
| Theme Customizer | /about/settings/theme/ |
Skins, palette generator, skin editor, live preview, color editing, YAML export |
| Configuration | /about/config/ |
View/edit _config.yml, quick actions, environment info |
| Navigation Editor | /about/settings/navigation/ |
Edit header/footer/sidebar menus, export YAML |
| Collection Manager | /about/settings/collections/ |
Browse and manage Jekyll collections |
| Analytics | /about/settings/analytics/ |
Site analytics and performance metrics |
| Environment | /about/settings/environment/ |
Jekyll build info and environment details |
Note: Admin pages require theme version β₯ 0.22.10 for the
adminlayout and component includes.
οΏ½π Development Workflow
gitGraph
commit id: "Clone/Install"
branch feature
checkout feature
commit id: "Make Changes"
commit id: "Test Locally"
checkout main
merge feature id: "PR Merged"
commit id: "Auto Version" type: HIGHLIGHT
commit id: "Gem Published"
commit id: "GitHub Release"
Daily Development
# Start development server
docker-compose up
# Make changes (auto-reload enabled)
# Edit files in _layouts/, _includes/, pages/
# Run tests
./test/test_runner.sh
# Commit changes
git commit -m "feat: add new component"
Testing Commands
# Quick validation
./test/validate_installation.sh
# Full test suite
./test/test_runner.sh --verbose
# Docker-specific tests
./test/test_docker_deployment.sh
# Visual / styling checks (Playwright; optional BASE_URL if site already running)
npm run test:styling
Vendor assets (maintainers)
Third-party CSS and JavaScript live under assets/vendor/ so GitHub Pages builds work without npm at publish time. To refresh bundles after changing versions, see Vendor assets (published at /docs/development/vendor-assets/). Short version:
npm install
npm run vendor:install # manifest downloads (+ Mermaid copy when node_modules present)
# or: ./scripts/vendor-install.sh
π Deployment
GitHub Pages (User Site β Recommended)
Fork the repo as <your-username>.github.io and enable GitHub Pages:
- Push to
mainbranch - GitHub Pages builds automatically
- Site deploys to
https://<your-username>.github.io
No workflows or baseurl configuration needed. See docs/FORKING.md for details.
sequenceDiagram
participant Dev as Developer
participant GH as GitHub
participant Pages as GitHub Pages
Dev->>GH: git push main
GH->>Pages: Auto-build Jekyll
Pages-->>Dev: π Site live at username.github.io
Docker Production
docker-compose -f docker-compose.prod.yml up -d
Custom Hosting
# Build static site
docker-compose run --rm jekyll jekyll build
# Deploy _site/ to any static host
π Documentation
Documentation Architecture
graph LR
subgraph Technical["π /docs/"]
SYS[systems/]
FEAT[features/]
REL[releases/]
end
subgraph Public["π /pages/_docs/"]
GUIDES[User Guides]
TUTORIALS[Tutorials]
REF[Reference]
end
subgraph AI["π€ .github/"]
COPILOT[copilot-instructions.md]
SEED[seed/]
INSTR[instructions/]
end
Technical -->|Process| Public
AI -->|Guides| Technical
style Technical fill:#e3f2fd
style Public fill:#e8f5e9
style AI fill:#fff3e0
Quick Links
| Resource | Description |
|---|---|
| π Technical Docs | Architecture, systems, implementation |
| π User Guides | Published tutorials and references |
| π¨ Customization | Layouts, styles, navigation guides |
| π Analytics | PostHog, Google Analytics setup |
| π SEO | Meta tags, sitemap, structured data |
| π Jupyter Notebooks | Notebook conversion documentation |
| π PRD | Product requirements & roadmap |
| π Privacy Policy | GDPR/CCPA compliant privacy docs |
π§ Release System
Automated Release Pipeline
flowchart LR
subgraph Trigger["π― Trigger"]
COMMIT[Commit to main]
end
subgraph Analyze["π Analyze"]
PARSE[Parse Commits]
BUMP[Determine Version]
end
subgraph Build["βοΈ Build"]
CHANGE[Update CHANGELOG]
VERSION[Bump Version]
TEST[Run Tests]
GEM[Build Gem]
end
subgraph Publish["π Publish"]
RUBYGEMS[Push to RubyGems]
GHREL[GitHub Release]
TAG[Git Tag]
end
COMMIT --> PARSE --> BUMP
BUMP --> CHANGE --> VERSION --> TEST --> GEM
GEM --> RUBYGEMS --> GHREL --> TAG
Release Commands
# Preview release
bash scripts/release patch --dry-run
# Full release
bash scripts/release patch # 0.21.5 β 0.21.6
bash scripts/release minor # 0.21.5 β 0.22.0
bash scripts/release major # 0.21.5 β 1.0.0
βοΈ GitHub Actions Automation
zer0-mistakes ships with a complete CI/CD and automation suite powered by GitHub Actions. Every workflow is opinionated, tested, and ready to fork β push to main and the entire pipeline (test β version β publish β release) runs automatically.
Workflow Catalogue
All workflows live under .github/workflows/.
| # | Workflow | File | Trigger | Purpose |
|---|---|---|---|---|
| 1 | Comprehensive CI Pipeline | ci.yml |
push / PR / dispatch | Detect changes β fast checks β quality control β matrix test suite (Ruby 3.3) β integration tests β build & validate |
| 2 | TEST (Latest Dependencies) | test-latest.yml |
scheduled / dispatch | Zero-pin Docker build with bleeding-edge gems; promotes only passing images |
| 3 | Update Dependencies | update-dependencies.yml |
weekly schedule | Refreshes Gemfile.lock to latest compatible versions and opens an automated PR |
| 4 | CodeQL Security Scanning | codeql.yml |
push / PR on code paths | Static security analysis across Ruby, JavaScript, TypeScript, Python, YAML, plugins, scripts |
| 5 | Version Bump | version-bump.yml |
push to main / dispatch | Analyzes conventional commits, determines MAJOR/MINOR/PATCH bump, updates version.rb + CHANGELOG, creates tag |
| 6 | Release (Gem + GitHub) | release.yml |
tag v* / dispatch |
Pre-release validation β build assets β publish to RubyGems β create GitHub Release |
| 7 | Convert Jupyter Notebooks | convert-notebooks.yml |
push to pages/_notebooks/**.ipynb |
Auto-converts .ipynb β Jekyll-friendly Markdown with extracted images |
| 8 | Roadmap Sync | roadmap-sync.yml |
push affecting _data/roadmap.yml |
Regenerates the README roadmap section from data; fails PRs with stale README |
| 9 | New Site Setup | setup-template.yml |
first push after template/fork | Creates a PR with prefilled _config.yml so a new site is ready to merge & go |
π‘ GitHub Pages adds an additional managed
pages-build-deploymentrun on every push tomain.
Pipeline Topology
flowchart LR
subgraph Devloop["π§βπ» Developer Loop"]
PR[Pull Request]
PUSH[Push to main]
end
subgraph Continuous["π§ͺ Continuous Integration"]
CI[ci.yml<br/>Comprehensive CI]
CODEQL[codeql.yml<br/>Security Scan]
TESTLATEST[test-latest.yml<br/>Latest Deps]
end
subgraph Maintenance["π§ Maintenance"]
DEPS[update-dependencies.yml<br/>Weekly Bump]
ROADMAP[roadmap-sync.yml<br/>README Sync]
NOTEBOOKS[convert-notebooks.yml<br/>.ipynb β .md]
end
subgraph Releaseflow["π Release Pipeline"]
BUMP[version-bump.yml<br/>Semantic Bump]
RELEASE[release.yml<br/>Gem + GitHub Release]
PAGES[pages-build-deployment<br/>GitHub Pages]
end
subgraph Bootstrap["π± Bootstrap"]
SETUP[setup-template.yml<br/>New Site Setup]
end
PR --> CI
PR --> CODEQL
PUSH --> CI
PUSH --> CODEQL
PUSH --> ROADMAP
PUSH --> NOTEBOOKS
PUSH --> BUMP
BUMP -->|tag v*| RELEASE
PUSH --> PAGES
DEPS -.->|opens PR| PR
SETUP -.->|first push| PR
style Continuous fill:#e3f2fd
style Maintenance fill:#fff3e0
style Releaseflow fill:#e8f5e9
style Bootstrap fill:#f3e5f5
What it looks like
π Actions overview β every workflow at a glance

The Actions tab gives you a real-time activity feed β every push to main triggers a coordinated set of workflows that you can audit, re-run, or dispatch manually.
π Release pipeline β automated gem + GitHub release

A single tag (v0.22.21) β or one click on Run workflow β runs the entire publish pipeline in under two minutes. The job graph makes the dependency chain visible: validate β build β publish to RubyGems β cut the GitHub Release. No manual gem push, no manual changelog edit, no missed step.
π§ͺ Comprehensive CI β parallel quality gates

CI fans out across change detection β fast checks β quality control β matrix test suite β integration tests β build & validate, with annotations surfacing test failures and deprecations directly in the run summary.
π¦ Per-workflow run history

Each workflow has its own run history with branch filters, status badges, and per-job durations β easy to spot regressions or compare runs across branches.
Trigger guide
Use these to invoke automation without leaving your terminal:
# List recent workflow runs
gh run list --repo bamr87/zer0-mistakes --limit 10
# Manually dispatch a release
gh workflow run release.yml --ref main -f tag=v0.22.21
# Trigger an automatic version bump on demand
gh workflow run version-bump.yml --ref main
# Re-run the most recent failed CI run
gh run rerun --failed --repo bamr87/zer0-mistakes
# Watch a workflow run live
gh run watch --repo bamr87/zer0-mistakes
Forking these workflows
When you fork the theme as a starter, the workflows come with you. To make them safe and useful in your fork:
- Add
RUBYGEMS_API_KEYinSettings β Secrets and variables β Actionsif you plan to publish your own gem; otherwise disablerelease.yml. - Tune triggers in
update-dependencies.yml(default: weekly). - Disable
setup-template.ymlafter the first run β it's a one-shot bootstrap. - GitHub Pages is auto-enabled when you push to
mainif your repo is<username>.github.io.
πΈ Screenshots above are real runs captured from github.com/bamr87/zer0-mistakes/actions. Re-capture them for your fork by running
./scripts/test/capture-workflow-screenshots.sh(or just take fresh screenshots) and replacing the files indocs/images/workflows/.
πΊ Roadmap
The diagram and table below are auto-generated from _data/roadmap.yml by scripts/generate-roadmap.sh. See the full Roadmap page for per-version detail and the PRD for product context.
gantt
title zer0-mistakes Roadmap
dateFormat YYYY-MM
section Completed
v0.17 ES6 Navigation :done, 2025-12, 2025-12
v0.18 Site Search :done, 2026-01, 2026-01
v0.19 Feature Discovery :done, 2026-01, 2026-01
v0.20 Navigation Redesign :done, 2026-02, 2026-02
v0.21 Env Switcher :done, 2026-02, 2026-03
section Current
v0.22 AIEO & Customization :active, 2026-03, 2026-04
section Future
v0.23 CMS Integration :2026-05, 2026-07
v0.24 i18n Support :2026-07, 2026-09
v0.25 Advanced Analytics :2026-09, 2026-11
v1.0 Stable Release :milestone, 2027-01, 1d
| Version | Status | Target | Highlights |
|---|---|---|---|
| v0.17 | β Completed | Dec 2025 | ES6 modular navigation with auto-hide navbar, hover dropdowns, keyboard navigation, and touch gestures. |
| v0.18 | β Completed | Jan 2026 | Client-side site search with a keyboard-shortcut search modal. |
| v0.19 | β Completed | Jan 2026 | 43 documented features with a comprehensive feature registry. |
| v0.20 | β Completed | Feb 2026 | Local Docker publishing pipeline and CI variable abstraction. |
| v0.21 | β Completed | Feb 2026 | Environment switcher, settings modal redesign, and RubyGems API-key auth. |
| v0.22 | π§ In Progress | Q1βQ2 2026 | AI Engine Optimization (AIEO), structured data, and visual customization tools. |
| v0.23 | π Planned | Q2 2026 | Headless CMS integration with a content API and admin dashboard. |
| v0.24 | π Planned | Q3 2026 | Multi-language content support with locale-aware routing. |
| v0.25 | π Planned | Q4 2026 | Visual theme customizer, A/B testing, and conversion funnels. |
| v1.0 | π― Milestone | Q1 2027 | Stable public API, 90%+ test coverage, and long-term support commitment. |
π€ Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
flowchart LR
FORK[Fork Repo] --> BRANCH[Create Branch]
BRANCH --> CODE[Make Changes]
CODE --> TEST[Run Tests]
TEST --> PR[Open PR]
PR --> REVIEW[Code Review]
REVIEW --> MERGE[Merge! π]
style MERGE fill:#c8e6c9
Quick Contribution
# Fork and clone
gh repo fork bamr87/zer0-mistakes --clone
cd zer0-mistakes
# Create feature branch
git checkout -b feature/awesome-feature
# Make changes and test
docker-compose up
./test/test_runner.sh
# Submit PR
git push origin feature/awesome-feature
π Support
| Channel | Link |
|---|---|
| π Documentation | zer0-mistakes.com |
| π Issues | GitHub Issues |
| π¬ Discussions | GitHub Discussions |
| π§ Email | support@zer0-mistakes.com |
π Project Stats
| Metric | Value |
|---|---|
| Current Version | 0.22.22 (RubyGems, CHANGELOG) |
| Documented Features | 43 (Feature Registry) |
| Setup Time | 2-5 minutes (install.sh benchmarks) |
| Documentation Pages | 70+ (browse docs) |
| RubyGems Downloads | 3,000+ (rubygems.org) |
| Lighthouse Score | 95+ (measured via Chrome DevTools) |
π€ AIEO-Optimized β Built for AI Citation
This site implements AI Engine Optimization (AIEO) to maximize accuracy and depth when AI models cite or summarize its content. Key patterns applied:
| AIEO Pattern | Implementation |
|---|---|
| Structured Data | JSON-LD SoftwareApplication, WebPage, Person, and FAQPage schemas in every page head |
| Entity Density | Author profiles, technology names, and version numbers linked to canonical sources |
| E-E-A-T Signals | Visible author block on the landing page with social proof links |
| FAQ Injection | Dedicated FAQ page with 12 question-answer pairs and FAQPage schema |
| Definitional Precision | Machine-readable Glossary with 20+ key term definitions |
| Temporal Anchoring | Dated Roadmap with past, present, and future milestones |
| Substantiated Claims | Project stats table links to RubyGems, CHANGELOG, and Feature Registry as evidence |
| Procedural Clarity | Step-by-step installation with Mermaid sequence diagrams and comparison tables |
All AIEO enhancements are backward-compatible, follow existing code style (Bootstrap 5.3, Liquid templates), and add zero runtime overhead on pages that don't use them.
π Acknowledgments
Built with these amazing technologies:
- Jekyll β Static site generation
- Bootstrap β UI framework
- Docker β Containerization
- PostHog β Privacy-first analytics
- Mermaid β Diagram rendering
And these AI partners that make zer0-mistakes truly AI-native:
- GitHub Copilot β Project-wide instructions & file-scoped guidance
- OpenAI Codex β Cross-tool agent integration via
AGENTS.md - Cursor β Slash-command workflows in
.cursor/commands/ - Claude Code β Anthropic agent compatibility
- Aider, Continue, Jules β Additional agents.md-aware tools
- OpenAI Images API β AI-generated preview images
Built with β€οΈ β and a little help from our AI partners β for the Jekyll community
v0.22.22 β’ Changelog β’ License β’ Contributing β’ AI Agent Guide