CONTRIBUTING.md
Rama main · réplica de lectura del repositorio original.
# Contributing
Read **[AGENTS.md](AGENTS.md)** first — it is the maintained index of what this project is,
its rules, and its current state. The **[constitution](.specify/memory/constitution.md)** is
the source of truth and supersedes everything else.
## Non-negotiable rules (constitution)
1. **English everywhere** — code, comments, docs, commits, UI copy.
2. **Tests + docs are mandatory** — no feature/connector merges without automated tests
(unit + a contract test against a mocked fixture) and documentation.
3. **Connector isolation** — a new service is a package implementing the connector
interface; it must not require changes to the app, worker, queue, or data model.
4. **Secret custody minimalism** — secrets are encrypted at rest, never logged, never
echoed; decrypted only in memory during a job.
5. **Captcha is layered** (prevent → auto-solve → human fallback); **no VNC**.
6. **TOS transparency** — a service-specific warning + timestamped consent before automation.
## Workflow (Spec-Driven Development)
Features go through spec-kit: `constitution → specify → clarify → plan → tasks → implement`.
Every change traces to an approved spec under `specs/`.
## Keeping AGENTS.md in sync
Any change that alters a principle, key decision, architecture, or the spec-kit state MUST
update `AGENTS.md` in the same change (constitution governance rule).
## Local commands
```bash
corepack pnpm install
corepack pnpm test # all tests
corepack pnpm test:contract # connector contract tests
corepack pnpm test:integration
corepack pnpm lint
corepack pnpm build
```