Ctrl K
ComunidadGuías…

CONTRIBUTING.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Contributing to Parley

Parley is early and the core is small on purpose. The best contributions right now are
sharp questions, adversarial tests, and a second opinion on the consensus protocol.

## Setup

```bash
python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"    # core is zero-dep; dev adds pytest + pynacl
.venv/bin/pytest -q                   # all tests must be green
.venv/bin/python examples/meeting.py  # local demo
.venv/bin/python examples/run_env.py  # bots as separate processes over HTTP
```

## Ground rules

- **Tests first.** Every behavior change ships with a test. The whole point of Parley is
  that its guarantees are *checkable*, a change without a test can't demonstrate its guarantee.
- **Keep the core zero-dependency.** `parley/` (preferences, agent, consensus, transcript)
  must import only the stdlib. Anything needing a library (crypto, HTTP clients, LLMs) goes
  behind an optional extra and lives in a submodule (see `parley/net/`).
- **Never weaken a security property silently.** If a change touches signing, auth, rate
  limiting, or the red-line guard, add/extend a `tests/test_redteam.py` case proving the
  property still holds.
- **Small, readable diffs.** Match the surrounding style; comment only to state a constraint
  the code can't show.

## Good first issues

Scoped, single-file tasks are tracked under the [`good first issue`](https://github.com/5uper0/parley/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
label — typing passes, edge-case tests, new decision recipes. Comment on one to claim it.

Larger tracks (adversarial tests against the consensus protocol, an A2A-native transport
adapter, natural-language → `PreferenceSheet` elicitation) are on the roadmap rather than
ready to pick up — open an issue to discuss before starting one.

## Scope

Parley is the *consensus + trust* layer, not a transport or an agent framework. Transport
should ride existing standards (A2A). Please open an issue to discuss before large additions.