feat: add OpenSpec specs and changes for ASW restructure
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>
This commit is contained in:
parent
ecfbed0374
commit
5bf233348d
21 changed files with 1110 additions and 0 deletions
46
openspec/specs/packs/spec.md
Normal file
46
openspec/specs/packs/spec.md
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
# 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue