Developer Contribution Guide

🔄 Workflow Overview

  1. Fork repo → feature branch → PR

  2. Follow coding standards (ESLint, Prettier, Solidity style guide).

  3. Write unit tests for contracts + integration tests for APIs.

  4. Use GitHub Issues & Discussions for proposals and feedback.


🛠 Step-by-Step Git Workflow

Here’s the standard process for contributing to ArtsiAI.

1. Fork the Repo

Go to the [ArtsiAI GitHub repository] and click Fork to create your own copy.

2. Clone Your Fork

git clone https://github.com/<your-username>/ArtsiAI-Labs.git
cd ArtsiAI

3. Add Upstream Remote

Keep your fork synced with the official repo:

git remote add upstream https://github.com/ArtsiAI/ArtsiAI-Labs.git

4. Create a Feature Branch

Always work in a branch, never directly on main.

git checkout -b feature/<your-feature-name>

Example:

git checkout -b feature/nft-minting

5. Make Your Changes

  • Follow ESLint + Prettier for JS/TS.

  • Follow Solidity Style Guide for smart contracts.

  • Add unit tests for contracts in test/.

  • Add integration tests for APIs in tests/api/.

6. Commit with Conventional Messages

git add .
git commit -m "feat: add NFT minting contract with unit tests"

Commit message types:

  • feat: → New feature

  • fix: → Bug fix

  • docs: → Documentation only

  • test: → Adding or updating tests

  • refactor: → Code improvement without new feature

7. Push to Your Fork

git push origin feature/<your-feature-name>

8. Open a Pull Request (PR)

  • Go to your fork on GitHub.

  • Click Compare & Pull Request.

  • Fill out the PR template (what changed, why, screenshots/tests).


🔍 Testing Before PR

  1. Run lint checks

npm run lint
  1. Run contract tests (Hardhat/Foundry)

npx hardhat test
  1. Run integration tests

npm run test:api

✅ Only open a PR if all tests pass.


📌 GitHub Issues & Discussions

  • Use Issues to report bugs or request features.

  • Use Discussions for proposals, design debates, and community ideas.

Last updated