61 lines
1.5 KiB
Markdown
61 lines
1.5 KiB
Markdown
# Contributing
|
|
|
|
## Development Setup
|
|
|
|
```sh
|
|
python3 -m venv .venv
|
|
. .venv/bin/activate
|
|
python -m pip install -r requirements-dev.txt
|
|
```
|
|
|
|
Run:
|
|
|
|
```sh
|
|
PATH="$PWD/.venv/bin:$PATH" ./tools/check-local.sh
|
|
```
|
|
|
|
## Privacy
|
|
|
|
Use synthetic names, IDs, hosts, addresses, messages, and provider responses in
|
|
tests and documentation. Never contribute:
|
|
|
|
- populated config profiles or generated output;
|
|
- API keys, tokens, passwords, private keys, or signing keys;
|
|
- real SteamIDs, display names, person aliases, or group identifiers;
|
|
- OCR history, screenshots, debug payloads, incident archives, or SQLite;
|
|
- personal home paths, SSH aliases, hostnames, or network addresses.
|
|
|
|
Run `./tools/check-secrets.py` before every commit.
|
|
|
|
## Plugins
|
|
|
|
Use `tools/create-plugin.py`, declare the smallest capability set, and keep
|
|
registration static after startup. Plugins must return structured SDK plans and
|
|
must not access GUI, shell, environment, filesystem, raw sockets, raw ledger,
|
|
or unrestricted network.
|
|
|
|
Any command change must update the ownership inventory and pass:
|
|
|
|
```sh
|
|
./tools/sync-local-extensions.py --check
|
|
./tools/check-packages.sh
|
|
```
|
|
|
|
## Tests
|
|
|
|
Add focused tests proportional to risk. Changes to GUI sending must cover
|
|
primary send, fallback, and visual confirmation. Changes to routing or shared
|
|
contracts require parity and restart coverage.
|
|
|
|
## Pull Requests
|
|
|
|
Describe:
|
|
|
|
- user-visible behavior;
|
|
- trust boundaries and capabilities touched;
|
|
- config/schema changes;
|
|
- migration and rollback behavior;
|
|
- tests run.
|
|
|
|
Do not include generated artifacts or unrelated formatting churn.
|