Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# Contributing to Solid Skills

Thank you for your interest in contributing to Solid Skills! This document provides guidelines and instructions for contributing.

## How to Contribute

### Reporting Issues

If you find a bug, have a suggestion, or want to request a feature:

1. Check if the issue already exists in the [Issues](https://github.com/ramziddin/solid-skills/issues) section
2. Create a new issue with:
- Clear title and description
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Any relevant context

### Submitting Pull Requests

1. **Fork the repository** and clone your fork
2. **Create a feature branch** from `main`:
```bash
git checkout -b feature/your-feature-name
```
3. **Make your changes** following the project's coding standards
4. **Test your changes** to ensure they work correctly
5. **Commit your changes** with clear, descriptive commit messages:
```bash
git commit -m "Add: description of your change"
```
6. **Push to your fork**:
```bash
git push origin feature/your-feature-name
```
7. **Open a Pull Request** on GitHub with:
- Clear title and description
- Reference any related issues
- Explain what changes you made and why

## Contribution Guidelines

### Code Quality Standards

This project follows SOLID principles, TDD, and clean code practices. When contributing:

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I appreciate your PR, but I feel like the CONTRIBUTING.md is too complicated for a simple skills project. If you want a CONTRIBUTING.md, we could probably drastically simplify this


- **Write tests first** (TDD approach)
- **Follow SOLID principles** in all code
- **Keep functions small** (< 10 lines when possible)
- **Keep classes focused** (< 50 lines when possible)
- **Use meaningful names** that express intent
- **Avoid code smells** (see `skills/solid/references/code-smells.md`)

### Documentation Standards

- Use clear, concise language
- Provide examples when adding new concepts
- Keep documentation up-to-date with code changes
- Follow the existing documentation structure

### Skill Format

Skills follow the [Agent Skills](https://github.com/anthropics/agent-skills) format:

- Each skill has a `SKILL.md` file with frontmatter metadata
- Reference documentation goes in `references/` subdirectory
- Use clear headings and structure
- Include practical examples

### Commit Message Format

Use clear, descriptive commit messages:

- **Add:** for new features
- **Fix:** for bug fixes
- **Update:** for improvements to existing features
- **Refactor:** for code refactoring
- **Docs:** for documentation changes

Example:
```
Add: CONTRIBUTING.md with contribution guidelines
```

## Development Setup

1. Clone the repository:
```bash
git clone https://github.com/ramziddin/solid-skills.git
cd solid-skills
```

2. Set up upstream remote:
```bash
git remote add upstream https://github.com/ramziddin/solid-skills.git
```

3. Create your feature branch and start contributing!

## Questions?

If you have questions about contributing, feel free to:
- Open an issue with the `question` label
- Check existing issues and discussions

Thank you for contributing to Solid Skills! 🎉