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

2.8 KiB

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

# 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.