Thank you for your interest in contributing to Slate! This guide will help you get started.
- 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
- Open a feature request
- Describe the use case and why it would be valuable
- Fork the repository
- Create a branch from
main:git checkout -b feature/your-feature-name
- Make your changes — follow the coding style of the project
- Test your changes:
npm test # run tests npm run dev # manual testing
- Commit using Conventional Commits — commitlint enforces this via a git hook:
git commit -m "feat: add your feature description" - Push and open a Pull Request against
main
git clone https://github.com/larrydarko1/slate.git
cd slate
npm install
npm run devWe enforce Conventional Commits via commitlint (git hook):
feat:— new featurefix:— bug fixdocs:— documentation changesstyle:— formatting, no code changerefactor:— code restructuringtest:— adding or updating testschore:— maintenance tasks
- TypeScript (strict mode) for all source files — no
anyunless 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-commitruns lint-staged (ESLint + Prettier),commit-msgruns commitlint
- 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
Open a discussion or an issue — happy to help!