File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # Contributing to Baudbot
2+
3+ ## Setup
4+
5+ ``` bash
6+ git clone https://github.com/modem-dev/baudbot.git ~ /baudbot
7+ npm install
8+ ```
9+
10+ ## Running Tests
11+
12+ ``` bash
13+ # All tests (207 across 5 suites)
14+ bin/test.sh
15+
16+ # JS/TS only
17+ bin/test.sh js
18+
19+ # Shell only
20+ bin/test.sh shell
21+
22+ # Lint + typecheck
23+ npm run lint && npm run typecheck
24+ ```
25+
26+ ## Branches and PRs
27+
28+ - Don't commit directly to ` main ` . Open a PR from a feature branch.
29+ - Branch names: ` <your-gh-username>/<description> ` (e.g. ` benvinegar/fix-firewall-rules ` )
30+ - Commit messages: prefix with area. Examples: ` security: add rate limiting ` , ` bridge: fix reconnect ` , ` docs: update README `
31+ - One branch per change. Keep PRs focused.
32+
33+ ## Code Conventions
34+
35+ - Scripts must work on both Ubuntu and Arch Linux. Use POSIX tools, ` grep -E ` (not ` grep -P ` ), and avoid distro-specific package manager calls.
36+ - Security functions must be pure, testable modules with no side effects or env vars at module scope.
37+ - All security code needs tests before merging.
38+ - New integrations get their own subdirectory (e.g. ` discord-bridge/ ` ).
39+
40+ ## Security Changes
41+
42+ If your change touches security code (` tool-guard.ts ` , ` security.mjs ` , firewall scripts, etc.):
43+
44+ 1 . Add or update tests.
45+ 2 . Run ` bin/security-audit.sh --deep ` and confirm it passes.
46+ 3 . Note the security implications in your PR description.
47+
48+ See [ SECURITY.md] ( SECURITY.md ) for the threat model and architecture.
49+
50+ ## Reporting Bugs
51+
52+ Open a GitHub issue. Include:
53+
54+ - What you did
55+ - What you expected
56+ - What happened instead
57+ - OS and version (Ubuntu/Arch/other)
58+
59+ ## Security Vulnerabilities
60+
61+ Do ** not** open a public issue for security vulnerabilities. See [ SECURITY.md] ( SECURITY.md ) for reporting instructions.
You can’t perform that action at this time.
0 commit comments