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>
4.6 KiB
4.6 KiB
Tasks: Repository Restructure
Task 1 — Create directory skeleton
Files: (new directories only) Action:
- Create
src/,src/layers/,src/lab/ - Create
dist/ - Create
vendor/open-props/ - Create
site/ - Create
examples/Acceptance: Directories exist. No files moved yet. Build still passes from current layout.
Task 2 — Move CSS source to src/
Files: assets/css/layers/*.css → src/layers/, assets/css/main.css → src/main.css
Action:
git mv assets/css/layers/ src/layers/git mv assets/css/main.css src/main.css- Update
@importpaths insrc/main.cssif needed (should be relative, likely unchanged) Acceptance:src/layers/contains all 11 CSS files.src/main.cssimports them.assets/css/is gone. Note: Site will be temporarily broken until Hugo mounts are configured (Task 5).
Task 3 — Set up vendor/
Files: vendor/open-props/, vendor/README.md
Action:
- Copy
node_modules/open-props/open-props.min.css→vendor/open-props/ - Copy
node_modules/open-props/media.min.css→vendor/open-props/ - Create
vendor/open-props/VERSIONwith package version and date - Create
vendor/README.mdexplaining what's vendored and how to update - Remove
static/vendor/(old location) Acceptance:vendor/open-props/contains the two CSS files + VERSION.static/vendor/is gone.
Task 4 — Move Hugo files to site/
Files: content/, layouts/, archetypes/, hugo.toml, hugo_stats.json
Action:
git mv content/ site/content/git mv layouts/ site/layouts/git mv archetypes/ site/archetypes/git mv hugo.toml site/hugo.tomlgit mv hugo_stats.json site/hugo_stats.json- Move site-specific static files:
static/palette-test.html→site/static/ - Move
static/asw.css→dist/asw.css(this is the built output) Acceptance: All Hugo content/layout/config files are insite/. Root has no Hugo files.
Task 5 — Configure Hugo module mounts
Files: site/hugo.toml
Action: Add module mounts:
../src→assets/css(framework CSS in Hugo's asset pipeline)../docs→content/docs(framework docs as site content)../vendor/open-props→assets/css/open-props(Open Props in asset pipeline)static→static(site's own static files) Acceptance:hugo server --source site/builds successfully. All pages render. CSS loads correctly.
Task 6 — Build dist/asw.css from new paths
Files: postcss.config.js, package.json
Action:
- Update PostCSS config if paths changed
- Run:
npx postcss src/main.css -o dist/asw.css - Run:
npx postcss src/main.css -o dist/asw.min.css - Verify output matches previous
static/asw.css - Add npm scripts to
package.json:"build": "postcss src/main.css -o dist/asw.css"Acceptance:dist/asw.cssexists and is equivalent to the previous build.npm run buildworks.
Task 7 — Restructure docs/
Files: docs/
Action:
- Existing docs stay:
context.md,css-refactor-plan.md,css-html-cleanup-todo.md,frontmatter.md,template-h1-title.md - Verify Hugo mount serves them at
content/docs/ - Add
docs/llms.txt(move from legacy or create) - Add
docs/lineage.mdplaceholder (Pico absorption story, Open Props relationship) Acceptance: Framework docs are all indocs/. Hugo renders them as site pages via mount.
Task 8 — Create examples/ from site content
Files: examples/
Action:
- Identify existing pages that are pure component/layout demos
- Create standalone HTML versions in
examples/that loaddist/asw.css - Organize into
examples/components/,examples/layout/,examples/charts/,examples/vault/Acceptance: At least 3 example files exist, each standalone and openable in a browser.
Task 9 — Update .gitignore and clean up
Files: .gitignore, root directory
Action:
- Update
.gitignorefor new paths - Remove empty
assets/directory if still present - Remove
static/css/layers/(dev-mode output, will be regenerated) - Verify no orphaned files remain in old locations
Acceptance:
git statusis clean. No files in old locations..gitignorecoversnode_modules/,site/public/,site/resources/.
Task 10 — Verify full build cycle
Files: (none modified, verification only) Action:
npm run build→dist/asw.cssgeneratedhugo --source site/→site/public/generated- Spot-check 3-4 pages visually
- Verify
docs/content appears in site - Verify CSS loads and renders correctly Acceptance: Full build passes. Site looks identical to pre-restructure. dist/ output is valid.