If you wish to contribute to Skeleton, please ensure you have read and understand our requirements below.

Contribution Workflow

  1. Select an issue or roadmap task you wish to contribute to.
  2. Leave a comment, join the roadmap discussion, or reach out on Discord.
  3. Review with core contributors to define all requirements before you write your first line of code.
  4. Follow our branch naming conventions described below.
  5. Don't be afraid to submit a draft pull request early on to ensure you're meeting our guidelines.
  6. Run automated tests to confirm no regressions were introduced from your changes.
  7. Document your new feature or update per our documentation guidelines.
  8. When ready, set your pull request to the "ready to review" state. Then be patient, we'll review asap.
  9. If your PR meets all requirements it will be merged, otherwise feedback will be provided.


BranchDescriptionPull Requests
master Represents the production branch. Pull requests sent to this branch will be rejected. 🚫 No
dev The active development branch containing bleeding edge changes. Target this branch for PRs ✅ Yes

Feature Branch Conventions

docs/* Updates to the documentation pages or text copy.
feat/* New features, components, or far-reaching updates.
chore/* Simple and localized updates.
bugfix/* Commits that address or fix issues.

The wildcards (*) should be replaced with short and semantic descriptions that are lowercase and seperated by dashes.


Third Party Dependencies

Avoid adding additional depedencies without prior consent from a core team member. Pull Requests that do not follow this recommendation will be rejected outright.

Code Linting & Formatting

All Skeleton projects utilize Prettier. To check for linting issues, run:

npm run lint

To automatically apply formatting, run:

npm run format

Automated Tests

Tests are handled via Vitest, which is similar to Jest. Ensure tests are current and passing before submitting a pull request.

npm run test

Project Structure

/src/docs Documentation-specific components and features, such as the theme generator.
/src/lib Features and assets distributed within the core library's and NPM package.
/src/routes Documentation pages for the public-facing documentation website, including this page.