Contributing to Skylite UX

Thank you for your interest in contributing to Skylite UX! We welcome contributions from the community and appreciate your help in making this project better.

Code of Conduct

This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.

Our Standards

Unacceptable Behavior

How Can I Contribute

There are many ways to contribute to Skylite UX:

Bug Reports

  • Report bugs you encounter
  • Help reproduce and verify bug fixes
  • Test bug fixes in different environments

Feature Requests

  • Suggest new features
  • Discuss feature implementations
  • Help prioritize features

Documentation

  • Improve existing documentation
  • Write tutorials and guides
  • Translate documentation
  • Fix typos and grammar

Code Contributions

  • Fix bugs
  • Implement new features
  • Improve performance
  • Add tests
  • Refactor code

Testing

  • Write unit tests
  • Write integration tests
  • Test on different platforms
  • Report test results

Design

  • Improve UI/UX
  • Create mockups
  • Provide design feedback
  • Help with accessibility

Development Process

1. Choose an Issue

2. Comment on the Issue

3. Make Your Changes

4. Commit Your Changes

5. Push and Create a Pull Request

git push origin feature/your-feature-name

Then create a Pull Request on GitHub.

Pull Request Guidelines

Before Submitting

Pull Request Template

When creating a Pull Request, use this template:

## Description
Brief description of what this PR does.

## Type of Change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update

## Testing
- [ ] I have tested this change locally
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] All existing tests pass

## Checklist
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes

## Screenshots (if applicable)
Add screenshots to help explain your changes.

## Additional Notes
Any additional information or context.

Review Process

  1. Automated Checks - CI/CD will run tests and linting
  2. Code Review - Maintainers will review your code
  3. Feedback - You may receive feedback and requested changes
  4. Approval - Once approved, your PR will be merged

Code Style Guidelines

General Principles

Vue & TypeScript Guidelines

// Good
interface User {
  id: string
  name: string
  email: string
}

const getUser = (id: string): Promise<User> => {
  // implementation
}

// Avoid
const getUser = (id: any): any => {
  // implementation
}

Styling Guidelines

<template>
  <div class="flex items-center justify-between p-4 bg-white rounded-lg shadow-sm">
    <h2 class="text-lg font-semibold text-gray-900">{{ title }}</h2>
    <button class="px-4 py-2 text-sm font-medium text-white bg-blue-600 rounded-md hover:bg-blue-700">
      Action
    </button>
  </div>
</template>

Commit Message Guidelines

We follow the Conventional Commits specification.

Format

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Types

Examples

feat: add user authentication system
fix(auth): resolve login redirect issue
docs: update installation instructions
style: format code with prettier
refactor(components): extract reusable button component
test: add unit tests for user service
chore: update dependencies

Reporting Bugs

Before Reporting

Bug Report Template

## Bug Description
Clear and concise description of the bug.

## Steps to Reproduce
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error

## Expected Behavior
What you expected to happen.

## Actual Behavior
What actually happened.

## Environment
- Host OS: [e.g. Linux fork, NAS type, etc...]
- Client OS: [e.g. Android, Raspberry Pi OS, etc...]
- Browser: [e.g. Chrome, Firefox]

## Additional Context
Add any other context about the problem here.

## Screenshots
If applicable, add screenshots to help explain your problem.

Suggesting Enhancements

Before Suggesting

Enhancement Request Template

## Problem Statement
Is your feature request related to a problem? Please describe.

## Proposed Solution
A clear and concise description of what you want to happen.

## Alternative Solutions
A clear and concise description of any alternative solutions you've considered.

## Additional Context
Add any other context or screenshots about the feature request here.

## Use Cases
Describe specific use cases where this feature would be helpful.

Questions and Discussions

Getting Help

Asking Good Questions

Recognition

Contributors will be recognized in several ways:

Contact

If you have any questions about contributing: