Skip to content

Contributing

Eduardo Pessine edited this page Jan 25, 2025 · 2 revisions

Contribution Guide

Welcome to Tinkerpad! We’re thrilled that you’re interested in contributing to this project. Whether you’re fixing a bug, adding a feature, or improving the documentation, your contributions are highly appreciated. Let’s get you set up and ready to contribute!


Prerequisites

Before you start, make sure you have the following installed on your machine:

  • Go 1.23+: The backend of Tinkerpad is built with Go.
    Install Go

  • Bun 1.1+: Bun is used for managing frontend dependencies and running scripts.
    Install Bun

  • Wails CLI 2.9+: Wails is the framework that powers Tinkerpad’s desktop app.
    Install Wails CLI

  • PHP 7.4+: Tinkerpad is designed to work with PHP, so you’ll need a compatible version installed.
    Install PHP


Setting Up the Development Environment

  1. Clone the Repository:
    Start by cloning the Tinkerpad repository to your local machine.

    git clone https://github.com/epessine/tinkerpad.git
    cd tinkerpad
  2. Compile PHP Runner(optional):
    If you make any changes to the /php folder, you'll need to install composer dependencies and recompile the .phar file.

    cd php
    composer install
    ./vendor/bin/box compile
  3. Run the App:
    Start the development server to run Tinkerpad locally.

    wails dev

    This will launch the app in development mode, allowing you to see changes in real-time as you work.


Making Contributions

🐛 Reporting Bugs

If you find a bug, please open an issue on the GitHub Issues page. Include as much detail as possible, such as steps to reproduce the issue, expected behavior, and screenshots if applicable. Security breaches should be emailed to eduardopessine@gmail.com.

✨ Suggesting Features

Have an idea for a new feature? Open an discussion and describe your idea. We’d love to hear your suggestions!

🛠️ Submitting Pull Requests

  1. Fork the repository and create a new branch for your changes.

    git checkout -b my-feature-branch
  2. Make your changes and commit them with clear, descriptive messages.

    git commit -m "feat: create feature for saving snippets"
  3. Push your changes to your forked repository.

    git push origin my-feature-branch
  4. Open a pull request (PR) to the main branch of the Tinkerpad repository. Provide a detailed description of your changes and reference any related issues.


Code Style and Guidelines

  • Follow the Go coding standards for backend code.
    Go Code Review Comments

  • Use consistent formatting for frontend code (HTML, CSS, JavaScript).
    Consider using Prettier or ESLint for formatting. Run bun run fix to lint frontend code on /frontend.

  • Use conventional commits for commit messages.


Testing Your Changes

Before submitting a pull request, make sure to test your changes thoroughly. Run the app locally and ensure everything works as expected. If you’re adding new functionality, consider writing tests to cover your changes.


Need Help?

If you have any questions or need assistance, feel free to reach out by opening an discussion or joining the discussion on the GitHub Discussions page. We’re here to help!


Thank you for contributing to Tinkerpad! Together, we can make it an even better tool for PHP developers everywhere. 🚀