asw/openspec/specs/site/spec.md
Ludo 5bf233348d
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>
2026-04-11 14:58:39 +02:00

1.7 KiB

Spec: Site

Directory: site/

Purpose

The ASW framework's own website. Serves as documentation site, demo platform, and living proof that the framework works. Currently built with the Hugo pack.

Content Types

Docs (from ../docs/)

Framework documentation, mounted as Hugo content via module mount. Not duplicated — sourced from the engine-agnostic docs/ directory.

Articles (content/articles/)

Short-form writing about ASW concepts, patterns, and techniques. No TOC.

Essays (content/essays/)

Long-form writing. TOC, description, wider reading measure.

Notes (content/notes/)

Exported PKM vault notes. Session logs, diffs, status, tasks, wikilinks.

Pages (content/pages/)

Static pages: about, etc.

Engine

Currently Hugo. The site uses packs/hugo/ as its base and adds:

  • Site-specific layouts and overrides
  • hugo.toml with module mounts
  • Site-specific static assets

Principle

The site is a consumer of the framework, not part of it. A different site could be built with packs/flask/ or packs/caddy/ using the same docs/ and dist/asw.css. The framework does not depend on the site. The site depends on the framework.

Scenarios

Given a framework docs change

  • When a markdown file in docs/ is modified
  • Then the site picks it up automatically via Hugo mount
  • And no file in site/ needs to change

Given a CSS framework change

  • When src/layers/ is modified
  • Then dist/asw.css is rebuilt
  • And the site serves the updated CSS

Given a site-only change (new article, essay)

  • When content is added to site/content/
  • Then only the site is affected
  • And src/, dist/, docs/ are untouched