7cc15cca92
Provide installation, security, contribution, licensing, and release guidance while removing user-specific service configuration.
1.8 KiB
1.8 KiB
Contributing to Pi Status Bridge
Reason for existence
Keep contributions reviewable and preserve the bridge's worktree isolation, local-only transport, and Pi-owned approval policy.
Before coding
- Create a focused branch; do not develop directly on
main. - Read
DESIGN.mdand the relevant document underspecs/. - State which boundary changes: bridge protocol, Pi RPC adapter, desktop UI, or Noctalia adapter.
- Add or update the narrowest test that proves the behavior.
Development workflow
npm --prefix ui ci
npm test
npm run check
Use Node.js 20+ and Rust/Tauri tooling for UI work. Keep generated directories untracked: ui/node_modules/, ui/dist/, ui/src-tauri/target/, and ui/src-tauri/gen/schemas/.
Required invariants
- Never expose a TCP listener in v1.
- Never route a request to a worktree other than the explicitly selected agent.
- Never let the bridge, desktop client, or Noctalia adapters decide an extension approval.
- Never commit runtime sockets, sessions, logs, build outputs, secrets, or agent artifacts.
Pull requests
- Use a Conventional Commit-style title, for example
fix(protocol): reject malformed frames. - Explain the user-visible behavior and the invariant protected.
- Include tests for the changed contract; include manual verification steps for desktop or Noctalia changes.
- Run
npm testandnpm run checkbefore requesting review. - Push the feature branch and merge through the forge workflow; do not directly push
main.
Documentation changes
Update the closest authoritative document when behavior, setup, security boundaries, or test coverage changes. Keep the root README concise and link detailed design material rather than duplicating it.
Verification
npm test && npm run check