AtAuth
1# Contributing to ATAuth
2
3## Development Setup
4
5```bash
6cd gateway
7npm install
8cp .env.example .env # Fill in required secrets
9npm run dev # Hot reload with tsx watch
10```
11
12### Verify Your Changes
13
14```bash
15npm run typecheck # Type checking
16npm run lint # ESLint
17npm run test:run # 394 tests across 22 files
18```
19
20### Client Libraries
21
22Rust (`src/`) and TypeScript (`ts/`) client libraries for token verification:
23
24```bash
25cargo test # Rust library
26cd ts && npm test # TypeScript library
27```
28
29## Code Style
30
31- TypeScript strict mode, ESLint rules enforced
32- Express 5 async error handling (`throw` pattern, no try/catch wrappers)
33- Tests live alongside source: `foo.ts` -> `foo.test.ts`
34- In-memory SQLite for test isolation
35
36## Pull Requests
37
381. One feature or fix per PR
392. Add tests for new functionality
403. All CI checks must pass (typecheck, lint, vitest)
41
42## Security
43
44Report vulnerabilities privately -- see [SECURITY.md](SECURITY.md).
45
46## License
47
48Contributions are licensed under MIT.