Skip to content

Latest commit

 

History

History
37 lines (24 loc) · 2.94 KB

File metadata and controls

37 lines (24 loc) · 2.94 KB

Contributing to Freenet

We welcome contributions to Freenet! Here's what you need to know.

Before You Start

  • Claim the issue first. Comment on the issue you want to work on and wait for a maintainer to confirm before starting work. This prevents duplicate effort and ensures the approach is aligned with project direction.
  • Read the codebase conventions. See AGENTS.md for project structure, coding standards, and testing requirements.
  • Ask questions. If something is unclear, ask on the issue or in our Matrix channel before writing code.

Quality Standards

  • PR titles must follow Conventional Commits format (feat:, fix:, docs:, etc.) — CI enforces this.
  • PRs should explain why, not just what. See AGENTS.md for description structure.
  • Bug fixes should include a regression test that fails without the fix.
  • Run cargo fmt, cargo clippy --all-targets, and cargo test before pushing.
  • Keep PRs focused — one logical change per PR.

AI-Assisted Contributions

We use AI tools extensively in our own development and welcome AI-assisted contributions, but we hold them to the same quality bar as our internal work. We publish the agent skills our team uses — specifically:

  • pr-creation — covers the full PR lifecycle: testing, code simplification, and self-review before submission.
  • pr-review — four-perspective code review (code-first, testing, skeptical, big-picture).

If you're using AI to generate PRs, please use these skills or equivalent tooling that understands the Freenet codebase. PRs that appear AI-generated without adequate quality control (missing tests, unrelated changes bundled together, hardcoded paths, stacked commits across PRs, etc.) will be closed.

AI tooling requirements: Freenet's codebase involves async networking, cryptographic protocols, and subtle concurrency — areas where AI models vary dramatically in capability. Our team uses frontier models with project-specific context and still catches significant issues in self-review.

We require the use of a frontier-class model (as of early 2026: Claude Opus 4, GPT-5, Gemini 3, etc.) with an agentic coding tool. Smaller and local models consistently produce plausible-looking code that introduces subtle bugs in this codebase. PRs that show signs of inadequate AI tooling will be closed.

Getting Help