al-folio is a thin starter for the pluginized architecture.
This repo owns starter configuration, docs, sample content, integration tests, and visual parity checks.
Follow docs/BOUNDARIES.md.
- Starter (
al-folio) owns:Gemfile,_config.yml- starter content (
_pages,_posts,_projects,_news,_data) - docs
- integration tests (
test/integration_*.sh) - visual tests (
test/visual/*)
- Plugin repos own:
- runtime/component logic
- component correctness/unit tests
- feature-specific assets
Do not reintroduce plugin-owned runtime assets into starter paths unless intentionally overriding behavior.
- Theme-coupled plugins: repo
al-folio-<feature>, gem/plugin idal_folio_<feature>. - Reusable plugins: repo
al-<feature>(or neutral), gem/plugin id aligned to namespace. - Featured plugin metadata lives in
_data/featured_plugins.yml. - Featuring and bundling are separate decisions.
- Jekyll (Ruby)
- Node tooling only (Prettier, Playwright)
- No starter-local Tailwind build pipeline
_config.yml- starter plugin wiring and feature flags_data/featured_plugins.yml- plugin catalog metadatatest/style_contract.js- starter contract checkstest/integration_*.sh- cross-plugin integration checkstest/visual/- visual parity checks.github/workflows/- CI workflowsdocs/- user, maintainer, upgrade, and plugin-system documentation.agents/skills/al-folio-bootstrap/SKILL.md- canonical agent workflow for new site setup.agents/skills/al-folio-v1-migration/SKILL.md- canonical agent workflow for customized fork migration.codex/skillsand.claude/skills- symlinks to.agents/skills
npm ci
npm run lint:prettier
npm run lint:style-contract
bundle exec jekyll build --baseurl /al-folio
bash test/integration_comments.sh
bash test/integration_plugin_toggles.sh
bash test/integration_distill.sh
bash test/integration_bootstrap_compat.sh
bash test/integration_upgrade_cli.sh
npx playwright install chromium webkit
npm run test:visual
bundle exec al-folio upgrade audit
bundle exec al-folio upgrade overrides audit
bundle exec al-folio upgrade report
docker compose up -d
curl -fsS http://127.0.0.1:8080/al-folio/ >/dev/null
docker compose logs --tail=80
docker compose downKeep these workflows aligned when changing starter behavior:
unit-tests.ymlvisual-regression.ymlupgrade-check.ymldeploy.yml
- Prefer starter wiring/docs/content changes in this repo.
- Route runtime/layout/feature fixes to owning plugin repos.
- Keep all contributor guidance consistent with v1 ownership boundaries.
- When a site keeps local overrides of plugin-owned files, run
bundle exec al-folio upgrade overrides auditand update.al-folio-overrides.ymlafter reviewing diffs.