Skip to content

Contributing

Contributions are welcome! AuthFort is a monorepo with three packages — pick the one that matches your expertise.

  • Python 3.11+
  • Node.js 18+
  • uv (Python package manager)
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 ..
# 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.

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)
  • 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

Follow Conventional Commits:

PrefixUse
feat:New feature
fix:Bug fix
docs:Documentation
refactor:Code restructure
test:Tests
chore:Maintenance
  1. One feature or fix per PR
  2. Include tests for new functionality
  3. All existing tests must pass
  4. Update documentation if the public API changes