65 lines
2.8 KiB
Markdown
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.
|