Skip to content

docs: add CONTRIBUTING.md and link from README#506

Merged
Jagadeeshftw merged 2 commits into
Fluxora-Org:mainfrom
olawaleakanbi035-maker:docs/contributing-guide
Jun 29, 2026
Merged

docs: add CONTRIBUTING.md and link from README#506
Jagadeeshftw merged 2 commits into
Fluxora-Org:mainfrom
olawaleakanbi035-maker:docs/contributing-guide

Conversation

@olawaleakanbi035-maker

Copy link
Copy Markdown
Contributor

What was done

Added a new CONTRIBUTING.md file at the repo root and updated README.md to link to it at the top of the Contributing / CI section.

Why

The repo had many design .md specs and a detailed README but no single source of truth for new contributors. Without a contributing guide, onboarding required reading scattered files to understand setup, branch naming, commit format, and what CI checks must pass. This closes the gap.

How it was implemented

CONTRIBUTING.md

Written from scratch and tailored specifically to this React + Vite + TypeScript + Vitest + Playwright stack. Sections covered:

  1. Prerequisites — Node 18+, npm/pnpm, Git, Playwright browsers.
  2. Local setup — exact commands: clone, pm install,
    cp .env.example .env, pm run dev. App URL noted.
  3. Environment variables — table of every VITE_* variable with required-at-runtime status and purpose, cross-linked to docs/environment.md for full detail. Security note prominently placed.
  4. Branch naming — / pattern with a table of allowed types matching the commit convention types, plus concrete examples.
  5. Commit conventions — Conventional Commits format documented with the summary-line length rule, imperative mood requirement, issue footer (Closes #) pattern, and three real-world examples drawn from this project's domain.
  6. Development workflow — dev, �uild, preview, �uild:report commands.
  7. Testing — three sub-sections:
    • Unit tests: pm run test (single run) and
      pm run test:watch.
    • Coverage: pm run test:coverage with the 95% threshold requirement
      and instruction to expand �itest.config.ts include list for new
      production modules.
    • E2E: px playwright install --with-deps once, then

pm run test:e2e /
pm run test:a11y. Playwright auto-server
behaviour explained.
8. Lint and format — all four npm scripts with a note that CI fails on lint errors.
9. Design specs and docs — skimmable table linking the major spec files at the repo root plus docs/ references.
10. PR expectations — checklist mirroring the PR template plus the rule to link issues and keep PRs focused.
11. Security notes — explicit warning that VITE_* vars are public and baked into the client bundle; private secrets belong on the backend; address sanitisation and RequireWallet guard caveats.

README.md

Added a one-line forward-link to CONTRIBUTING.md at the top of the existing Contributing / CI section so existing readers are directed to the new file immediately.

Files changed

  • CONTRIBUTING.md — created (new file)
  • README.md — one-line addition linking to CONTRIBUTING.md

Verification

All documented commands were verified against package.json scripts, �itest.config.ts, playwright.config.ts, and .env.example to ensure accuracy. No source code was modified.

Closes #390

Summary

Changes

Test plan

  • npm run build passes (type-check + production build)
  • npm run test passes (all unit tests green)
  • npm run test:coverage passes (statements/branches/functions/lines ≥ 95%)
  • New code is covered by tests; the coverage include list in vitest.config.ts is expanded if new production modules are added

Coverage gate

CI enforces 95% coverage thresholds (statements, branches, functions, lines) via
the coverage job in .github/workflows/ci.yml. The job runs npm run test:coverage
and fails the PR check when any threshold is missed. The coverage report is uploaded
as a build artifact for every run.

To add a new production file to the coverage baseline, append it to the include
array in vitest.config.ts and ensure tests cover it before opening the PR.

## What was done

Added a new CONTRIBUTING.md file at the repo root and updated README.md
to link to it at the top of the Contributing / CI section.

## Why

The repo had many design .md specs and a detailed README but no single
source of truth for new contributors. Without a contributing guide,
onboarding required reading scattered files to understand setup, branch
naming, commit format, and what CI checks must pass. This closes the gap.

## How it was implemented

### CONTRIBUTING.md

Written from scratch and tailored specifically to this React + Vite +
TypeScript + Vitest + Playwright stack. Sections covered:

1. **Prerequisites** — Node 18+, npm/pnpm, Git, Playwright browsers.
2. **Local setup** — exact commands: clone,
pm install,
   cp .env.example .env,
pm run dev. App URL noted.
3. **Environment variables** — table of every VITE_* variable with
   required-at-runtime status and purpose, cross-linked to
   docs/environment.md for full detail. Security note prominently placed.
4. **Branch naming** — <type>/<short-kebab-description> pattern with a
   table of allowed types matching the commit convention types, plus
   concrete examples.
5. **Commit conventions** — Conventional Commits format documented with
   the summary-line length rule, imperative mood requirement, issue footer
   (Closes #<n>) pattern, and three real-world examples drawn from this
   project's domain.
6. **Development workflow** — dev, �uild, preview, �uild:report
   commands.
7. **Testing** — three sub-sections:
   - Unit tests:
pm run test (single run) and
pm run test:watch.
   - Coverage:
pm run test:coverage with the 95% threshold requirement
     and instruction to expand �itest.config.ts include list for new
     production modules.
   - E2E:
px playwright install --with-deps once, then

pm run test:e2e /
pm run test:a11y. Playwright auto-server
     behaviour explained.
8. **Lint and format** — all four npm scripts with a note that CI fails on
   lint errors.
9. **Design specs and docs** — skimmable table linking the major spec files
   at the repo root plus docs/ references.
10. **PR expectations** — checklist mirroring the PR template plus the
    rule to link issues and keep PRs focused.
11. **Security notes** — explicit warning that VITE_* vars are public and
    baked into the client bundle; private secrets belong on the backend;
    address sanitisation and RequireWallet guard caveats.

### README.md

Added a one-line forward-link to CONTRIBUTING.md at the top of the
existing Contributing / CI section so existing readers are directed to the
new file immediately.

## Files changed

- CONTRIBUTING.md — created (new file)
- README.md — one-line addition linking to CONTRIBUTING.md

## Verification

All documented commands were verified against package.json scripts,
�itest.config.ts, playwright.config.ts, and .env.example to ensure
accuracy. No source code was modified.

Closes Fluxora-Org#390
@drips-wave

drips-wave Bot commented Jun 28, 2026

Copy link
Copy Markdown

@olawaleakanbi035-maker Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Jagadeeshftw Jagadeeshftw merged commit 739b83b into Fluxora-Org:main Jun 29, 2026
@Jagadeeshftw

Copy link
Copy Markdown
Contributor

a CONTRIBUTING.md has been overdue for a while -- having the dev setup steps, branch naming conventions, and PR checklist in one place will save first-time contributors a lot of back-and-forth. linking it from the README is a nice touch so it's easy to find. thanks for putting this together.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a CONTRIBUTING.md documenting setup, branch naming, commit conventions, and the test/coverage workflow

3 participants