Skip to content

Latest commit

 

History

History
263 lines (167 loc) · 8.05 KB

contributing.md

File metadata and controls

263 lines (167 loc) · 8.05 KB

JetPath Contributing Guide

Welcome to the JetPath Contributing Guide, and thank you for your interest.

If you would like to contribute to a specific part of the project, check out the following list of contributions that we accept and their corresponding sections that are within this guide:

  • Documentation
    • Go to the docs dir
  • Bug Fixes
    • Go to source code dir at src
  • New Features
    • Create a sample of the new feature, and start a discussion in the community forum.

However, at this time, we do not accept the following contributions:

  • Maintenance

JetPath overview

The purpose of the JetPath is to streamline your development process while offering flexibility in your choice of runtime environment

Ground rules

Before contributing, read our {link to the Code of Conduct} to learn more about our community guidelines and expectations.

Community engagement

Refer to the following channels to connect with fellow contributors or to stay up-to-date with news about JetPath:

  • Join our project contributors on {name and link to online chat}.Discord
  • Participate in our project meetings on {specify the day of the week and cadence} at {specify time and timezone}, where you can provide a status update or raise questions and concerns about your contributions. Use the following link to join: {link to online meeting space} 2-3 meetings monthly, Fridays

Before you start

Before you start contributing, ensure you have the following:

  • For developers: The latest version of Node.js, Bon.js, Deno.js.{ Link}
  • For writers: The lastest version of Node.js.{Link}

Environment setup

To set up your environment, perform the following actions:

Developer

  1. Fork the Repository: Click the Fork button at the top right of the repository page to create a copy under your GitHub account.

  2. Clone your forked repository to your computer using the command below. Replace yourusername with your GitHub username:

git clone https://github.com./<yourusername>/JetPath.git
  1. Navigate to the Project Directory: Change into the project folder using the command below.
cd JetPath
  1. Install Dependencies: Install all necessary packages with npm:
npm install

This will download and set up all libraries the project depends on.

  1. Create a new branch for your feature or fix
git checkout -b your-feature-branch
  1. Run the Development Server: Start the local server to preview your changes
npm run dev

Open your browser and click the URL shown in the terminal (usually http://localhost:4000).

  1. Compile the Project: Run the following command to build the project for production
npm run compile
  1. Push your branch to your fork and open a Pull Request to the main repository. Feel free to ask questions or open an issue if you need help!

Writers

  1. Fork the Repository: Click the Fork button at the top right of the repository page to create a copy under your GitHub account.

  2. Clone your forked repository to your computer using the command below. Replace with your GitHub username:

git clone https://github.com./<yourusername>/JetPath.git
  1. Navigate to the Project Directory: Change into the project folder using the command below.
cd JetPath
  1. Install Dependencies
npm install
  1. Create a new branch
git checkout -b your-feature-branch
  1. Preview your changes with this command below
npx docmach 
  1. Push your branch to your fork and open a Pull Request to the main repository.

Open your browser and click the URL shown in the terminal (usually http://localhost:4000).

Troubleshoot

If you encounter issues as you set up your environment, reach out to the team @fridaycandour for development and @NickyShe for documentation.

Best practices

Our project uses the Google Typescript coding style guide as our parent guide for best practices. Reference the guide to familiarize yourself with the best practices we want contributors to follow

Developers

  • Organize your code properly
  • Always run your test before pushing any code

Writers

Read the Google developers documentation writing style guide to understand the guidelines for writing and formatting documents. The purpose of the style guide is to ensure consistency in the tone, voice, and structure of our documentation.

Contribution workflow

Report issues and bugs

To help us improve JetPath, please report any issues or bugs you encounter. Here’s how you can do it:

  1. Check existing issues: Before creating a new issue, search the issue tracker to see if someone else has already reported the problem.
  2. Create a new issue: If you can’t find an existing issue, click the New issue button and fill out the template provided. Make sure to include:
  • Summarize the issue in a few words.
  • Explain the problem, including any error messages or unexpected behavior.
  • List the steps you took that led to the issue.
  • Describe what you expected to happen and what actually happened.
  • Attach any relevant screenshots or log files if applicable.
  1. Provide context: If relevant, mention your environment for example, operating system, browser, version of JetPath.

  2. Use Labels: Apply labels to categorize issues by type for eexample,bug, feature request, documentation.

  3. Prioritize: Use priority labels for example, high, medium, low to indicate the urgency of the issue.

  4. Comment and discuss: Use the issue comments to discuss the problem and potential solutions with other contributors.

By following these steps, we can efficiently track and resolve issues, ensuring JetPath continues to improve for everyone.

Commit messages

Here are the types and description of commit messages

Type Description
feat New feature
fix Bug fix
docs Documentation changes
chore Maintenance / build tasks
refactor Code refactoring without feature change

Example Commit message

feat: add support for Deno.js runtime environment detection
fix: resolve issue with npm run compile failing on Windows
docs: update contributing guide with branch naming conventions
chore: upgrade dependencies to latest stable versions
refactor: reorganize src/utils for better modularity

Branch creation

To keep our repository organized and make collaboration easier, please follow these guidelines when creating and naming branches:

Use a consistent prefix to indicate the type of work:

  • feature/ for new features

  • bugfix/ for bug fixes

  • hotfix/ for urgent or critical fixes

  • release/ for release preparation

  • docs/ for documentation updates

Example:

git checkout -b feature/add-user-authentication
git checkout -b bugfix/fix-login-error
git checkout -b docs/update-contributing-guide
git checkout -b release/1.0.0

Sticking to these conventions helps everyone quickly understand the purpose of each branch and keeps our workflow efficient

Pull requests

When your changes are ready, submit a pull request (PR) to propose merging your branch into the main repository. Please follow these steps:

  1. Push your branch to your forked repository:
git push -u origin your-branch-name
  1. Open a pull request on GitHub:
  • Navigate to the main repository on GitHub.

  • Click "Compare & pull request" next to your branch.

  • Ensure the base branch is main (or the appropriate target branch).

  1. Fill out the pull request template:
  • Provide a clear title and description.

  • List the main changes and the motivation behind them.

  • Reference any related issues by number (e.g., fixes #42).

Pull Request Template Example:

## Description
Briefly describe the purpose of this pull request.

## Changes
- List key changes here

## Additional Information
Add any extra context, screenshots, or testing instructions.

## Checklist
- [ ] Tests passed
- [ ] Documentation updated

Releases

{Provide a description of the release process and cadence for the project, such as the source code.}