Contributing
Contributions are welcome! AuthFort is a monorepo with three packages — pick the one that matches your expertise.
Development Setup
Section titled “Development Setup”Prerequisites
Section titled “Prerequisites”- Python 3.11+
- Node.js 18+
- uv (Python package manager)
Clone and Install
Section titled “Clone and Install”git clone https://github.com/bhagyajitjagdev/authfort.git
cd authfort
# Server
cd server && uv sync --dev && cd ..
# Service
cd service && uv sync --dev && cd ..
# Client
cd client && npm install && cd .. git clone https://github.com/bhagyajitjagdev/authfort.git
cd authfort
# Server
cd server && uv sync --dev && cd ..
# Service
cd service && uv sync --dev && cd ..
# Client
cd client && npm install && cd .. Running Tests
Section titled “Running Tests”# Server (207 tests)
cd server && uv run pytest tests/ -v
# Service (28 tests)
cd service && uv run pytest tests/ -v
# Client (42 tests)
cd client && npm test # Server (207 tests)
cd server && uv run pytest tests/ -v
# Service (28 tests)
cd service && uv run pytest tests/ -v
# Client (42 tests)
cd client && npm test Server tests use SQLite by default — no database setup needed.
Project Structure
Section titled “Project Structure”authfort/
├── server/ # authfort — Python auth server
│ ├── src/authfort/
│ └── tests/
├── service/ # authfort-service — Python JWT verifier
│ ├── src/authfort_service/
│ └── tests/
├── client/ # authfort-client — TypeScript SDK
│ ├── src/
│ └── tests/
└── docs-site/ # Documentation (this site) authfort/
├── server/ # authfort — Python auth server
│ ├── src/authfort/
│ └── tests/
├── service/ # authfort-service — Python JWT verifier
│ ├── src/authfort_service/
│ └── tests/
├── client/ # authfort-client — TypeScript SDK
│ ├── src/
│ └── tests/
└── docs-site/ # Documentation (this site) Branch Strategy
Section titled “Branch Strategy”main— stable, production-ready. Never push directly.- Feature branches — all work happens here, merged via PR.
git checkout -b feat/my-feature
# Make changes
git add -A
git commit -m "feat: add my feature"
git push -u origin feat/my-feature
# Open PR to main git checkout -b feat/my-feature
# Make changes
git add -A
git commit -m "feat: add my feature"
git push -u origin feat/my-feature
# Open PR to main Commit Messages
Section titled “Commit Messages”Follow Conventional Commits:
| Prefix | Use |
|---|---|
feat: | New feature |
fix: | Bug fix |
docs: | Documentation |
refactor: | Code restructure |
test: | Tests |
chore: | Maintenance |
Pull Request Guidelines
Section titled “Pull Request Guidelines”- One feature or fix per PR
- Include tests for new functionality
- All existing tests must pass
- Update documentation if the public API changes
Reporting Issues
Section titled “Reporting Issues”- Bug reports — Open an issue
- Feature requests — Open an issue