> ## Documentation Index
> Fetch the complete documentation index at: https://dylankenneally-react-native-ssh-sftp-96.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Contributing

> Help improve React Native SSH SFTP by contributing code, documentation, issues, and feedback.

export const EditThisPage = ({filePath}) => {
  const REPO_EDIT_BASE_URL = 'https://github.com/dylankenneally/react-native-ssh-sftp/edit/master';
  return <div className="mt-10 rounded-2xl border border-zinc-950/10 bg-zinc-50 px-4 py-3 dark:border-white/10 dark:bg-white/5">
      <p className="m-0 text-sm text-zinc-600 dark:text-zinc-300">
        See something to improve?{' '}
        <a href={`${REPO_EDIT_BASE_URL}/${filePath}`}>Edit this page on GitHub</a>{' '}
        to suggest a change.
      </p>
    </div>;
};

Thank you for your interest in improving React Native SSH SFTP.

Whether you want to improve the library, tighten the docs, report a bug, or help other users, contributions are welcome.

You can contribute in a few different ways:

<CardGroup cols={2}>
  <Card title="Code Contributions" icon="code" href="#contributing-code">
    Add features, fix bugs, improve tests, and help keep the library reliable across iOS and Android.
  </Card>

  <Card title="Documentation Contributions" icon="book-open" href="#contributing-documentation">
    Improve guides, clarify examples, fix mistakes, and help other developers get up to speed faster.
  </Card>

  <Card title="Issues & Feedback" icon="circle-dot" href="https://github.com/dylankenneally/react-native-ssh-sftp/issues">
    Report bugs, request improvements, and share details that help reproduce problems.
  </Card>

  <Card title="Community Help" icon="users" href="https://github.com/dylankenneally/react-native-ssh-sftp/discussions">
    Answer questions, share usage patterns, and help shape the project through discussions.
  </Card>
</CardGroup>

## Before you start

Before opening a pull request:

1. Check whether an [issue already exists](https://github.com/dylankenneally/react-native-ssh-sftp/issues).
2. If not, [raise an issue](https://github.com/dylankenneally/react-native-ssh-sftp/issues/new/choose) for the work you plan to do.
3. Fork the repository and clone your fork locally.
4. Create a focused feature branch for your change.

<Tip>
  Smaller, focused pull requests are usually easier to review and merge than large mixed changes.
</Tip>

## Contributing code

Use this flow for library changes:

<Steps>
  <Step title="Fork and clone the repository">
    Clone your fork locally:

    ```bash theme={null}
    git clone https://github.com/your-username/react-native-ssh-sftp.git
    cd react-native-ssh-sftp
    ```
  </Step>

  <Step title="Install dependencies">
    Install the project dependencies:

    ```bash theme={null}
    npm install
    ```
  </Step>

  <Step title="Create a branch">
    Create a branch for your work:

    ```bash theme={null}
    git checkout -b feature/your-feature
    ```
  </Step>

  <Step title="Make your changes">
    Follow the existing code style, keep commits clear, and update documentation when your change affects usage or behavior.
  </Step>

  <Step title="Open a pull request">
    Push your branch, open a pull request, and reference any related issues so reviewers have the right context.
  </Step>
</Steps>

## Contributing documentation

If you want to improve the docs, you can either edit directly on GitHub or work locally.

<Tabs>
  <Tab title="Edit on GitHub">
    1. Navigate to the page you want to change.
    2. Click the edit link on the page.
    3. Make your update in GitHub and submit a pull request.
  </Tab>

  <Tab title="Develop locally">
    1. Fork and clone the repository.
    2. Install dependencies with `npm install`.
    3. Run the docs locally:

    ```bash theme={null}
    npm run docs
    ```

    1. Open `http://localhost:3000` to preview your changes.
    2. Commit and submit a pull request when your update is ready.
  </Tab>
</Tabs>

## Where to look next

If you are looking for a good place to start:

* Review the [Security guide](/guides/security) for responsible vulnerability reporting
* Review the [License guide](/guides/license) if your work depends on reuse or redistribution terms
* Browse the [issue tracker](https://github.com/dylankenneally/react-native-ssh-sftp/issues) for open work

## Writing guidelines

When contributing docs:

* **Use an active voice**: "Run the command" not "The command should be run"
* **Address the reader directly**: Use "you" instead of "the user"
* **Keep sentences concise**: Aim for one idea per sentence
* **Lead with the goal**: Start instructions with what the user wants to accomplish
* **Use consistent terminology**: Don't alternate between synonyms for the same concept
* **Include examples**: Show, don't just tell

## Submitting changes

When your work is ready:

1. Push your branch to your fork.
2. Open a pull request with a clear description of the change.
3. Link any [related issues](https://github.com/dylankenneally/react-native-ssh-sftp/issues).
4. Respond to review feedback and update the pull request as needed.

## Questions or ideas?

If you are not sure where to start, open an issue or join the [GitHub Discussions](https://github.com/dylankenneally/react-native-ssh-sftp/discussions).

## Related resources

* [GitHub Discussions](https://github.com/dylankenneally/react-native-ssh-sftp/discussions)
* [License](/guides/license)
* [Security](/guides/security)

<EditThisPage filePath="docs/guides/contributing.mdx" />
