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>
46 lines
1.8 KiB
Markdown
46 lines
1.8 KiB
Markdown
# 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.css` for the framework CSS (not `src/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.
|