2.8 KiB
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
- Record the bootstrap as
DEC-004inwhynot-control/DECISIONS.md— something like "Established whynot-design as the implementation surface, three-layer architecture, Lit web components as the canonical component layer." - Mention
whynot-designinwhynot-control/SCOPE.mdas a sibling repository. - Add
@whynot/designas a dependency in your first consuming app — Django, React, or both. FollowMultiFrameworkSupport.mdfor the per-framework wiring.
Notes
- The
git+sshURL inpackage.json(gitea.example.com/whynot/whynot-design.git) is a placeholder. Replace with your actual Gitea host. - The same goes for
.npmrcand the registry URL in.gitea/workflows/ci.yml(commented out — uncomment when you stand up a Gitea Packages registry). .gitea/workflows/ci.ymland.github/workflows/ci.ymlare identical. Keep whichever your forge uses and delete the other.- The
examples/showcase/index.htmlpage usesimportmapto load Lit from esm.sh for the standalone-no-build case. When you have a bundler in the consuming app, the bundler resolveslitfromnode_modulesand the importmap is irrelevant.
You can delete this file after bootstrap
It's only useful for the first push.