Skip to content

Latest commit

 

History

History
83 lines (64 loc) · 2.53 KB

File metadata and controls

83 lines (64 loc) · 2.53 KB

Contributing to Slate

Thank you for your interest in contributing to Slate! This guide will help you get started.

How to Contribute

Reporting Bugs

  • Search existing issues before opening a new one
  • Use the Bug Report issue template
  • Include steps to reproduce, expected vs actual behavior, and your OS/version

Suggesting Features

  • Open a feature request
  • Describe the use case and why it would be valuable

Submitting Code

  1. Fork the repository
  2. Create a branch from main:
    git checkout -b feature/your-feature-name
  3. Make your changes — follow the coding style of the project
  4. Test your changes:
    npm test     # run tests
    npm run dev  # manual testing
  5. Commit using Conventional Commits — commitlint enforces this via a git hook:
    git commit -m "feat: add your feature description"
  6. Push and open a Pull Request against main

Development Setup

git clone https://github.com/larrydarko1/slate.git
cd slate
npm install
npm run dev

Commit Message Convention

We enforce Conventional Commits via commitlint (git hook):

  • feat: — new feature
  • fix: — bug fix
  • docs: — documentation changes
  • style: — formatting, no code change
  • refactor: — code restructuring
  • test: — adding or updating tests
  • chore: — maintenance tasks

Code Style

  • TypeScript (strict mode) for all source files — no any unless justified with a comment
  • Vue 3 Composition API with <script setup>
  • SCSS for styling, CSS variables for theming
  • Single quotes, 4-space indent, 120 char line width, trailing commas (enforced by Prettier)
  • ESLint flat config with typescript-eslint + eslint-plugin-vue + eslint-config-prettier
  • Git hooks (Husky): pre-commit runs lint-staged (ESLint + Prettier), commit-msg runs commitlint

Pull Request Guidelines

  • Keep PRs focused — one feature or fix per PR
  • Provide a clear description of what changed and why
  • Link related issues (e.g., Closes #123)
  • Ensure the full pipeline passes before submitting:
    npm run lint
    npm run format:check
    npx vue-tsc -b
    npm run build
    npm test

Questions?

Open a discussion or an issue — happy to help!