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>
48 lines
2.2 KiB
YAML
48 lines
2.2 KiB
YAML
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
|