Thanks for the interest. SoA-Web is GPL-3.0 and welcomes patches.
main is protected — direct pushes are blocked, force-pushes and deletions are off. All changes land via PR.
- Fork the repo (or create a branch if you have write access).
- Branch from
main:git checkout -b feat/short-description. - Commit in focused chunks. Follow the existing message style:
feat(area): …— new behaviorfix(area): …— bug fixrefactor(area): …— no behavior change
- Run the checks before opening the PR:
npm test node scripts/smoke-ws.js # requires a running server
- Open a PR against
main. Resolve any conversation threads before merging.
Keep PRs small and single-purpose. If you're touching the server and the SPA in one change, say why in the description — otherwise split it.
The items listed under "What's deliberately missing" in README.md (voice input, Electron-era native features, auto-updater) are intentional. Proposals to add them back should open an issue first.
If you find something security-relevant (auth bypass, PTY escape, CORS gap), don't open a public issue. Email the maintainer or open a private security advisory on GitHub.