Contributing Guidelines

Thank you for considering contributing to Apilux! Your contributions help improve the project and make it more robust and useful for developers worldwide. This document outlines the process and guidelines for contributing to ensure consistency, quality, and ease of collaboration.

Getting Started

  1. Familiarize Yourself with the Project

    • Read through the Introduction to understand the purpose and architecture of Apilux.
    • Explore the existing issues, feature requests, and discussions to identify areas you can contribute to.
  2. Check for Open Issues

    • Before starting work, browse the Issues section to see if your idea or bug report has already been addressed.
    • If you find a similar issue, contribute to the discussion instead of opening a duplicate.
  3. Communicate Your Intent

    • For significant contributions or new features, create a new issue or comment on an existing one to discuss your plans.
    • Wait for feedback and approval from the maintainers before beginning work.

Code of Conduct

Please review and adhere to the Code of Conduct to ensure a welcoming and respectful environment for all contributors.

Contribution Types

Reporting Issues

  • Ensure the issue is reproducible by providing clear steps, expected behavior, and observed behavior.
  • Include environment details (e.g., operating system, Node.js version, etc.).
  • Add screenshots, logs, or error messages to help maintainers understand the problem better.

Suggesting Enhancements

  • Clearly describe the enhancement you propose.
  • Explain why the feature would be valuable for the project.
  • Provide examples, diagrams, or mockups if applicable.

Submitting Code

  • Ensure your code adheres to the coding standards outlined below.
  • Include detailed comments and documentation for any new functionality.
  • Write tests to validate your changes.

Updating Documentation

  • Review existing documentation for clarity, grammar, and completeness.
  • Propose edits or additions to make the project easier to understand.
  • Ensure code examples in documentation are correct and up to date.

Development Workflow

Fork and Clone the Repository

  1. Fork the repository to your GitHub account.
  2. Clone your forked repository locally:
git clone https://github.com/prnvtripathi/apilux.git
cd apilux

Set Up the Environment

Install dependencies:

npm install
  • Set up any required environment variables (refer to .env.example for guidance).

Run the application locally:

npm run dev

Create a New Branch

  • Use a descriptive branch name that reflects the scope of your work:
git checkout -b feature/your-feature-name

Make Changes

  • Follow the project's coding standards and style guides.
  • Write clear and concise commit messages:
git commit -m "Add feature: description of the feature"

Coding Standards

Code Style

  • Use Prettier for consistent formatting.
  • Follow the JavaScript/TypeScript standards outlined in the .eslintrc file.

File Structure

  • Keep files modular and organized by functionality.
  • Use meaningful names for files and directories.

Comments

  • Use clear and concise comments to explain the purpose of your code.

  • Document complex logic with inline comments.

    Commit Messages

    • Use the imperative mood in commit messages (e.g., "Add feature" rather than "Added feature").
    • Provide context and reasoning for changes when necessary.

    Testing Guidelines

    Unit Tests

    • Write tests for all new or updated functionality.
    • Ensure tests cover edge cases and error scenarios.

    Integration Tests

    • Test the interaction between components and modules.
    • Validate the correctness of workflows (e.g., API generation and execution).

    Test Framework

    • Use Jest for testing.
    • Run the test suite locally and fix any failing tests before submission.

    Documentation

    Adding Documentation

    • Update or create Markdown files for any new features or workflows.
    • Use clear and concise language.
    • Include examples, diagrams, or screenshots if applicable.

    Maintaining Documentation

    • Review and update documentation regularly to reflect code changes.
    • Ensure all public APIs and workflows are well-documented.

    Communication

    Discussions

    • Use the Discussions tab for open-ended conversations and feature brainstorming.

    Issues

    • Keep issue titles concise but descriptive.
    • Use labels to categorize issues (e.g., bug, enhancement, documentation).

    Pull Request Reviews

    • Be respectful and constructive when reviewing others' code.
    • Provide actionable feedback and suggestions.

    Licensing

    By contributing to this repository, you agree that your contributions will be licensed under the MIT License.

    We appreciate your interest in Apilux and look forward to your contributions. Together, we can make API testing smarter and more efficient!