Skip to content

Commit

Permalink
chore: add contributing guide
Browse files Browse the repository at this point in the history
  • Loading branch information
Envoy-VC committed Dec 27, 2023
1 parent fe97fc3 commit aa7bdac
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ For a complete overview of available functions and usage examples, please refer

# Contributing

We welcome contributions! Check out our [contributing guide](./contrubuting.md) for more information
We welcome contributions! Check out our [contributing guide](./contributing.md) for more information

# Future Plans

Expand Down
91 changes: 91 additions & 0 deletions contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Contributing to Atomic Toolkit

We're always excited to welcome new contributors to the Atomic Toolkit project! This guide outlines the process for effectively and efficiently contributing to the codebase.

## Pre-requisites:

- Basic understanding of Node.js and JavaScript
- Understanding of Arweave and Atomic Standards
- Familiarity with TypeScript is a plus

## Setting Up the Development Environment

This project is a [turborepo](https://turbo.build/) project, which means that it is a monorepo structure to manage multiple packages. The project is split into two parts:

**Packages**:

- `atomic-toolkit`: The core package that contains the core functionality of the toolkit.

**Apps**:

- `docs`: The documentation website for the toolkit.
- `demo`: A demo website that showcases the toolkit's functionality.

Also this Repository uses pnpm package manager, so make sure you have it installed globally.

1. Clone the repository:
```bash
git clone https://github.com/Envoy-VC/atomic-toolkit.git
cd atomic-toolkit
```
2. Install dependencies:
```bash
pnpm install
```
3. Build the packages:
```bash
pnpm run build
```

## Making Changes:

### Branch out

Create a new branch for your changes. Feature branches are preferred for specific changes, while hotfixes or pull requests for bugs can use dedicated branches.

---

### Make your changes

Focus on the packages/atomic-toolkit directory for code changes and the apps/docs directory for documentation updates. Update relevant tests alongside your code modifications.

---

### Run tests

Ensure your changes don't break existing functionality. Run the tests with:

```bash
pnpm test
```

---

### Document your changes

Clearly document your changes in the relevant code and markdown files. Make sure your pull request title and commit messages are concise and informative.

---

### Create a Pull Request

Push your changes to your remote branch and create a pull request against the main branch.

---

Contribution Guidelines:

1. Follow the existing code style and conventions.
Use descriptive variable names and comments.
Write unit tests for any new code or significant changes.

2. Keep pull requests focused on a single feature or bug fix.

3. Be friendly and respectful in your communication with other contributors.

## Additional Resources

- Turbo Documentation: https://vercel.com/docs/monorepos/turborepo
- Testing in Turbo Repos: https://vercel.com/docs/monorepos/turborepo

**We appreciate your contributions and look forward to seeing your work!**

0 comments on commit aa7bdac

Please sign in to comment.