-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
92 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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!** |