Specs: repo-structure, 10 framework layer specs, packs, site. Changes: repo-restructure (10 tasks), css-refactor (12 tasks), legacy-import (proposal + triage categories). Supersede docs/css-refactor-plan.md in favor of OpenSpec change. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Spec: Packs
Directory: packs/
Purpose
Engine integration bundles. Each pack adapts ASW for a specific web server or static site generator. A pack is a self-contained directory that someone can copy into their project.
Current Packs
| Pack | Purpose | Source |
|---|---|---|
hugo/ |
Hugo theme: layouts, partials, archetypes, static assets | Legacy repo |
apache/ |
Autoindex styling, error pages, Apache conf snippets | Legacy repo |
caddy/ |
Browse template, error pages, Caddyfile snippets | Legacy repo |
flask/ |
Python error handler, Flask integration | Legacy repo |
nginx/ |
Autoindex header, error pages, Nginx conf snippets | Legacy repo |
pandoc/ |
HTML5 template, Lua filter for ASW output | Legacy repo |
python/ |
Simple Python HTTP server with ASW styling | Legacy repo |
Pack Contract
Each pack directory MUST contain:
README.md— what the pack does, how to install/use it- All files needed for integration (conf snippets, templates, static assets)
Each pack SHOULD:
- Reference
dist/asw.cssfor the framework CSS (notsrc/layers/) - Be self-contained — no dependencies outside the pack directory and
dist/ - Include example configuration
Scenarios
Given a new engine integration
- When someone wants ASW support for a new engine
- Then they create
packs/<engine>/with a README and integration files - And the pack references
dist/asw.css
Given the Hugo pack
- When the ASW website is built
- Then it uses
packs/hugo/for layouts, partials, and configuration - And
site/contains Hugo-specific overrides on top of the pack
Note
The Hugo pack is special: the ASW website (site/) is built with it. The pack provides the base; site/ adds content and any site-specific customization. This is both a real integration and a living example.