Skip to content

🤝 Add contributor infrastructure: CONTRIBUTING.md, issue/PR templates, and GitHub Actions CI #8

Description

@llinsss

Summary

The repo has no contributor infrastructure: no CONTRIBUTING.md, no issue/PR templates, no CI, no linting. If we want outside contributors (which this issue backlog is for), the project needs guardrails so PRs arrive in reviewable shape and can't silently break the build.

What to add

1. CONTRIBUTING.md

  • How to run the app locally (npm install && npm start, Node 18+)
  • How to compile/test contracts (npx hardhat compile, npx hardhat test)
  • Branch/PR conventions and commit message expectations (recent history has commits like cvb, jki, sty — worth setting a bar)
  • Where to ask questions

2. .github/ templates

  • ISSUE_TEMPLATE/bug_report.yml — repro steps, expected/actual, browser/device (this is a kids' PWA, mobile matters)
  • ISSUE_TEMPLATE/feature_request.yml
  • PULL_REQUEST_TEMPLATE.md — what/why, how tested, screenshots for UI changes

3. GitHub Actions CI (.github/workflows/ci.yml) — on every PR:

  • npm ci
  • npx hardhat compile (catches Solidity breakage)
  • npx hardhat test (once the contract test suite exists — see the testing issue; wire it in even if the suite starts empty)
  • ESLint on the JS files (add a minimal eslint.config.js; the codebase currently has no linting at all)
  • Optional: a link-checker for markdown docs

4. Labels — seed the tracker with good first issue, security, smart-contracts, frontend, docs so the backlog is navigable.

Notes for the implementer

  • Keep CI fast (< 3 min) and free-tier friendly — single job, Node 18, npm cache
  • ESLint will flag a lot in game.js on first run; start with --max-warnings high or lint only changed files, then ratchet down as the refactor issue lands
  • CONTRIBUTING.md should link to the beginner-friendly issues

Acceptance criteria

  • Opening a PR triggers CI; a Solidity compile error or lint error fails the check
  • New issues open with a structured template
  • CONTRIBUTING.md gets a newcomer from clone to running game without reading any other doc

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26ciContinuous integration and toolingdocumentationImprovements or additions to documentationgood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions