# Contributing ## Basic dev workflow Install yarn Run a local dev server on `localhost:3000`: yarn dev ## Testing Lint: yarn lint Fix most lint issues: yarn lint:fix Run the tests: yarn test Check code coverage: yarn cover ## Other Benchmark runtime performance: yarn benchmark:runtime Benchmark memory usage: yarn benchmark:memory Benchmark bundle size: yarn benchmark:bundlesize Benchmark storage size: yarn benchmark:storage Run memory leak test: yarn test:leak Build the GitHub Pages docs site: yarn docs ## FAQs Some explanations of why the code is structured the way it is, in case it's confusing. ### Why is it one big Svelte component? When you build Svelte components with `customElement: true`, it makes _each individual component_ into a web component. This can be bad for perf reasons (lots of repetition, [constructible stylesheets](https://wicg.github.io/construct-stylesheets/) aren't a thing yet, event and prop overhead) as well as correctness reasons (e.g. I want an `
  • ` inside of a `