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
149 changes: 149 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# 🤝 Contributing to Commandor

First of all, thank you for your interest in contributing to Commandor! 🎉
Your contributions help improve this project and make it even more useful for developers around the world.

Whether you’re fixing a bug 🐛, improving documentation 📝, suggesting new features 🚀, or just testing things out, we welcome your support!


## 🛠️ How Can You Contribute?

There are many ways to contribute:

### - Code Contributions
- Fix bugs or issues
- Add new features or commands
- Improve code readability and performance
- Write unit tests

### - Documentation

- Improve or fix README and docs
- Add usage examples
- Write tutorials or FAQs

### - Community Support

- Help answer issues
- Report bugs
- Suggest features or improvements


## ⚙️ Getting Started
### 1. Fork the Repository
Click the Fork button at the top right of this repo. This creates your own copy.

### 2. Clone Your Fork
```bash
git clone https://github.com/<your-username>/Commandor.git
cd Commandor
```

### 3. Set Up Development Environment
```bash
pip install -e .
```

### 4. Configure API Key

Create a .env file and add your Gemini API key:
```bash
GEMINI=your_api_key_here
```


## 🚀 Contribution Workflow
Follow these steps when making changes:

### 1. Create a new branch
Use a meaningful name:
```bash
git checkout -b feature/add-docker-support
```

### 2. Make your changes
Add code, docs, or fixes.

### 3. Commit with a clear message
```bash
git commit -m "feat: add docker usage instructions to README"
- feat: → new feature
- fix: → bug fix
- docs: → documentation change
- chore: → maintenance
```

### 4. Push your branch
```bash
git push origin feature/add-docker-support
```

### 5. Open a Pull Request (PR)

- Go to your fork → “Pull Request” → compare with main
- Describe your changes clearly
- Link related issues if any


## ✅ Code Guidelines
- Follow PEP8 coding style for Python
- Write clear and modular code
- Add comments for tricky logic
- Always test your changes before pushing
- For destructive shell commands → add safety checks


## 🧪 Testing
To test locally:
```bash
commandor
```
You can try commands like:
```bash
/ai list all .py files
/ask What is Docker?
```
If adding new features, write test cases to verify functionality.

## 🐛 Reporting Bugs
- Use GitHub Issues
- Include steps to reproduce the bug
- Share error logs/screenshots if possible
- Suggest a possible fix (optional but appreciated)

## 🌟 Feature Requests
- Open an issue with the label enhancement
- Clearly explain the problem and how your feature solves it
- Suggest usage examples if possible

## 🧑‍💻 Commit Message Conventions
We use [Conventional Commits](https://www.conventionalcommits.org/):
- feat: → new feature
- fix: → bug fix
- docs: → documentation only
- style: → formatting, no logic change
- refactor: → code change that improves structure
- test: → adding tests
- chore: → maintenance tasks


## 🤲 Code of Conduct

Please be respectful, inclusive, and constructive.
Check out our Code of Conduct
before contributing.


## 🙌 Show Your Support
If you like Commandor:
- ⭐ Star the repo
- 📢 Share with your dev friends
- 💡 Contribute regularly


## 📬 Contact
Created & Maintained by Ravin D
- GitHub: [ravin-d-27](https://github.com/ravin-d-27)


### 🔥 Every contribution counts — let’s make Commandor awesome together!