Files
whynot-design/BOOTSTRAP.md
tegwick 80252baf53
Some checks failed
ci / check (push) Has been cancelled
ci / release (push) Has been cancelled
version 0.2.0 replaces fromer version!
2026-05-25 19:32:22 +02:00

65 lines
2.8 KiB
Markdown

# Bootstrap: prime `whynot-design` from this seed
You're holding a zip — `whynot-design-seed.zip` — that contains a complete first commit for the `whynot-design` repository at **v0.2.0**.
## Step-by-step
```sh
# 1. Unzip into your fresh whynot-design clone.
cd /path/to/whynot-design
unzip ~/Downloads/whynot-design-seed.zip
mv whynot-design-seed/* whynot-design-seed/.[!.]* .
rmdir whynot-design-seed
# 2. Sanity-check the tree.
ls -la
# Expect: README.md DesignSystemIntroduction.md MultiFrameworkSupport.md
# SKILL.md CONTRIBUTING.md CHANGELOG.md BOOTSTRAP.md
# package.json src/ tokens/ assets/ adapters/ examples/
# .gitea/ .github/ scripts/ tests/
# 3. Replace placeholder host names.
# Search-and-replace `gitea.example.com` with your actual Gitea host in:
# - package.json
# - .npmrc
# - .gitea/workflows/ci.yml (and .github/ if you keep that)
# - README.md (one quick-start block)
# 4. First commit.
git add -A
git commit -m "feat: seed whynot-design at v0.2.0 — three-layer architecture, Lit web components"
git tag v0.2.0
git push origin main --tags
# 5. Install + smoke-test.
pnpm install
pnpm showcase
# Visit http://localhost:4321/examples/showcase/
# Every <wn-*> component should render. If Lit fails to load,
# check that `lit` ^3.2.1 resolved in node_modules.
# 6. Generate Playwright baselines locally.
pnpm exec playwright install --with-deps chromium
pnpm test:visual:update
git add tests/visual/__screenshots__
git commit -m "test: add initial visual-regression baselines"
git push
```
## After bootstrap
1. **Record the bootstrap as `DEC-004` in `whynot-control/DECISIONS.md`** — something like *"Established whynot-design as the implementation surface, three-layer architecture, Lit web components as the canonical component layer."*
2. **Mention `whynot-design` in `whynot-control/SCOPE.md`** as a sibling repository.
3. **Add `@whynot/design` as a dependency in your first consuming app** — Django, React, or both. Follow `MultiFrameworkSupport.md` for the per-framework wiring.
## Notes
- The `git+ssh` URL in `package.json` (`gitea.example.com/whynot/whynot-design.git`) is a placeholder. Replace with your actual Gitea host.
- The same goes for `.npmrc` and the registry URL in `.gitea/workflows/ci.yml` (commented out — uncomment when you stand up a Gitea Packages registry).
- `.gitea/workflows/ci.yml` and `.github/workflows/ci.yml` are identical. Keep whichever your forge uses and delete the other.
- The `examples/showcase/index.html` page uses `importmap` to load Lit from esm.sh **for the standalone-no-build case**. When you have a bundler in the consuming app, the bundler resolves `lit` from `node_modules` and the importmap is irrelevant.
## You can delete this file after bootstrap
It's only useful for the first push.