Skip to content

Write CONTRIBUTING.md with Dev Environment Setup, Code Style Guide, and PR Workflow #292

Description

@vjuliaife

Description:
There is no CONTRIBUTING.md in the TariffShield repository, which means every new contributor must ask teammates for setup instructions or discover conventions by trial and error during code review. A comprehensive CONTRIBUTING.md is needed that covers all prerequisites, the complete local development setup sequence, code style requirements enforced by CI, the pull request workflow including required reviewers and checks, how to run each test suite, and the commit message format used for semantic release. This document is the first file a new external or internal contributor reads and must be accurate enough to get a fresh machine to a running state independently.

Acceptance Criteria:

  • Prerequisites section lists all required tools with exact minimum versions: Node.js 20+, npm 10+, Rust stable (specify minimum version), wasm32-unknown-unknown target, Stellar CLI, Docker Desktop (for Postgres), and PostgreSQL client (psql)
  • Setup steps section provides numbered commands from git clone through docker-compose up -d, npm install, running migrations, and verifying GET /health returns 200
  • Code style section documents TypeScript conventions (strict mode, no any, import order), linting tools (eslint, prettier), and Rust conventions (clippy zero warnings, rustfmt) — with the exact commands to run them locally
  • PR workflow section explains branch naming convention (feat/, fix/, docs/), required CI checks that must pass before merge, minimum reviewer count, and how to request a review
  • Testing section explains how to run each suite: cargo test for contract unit tests, npm test in packages/sdk for SDK tests, npm test in apps/api for API integration tests, and npx playwright test for E2E tests
  • Commit message format section specifies the Conventional Commits pattern (feat:, fix:, docs:, chore:) and links to the semantic release configuration
  • A "Getting Help" section provides links to relevant documentation files (ARCHITECTURE.md, docs/local-dev.md) and the preferred channel for contributor questions

Relevant Files:

  • CONTRIBUTING.md — documentation file to create at repository root
  • apps/api/package.json — for test and lint script reference
  • apps/web/package.json — for test and lint script reference
  • packages/sdk/package.json — for test script reference
  • contracts/tariff-shield/Cargo.toml — for Rust toolchain reference
  • .github/workflows/ — for CI check names to reference in PR workflow section

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave programdocsAuto-created by repotool publish-folderdxDeveloper experience / docs / naming

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions