Skip to content

Commit

Permalink
Merge pull request #23 from alexander-zuev/feat/infra
Browse files Browse the repository at this point in the history
docs: add contributing.md
  • Loading branch information
alexander-zuev authored Mar 2, 2025
2 parents cf7f371 + 68c1139 commit da00388
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 2 deletions.
97 changes: 97 additions & 0 deletions CONTRIBUTING.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Contributing to Supabase MCP Server

Thank you for your interest in Supabase MCP Server. This project aims to maintain a high quality standard I've set for it. I welcome and carefully review all contributions. Please read the following guidelines carefully.

## 🤓 Important: Pre-Contribution Requirements

1. **Required: Open a Discussion First**
- **All contributions** must start with a GitHub Discussion before any code is written
- Explain your proposed changes, why they're needed, and how they align with the project's vision
- Wait for explicit approval from the maintainer before proceeding
- PRs without a prior approved discussion will be closed immediately without review

2. **Project Vision**
- This project follows a specific development vision maintained by the owner
- Not all feature ideas will be accepted, even if well-implemented
- The maintainer reserves the right to decline contributions that don't align with the project's direction

## 🛠️ Contribution Process (Only After Discussion Approval)

1. **Fork the repository:** Click the "Fork" button in the top right corner of the GitHub page.

2. **Create a new branch:** Create a branch with a descriptive name related to your contribution.
```bash
git checkout -b feature/your-approved-feature
```

3. **Quality Requirements:**
- **Test Coverage:** All code changes must include appropriate tests
- **Documentation:** Update all relevant documentation
- **Code Style:** Follow the existing code style and patterns
- **Commit Messages:** Use clear, descriptive commit messages

4. **Make your changes:** Implement the changes that were approved in the discussion.

5. **Test thoroughly:** Ensure all tests pass and add new tests for your changes.
```bash
# Run tests
pytest
```

6. **Commit your changes:** Use clear, descriptive commit messages that explain what you've done.
```bash
git commit -m "feat: implement approved feature X"
```

7. **Push your branch:** Push your changes to your forked repository.
```bash
git push origin feature/your-approved-feature
```

8. **Create a pull request:**
- Go to the original repository on GitHub
- Click "New Pull Request"
- Select "compare across forks"
- Select your fork and branch as the source
- Add a detailed description that references the approved discussion
- Include information about how you've tested the changes
- Submit the pull request

9. **Review Process:**
- PRs will be reviewed when time permits
- Be prepared to make requested changes
- The maintainer may request significant revisions
- PRs may be rejected even after review if they don't meet quality standards

## ⚠️ Grounds for Immediate Rejection

Your PR will be closed without review if:
- No prior discussion was opened and approved
- Tests are missing or failing
- Documentation is not updated
- Code quality doesn't meet project standards
- PR description is inadequate
- Changes don't align with the approved discussion

## 🤔 Why These Requirements?

- This project is maintained by a single developer (me) with limited review time
- Quality and consistency are prioritized over quantity of contributions
- The project follows a specific vision that I want to maintain

## 🌟 Acceptable Contributions

The following types of contributions are most welcome:
- Bug fixes with clear reproduction steps
- Performance improvements with benchmarks
- Documentation improvements
- New features that have been pre-approved via discussion

## 💡 Alternative Ways to Contribute

If you have ideas but don't want to go through this process:
- Fork the project and build your own version
- Share your use case in Discussions
- Report bugs with detailed reproduction steps

Thank you for understanding and respecting these guidelines. They help maintain the quality and direction of the project.
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-blue.svg" alt="License" /></a>
</p>


A feature-rich MCP server that enables Cursor and Windsurf to safely interact with Supabase databases. It provides tools for database management, SQL query execution, and Supabase Management API access with built-in safety controls.

## Table of contents
Expand Down Expand Up @@ -434,8 +433,12 @@ The Auth Admin SDK provides several key advantages over direct SQL manipulation:
- 🐍 Support methods and objects available in native Python SDK - ✅ (v0.3.6)
- 🔍 Stronger SQL query validation (read vs write operations)
- 📝 Automatic versioning of DDL queries(?)
- 🪵 Tools / resources to more easily access database, edge functions logs (?)
- 🪵 Tools / resources to more easily access database, edge functions logs (?)
- 👨‍💻 Supabase CLI integration (?)
- 📖 Radically improved knowledge and tools of api spec
- Resources to more easily access and check api spec
- Atomic url paths and ops (right now LLM trips more often then not)
- Better support for local database management
Expand Down

0 comments on commit da00388

Please sign in to comment.