Skip to content

Latest commit

 

History

History
116 lines (72 loc) · 4.78 KB

CONTRIBUTING.md

File metadata and controls

116 lines (72 loc) · 4.78 KB

Contributing to Yasumu

We appreciate your interest in contributing to Yasumu! Whether you're fixing bugs, adding new features, improving documentation, or anything else, your contributions are valuable. Follow the steps below to set up your development environment and start contributing.

Getting Started

1. Clone the Repository

Begin by cloning the Yasumu repository to your local machine. This will create a local copy of the project where you can work on your contributions.

git clone https://github.com/yasumu-org/yasumu.git

2. Navigate to the Project Directory

Once the repository is cloned, change into the project directory.

cd yasumu

3. Install Dependencies

Before working on the project, you will need to install all necessary dependencies. Yasumu uses Yarn v4 as its package manager. Run the following command to install dependencies:

yarn install

This will install all the required packages and dependencies specified in the package.json file. Make sure you have Yarn installed on your machine before proceeding.

4. Build the Project

Yasumu is structured as a multi-package repository (monorepo), meaning it contains several packages. You need to build the project before running it. Building ensures that all source files are compiled and ready for execution.

yarn build

The build process compiles the TypeScript files and ensures everything is in sync across packages. If you make any changes to the source code, be sure to run this command again to reflect those updates.

5. Run the Yasumu Application

To start the Yasumu application, use the following command:

yarn workspace @yasumu/app app

This command runs the application located in the @yasumu/app workspace, which is the main application of the Yasumu project.

Running Tests

To ensure that everything works correctly, you should run the test suite. Yasumu has a set of automated tests to maintain code quality and catch potential issues. To run the tests, use:

yarn test

This will execute all the unit tests and report any errors. Make sure to run the tests after making changes to ensure that your contribution doesn’t break existing functionality.

Code Style and Linting

Yasumu follows specific code formatting and linting rules to maintain a clean and readable codebase. Please make sure that your code adheres to these standards.

To check for linting errors and automatically fix them (where possible), run:

yarn lint --fix

This will run ESLint on the project and fix any auto-fixable issues. Be sure to fix any remaining linting errors manually before submitting your changes.

Submitting a Pull Request

Once you've made your changes, you're ready to submit a pull request (PR). Follow these steps:

  1. Create a New Branch
    It's a good practice to create a new branch for each feature or bug fix you work on. Use descriptive branch names that explain the purpose of the branch, e.g., fix-bug-123 or feature-new-component.

    git checkout -b feature/your-feature-name
  2. Commit Your Changes
    Make sure your commit messages are descriptive and follow conventional commit guidelines (e.g., feat: add new feature, fix: resolve issue with something). You can take a look at Conventional Commits for more information.

    git add .
    git commit -m "feat: add feature X"
  3. Push the Changes to Your Fork
    Push your branch to your forked repository.

    git push origin feature/your-feature-name
  4. Open a Pull Request
    Go to the Yasumu repository on GitHub and open a new pull request. Provide a detailed description of your changes, the problem you're solving, and any additional context that may be helpful.

    Once the PR is submitted, it will be reviewed by the maintainers. If any changes are requested, please address them in a timely manner to help get your contribution merged quickly.

Additional Resources

  • Documentation: Ensure you're familiar with the Yasumu documentation to understand how the system works and where your contributions will fit.
  • Issue Tracker: If you're unsure what to work on, check the open issues on the GitHub Issue Tracker. Feel free to claim any issue or start a discussion if you need more clarification.
  • Coding Guidelines: Make sure to review the project's coding standards and best practices to ensure consistency across the codebase.

Need Help?

If you have any questions, feel free to reach out by opening an issue or joining the discussion in the project's community forum or Discord server.

We look forward to your contributions!