Skip to content

Add CONTRIBUTING.md documenting setup, branch naming, commit conventions, and test workflow #558

Description

@Jagadeeshftw

📌 Description

The repo lacks a CONTRIBUTING.md file. Without one, contributors must infer branch naming conventions, commit message format (conventional commits), test commands, and how to run the Playwright e2e suite from scattered package.json scripts. Create CONTRIBUTING.md at the repo root covering all of these topics with runnable example commands.

💡 Why it matters: A clear contribution guide reduces onboarding friction and prevents inconsistent commit history and failing CI.

🧩 Requirements and context

  • Document prerequisite versions: Node.js, pnpm/npm, Playwright browsers.
  • Document the branch naming pattern: feat/, fix/, test/, refactor/, docs/.
  • Document conventional commit format with examples for feat, fix, test, refactor.
  • List the key npm scripts: dev, build, test, test:coverage, test:e2e, lint, format, size-check.
  • Explain the VITE_* environment variables and how to create .env.local.
  • Include a pull request checklist referencing the vitest coverage thresholds.

Non-functional requirements

  • Must be secure, tested, and documented.
  • Should be efficient and easy to review.

🛠️ Suggested execution

1. Fork the repo and create a branch

git checkout -b docs/contributing-guide

2. Implement changes

  • Write/modify the relevant source: CONTRIBUTING.md
  • Write comprehensive tests: no code changes; CI lint can validate Markdown format
  • Add documentation: the file itself is the deliverable
  • Validate security assumptions: do not include real API keys or wallet addresses in examples

3. Test and commit

  • Run tests:
npm run lint
  • Cover edge cases: document what to do when Playwright browser install fails, and how to skip e2e in unit-only PRs
  • Include test output and security notes in the PR description.

Example commit message

docs: add CONTRIBUTING.md with setup, branch naming, commit conventions, and test workflow

✅ Acceptance criteria

  • CONTRIBUTING.md exists at the repo root
  • All npm scripts are listed with one-line descriptions
  • Branch and commit naming conventions are documented with examples
  • Environment variable setup is explained with a .env.local example
  • PR checklist includes coverage threshold verification

🔒 Security notes

Do not include example .env values with real RPC URLs or contract IDs; use placeholder strings.

📋 Guidelines

  • Minimum 95% test coverage
  • Clear documentation
  • Timeframe: 96 hours

Metadata

Metadata

Assignees

Labels

GrantFox OSSGrantFox open-source programMaybe RewardedGrantFox: potentially rewarded contributionOfficial CampaignGrantFox official campaign issuedocumentationImprovements or additions to documentationfrontendgood-first-issueGood for newcomers

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions