NestJS microservice for GitHub repository management and user invitations.
This service handles GitHub operations including:
- Creating team repositories
- Adding/removing users from repositories
- Managing repository permissions
- Deleting repositories
Install pnpm:
corepack enable && corepack prepare pnpm@latest --activateor
brew install pnpm-
Install dependencies:
pnpm install
-
Set up environment variables:
cp .env.example .env.local
Edit
.env.localwith your configuration (see Environment Variables below). -
Run development server:
pnpm start:dev
- Build:
pnpm build - Start:
pnpm start:prod
RABBITMQ_URL- RabbitMQ connection URL for message queueAPI_SECRET_ENCRYPTION_KEY- Key for decrypting encrypted secrets
This service runs as a NestJS microservice that listens to RabbitMQ events:
create_team_repository- Creates a new team repositoryadd_user_to_repository- Adds a user to a repositoryremove_user_from_repository- Removes a user from a repositoryremove_write_permissions- Changes user permissions to read-onlydelete_repository- Deletes a repository