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:
Ludo 2026-04-11 14:58:39 +02:00
parent ecfbed0374
commit 5bf233348d
Signed by: ludo
GPG key ID: F6E479DEFAB84D6E
21 changed files with 1110 additions and 0 deletions

48
openspec/config.yaml Normal file
View file

@ -0,0 +1,48 @@
schema: spec-driven
context: |
Project: ASW — Agentic Semantic Web
Purpose: A CSS framework built for agents, not humans. Semantic HTML + data-* attributes.
Core idea: LLMs produce semantic HTML naturally. ASW makes that HTML look correct
without the agent touching CSS. No classes, no inline styles, no presentation vocabulary.
Stack: Pure CSS framework. PostCSS build (postcss-import, postcss-custom-media, cssnano).
Foundation: Open Props provides primitive token scales; ASW aliases them to semantic names.
Engine-agnostic: ASW ships as CSS + packs. Packs integrate with Hugo, Apache, Caddy,
Flask, Nginx, Pandoc, Python. The framework's own website currently uses the Hugo pack.
Repo structure (target):
src/ — framework CSS source (layers/) and lab experiments (lab/)
dist/ — built output: asw.css, asw.min.css
vendor/ — explicit dependencies (Open Props with version tracking)
packs/ — engine integration bundles
docs/ — framework documentation (markdown only, engine-agnostic)
examples/ — static HTML showcases of framework capabilities
site/ — the ASW website (currently Hugo, consumes docs/ as content)
openspec/ — specs and changes
Key constraint: layers 02+ must only reference semantic aliases from 01-tokens.css,
never Open Props primitives directly.
Lineage: Pico CSS (component patterns, absorbed), Open Props (token scales, foundation),
Charts.css (data-* attribute pattern, inspiration).
Forgejo: git.trentuna.com/trentuna/asw
Legacy repo: git.trentuna.com/trentuna/agentic-semantic-web (to be archived after import)
rules:
proposal:
- Keep scope tight — this is a CSS framework, not a JS library
- Name the files that will be touched
- Consider impact on existing deployed pages (trentuna.com)
specs:
- Use Given/When/Then for behavior scenarios
- Specs should be testable by visual inspection in a browser
- Map 1:1 to CSS layer files where applicable
tasks:
- Each task should be a standalone unit of work for a single agent session
- Include acceptance criteria
- No task should touch more than 3 files
- Build check after every task