netfishing/CONTRIBUTING.md

1.8 KiB

Contributing

NETfishing is currently developed through focused changes on the repository's active development branch. Coordinate scope with the project owner before starting substantial work.

Change discipline

  • Keep a change focused; avoid unrelated cleanup.
  • Inspect the working tree before editing and preserve existing work.
  • Do not change protocol, save, settings, identity, or portable-data versions as release-label housekeeping.
  • Treat the host as authoritative for catches, purchases, sales, jobs, mail, and other shared state.
  • Keep presentation-only systems out of save files and network messages.
  • Store runtime assets under repository-owned paths; never reference a workstation sync or temporary directory.
  • Record the source and license of newly imported assets.
  • Do not commit .godot/, test data, logs, captures, or build outputs.

Before requesting review

git diff --check
scripts/run_validations.sh quick
git status --short

Choose additional focused tests from docs/TESTING.md. Changes involving networking should run the network suite and a real two-process check. Visual changes still require graphical review; headless tests are supporting evidence, not a replacement.

Commits

  • Stage audited paths explicitly.
  • Use a concise imperative subject that describes the outcome.
  • Do not mix generated build artifacts with source changes.
  • Do not rewrite published release tags.
  • Describe behavior, compatibility impact, validation, and asset provenance in the review or release record.

Style

Follow the conventions already present in the surrounding GDScript, scene, and resource files. Prefer typed values, named constants, shared resources, and small domain-specific services. Avoid duplicating protocol definitions or using display strings as persistent identifiers.