mirror of
https://github.com/simstudioai/sim.git
synced 2026-09-24 15:45:35 +08:00
Added contributing guide
This commit is contained in:
+165
@@ -0,0 +1,165 @@
|
||||
# Contributing to Sim Studio
|
||||
|
||||
Thank you for your interest in contributing to Sim Studio! Our goal is to provide developers with a powerful, user-friendly platform for building, testing, and optimizing agentic workflows. We welcome contributions in all forms—from bug fixes and design improvements to brand-new features.
|
||||
|
||||
> **Project Overview:**
|
||||
> Sim Studio is built with Next.js (app router), ReactFlow, Zustand, Shadcn, and Tailwind CSS. Please ensure your contributions follow our best practices for clarity, maintainability, and consistency.
|
||||
|
||||
---
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [How to Contribute](#how-to-contribute)
|
||||
- [Reporting Issues](#reporting-issues)
|
||||
- [Pull Request Process](#pull-request-process)
|
||||
- [Commit Message Guidelines](#commit-message-guidelines)
|
||||
- [Local Development Setup](#local-development-setup)
|
||||
- [License](#license)
|
||||
|
||||
---
|
||||
|
||||
## How to Contribute
|
||||
|
||||
We strive to keep our workflow as simple as possible. To contribute:
|
||||
|
||||
1. **Fork the Repository**
|
||||
Click the **Fork** button on GitHub to create your own copy of the project.
|
||||
|
||||
2. **Clone Your Fork**
|
||||
```bash
|
||||
git clone https://github.com/<your-username>/sim-studio.git
|
||||
```
|
||||
3. **Create a Feature Branch**
|
||||
Create a new branch with a descriptive name:
|
||||
|
||||
```bash
|
||||
git checkout -b feature/your-feature-name
|
||||
```
|
||||
|
||||
Use a clear naming convention to indicate the type of work (e.g., `feature/`, `fix/`, `docs/`).
|
||||
|
||||
4. **Make Your Changes**
|
||||
Ensure your changes are small, focused, and adhere to our coding guidelines.
|
||||
|
||||
5. **Commit Your Changes**
|
||||
Write clear, descriptive commit messages that follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#specification) specification. This allows us to maintain a coherent project history and generate changelogs automatically. For example:
|
||||
- `feat(api): add new endpoint for user authentication`
|
||||
- `fix(ui): resolve button alignment issue`
|
||||
- `docs: update contribution guidelines`
|
||||
6. **Push Your Branch**
|
||||
|
||||
```bash
|
||||
git push origin feature/your-feature-name
|
||||
```
|
||||
|
||||
7. **Create a Pull Request**
|
||||
Open a pull request against the `main` branch on GitHub. Please provide a clear description of the changes and reference any relevant issues (e.g., `fixes #123`).
|
||||
|
||||
---
|
||||
|
||||
## Reporting Issues
|
||||
|
||||
If you discover a bug or have a feature request, please open an issue in our GitHub repository. When opening an issue, ensure you:
|
||||
|
||||
- Provide a clear, descriptive title.
|
||||
- Include as many details as possible (steps to reproduce, screenshots, etc.).
|
||||
- **Tag Your Issue Appropriately:**
|
||||
Use the following labels to help us categorize your issue:
|
||||
- **active:** Actively working on it right now.
|
||||
- **bug:** Something isn't working.
|
||||
- **design:** Improvements & changes to design & UX.
|
||||
- **discussion:** Initiate a discussion or propose an idea.
|
||||
- **documentation:** Improvements or updates to documentation.
|
||||
- **feature:** New feature or request.
|
||||
|
||||
> **Note:** If you're uncertain which label to use, mention it in your issue description and we'll help categorize it.
|
||||
|
||||
---
|
||||
|
||||
## Pull Request Process
|
||||
|
||||
Before creating a pull request:
|
||||
|
||||
- **Ensure Your Branch Is Up-to-Date:**
|
||||
Rebase your branch onto the latest `main` branch to prevent merge conflicts.
|
||||
- **Follow the Guidelines:**
|
||||
Make sure your changes are well-tested, follow our coding standards, and include relevant documentation if necessary.
|
||||
|
||||
- **Reference Issues:**
|
||||
If your PR addresses an existing issue, include `refs #<issue-number>` or `fixes #<issue-number>` in your PR description.
|
||||
|
||||
Our maintainers will review your pull request and provide feedback. We aim to make the review process as smooth and timely as possible.
|
||||
|
||||
---
|
||||
|
||||
## Commit Message Guidelines
|
||||
|
||||
We follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#specification) standard. Your commit messages should have the following format:
|
||||
|
||||
```
|
||||
<type>[optional scope]: <description>
|
||||
```
|
||||
|
||||
- **Types** may include:
|
||||
- `feat` – a new feature
|
||||
- `fix` – a bug fix
|
||||
- `docs` – documentation changes
|
||||
- `style` – code style changes (formatting, missing semicolons, etc.)
|
||||
- `refactor` – code changes that neither fix a bug nor add a feature
|
||||
- `test` – adding or correcting tests
|
||||
- `chore` – changes to tooling, build process, etc.
|
||||
- `high priority` – a high priority feature or fix
|
||||
- `high risk` – a high risk feature or fix
|
||||
- `improvement` – an improvement to the codebase
|
||||
|
||||
_Examples:_
|
||||
|
||||
- `feat(auth): add social login integration`
|
||||
- `fix(ui): correct misaligned button on homepage`
|
||||
- `docs: update installation instructions`
|
||||
|
||||
Using clear and consistent commit messages makes it easier for everyone to understand the project history and aids in automating changelog generation.
|
||||
|
||||
---
|
||||
|
||||
## Local Development Setup
|
||||
|
||||
To set up your local development environment:
|
||||
|
||||
1. **Clone the Repository:**
|
||||
```bash
|
||||
git clone https://github.com/<your-username>/sim-studio.git
|
||||
```
|
||||
2. **Navigate to the Project Directory:**
|
||||
```bash
|
||||
cd sim-studio
|
||||
```
|
||||
3. **Install Dependencies:**
|
||||
- Using Yarn:
|
||||
```bash
|
||||
yarn install
|
||||
```
|
||||
- Or using NPM:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
4. **Run the Development Server:**
|
||||
- With Yarn:
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
- With NPM:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
5. **Make Your Changes and Test Locally.**
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License. By contributing, you agree that your contributions will be licensed under the MIT License as well.
|
||||
|
||||
---
|
||||
|
||||
Thank you for taking the time to contribute to Sim Studio. We truly appreciate your efforts and look forward to collaborating with you!
|
||||
Reference in New Issue
Block a user