Configure these secrets in your GitHub repository settings (Settings > Secrets and variables > Actions).
For publishing the JavaScript SDK to NPM.
- Go to https://www.npmjs.com/settings/~/tokens
- Click "Generate New Token"
- Select "Automation" type
- Copy the token
- Add as
NPM_TOKENsecret in GitHub
For publishing the Python SDK to PyPI.
- Go to https://pypi.org/manage/account/
- Click "Add API token"
- Set scope to "Entire account" or specific project
- Copy the token (starts with
pypi-) - Add as
PYPI_TOKENsecret in GitHub
For pushing Docker images to Docker Hub.
- Go to https://hub.docker.com/settings/security
- Click "New Access Token"
- Give it a description and appropriate permissions
- Copy the token
- Add as
DOCKERHUB_TOKENsecret in GitHub - Add your username as
DOCKERHUB_USERNAME
Copy .env.example to .env and fill in the values:
cp .env.example .envREDIS_URL=redis://localhost:6379/0
# API Authentication
RELIAPI_API_KEY=your-api-key
# LLM Providers
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
MISTRAL_API_KEY=...
# RapidAPI
RAPIDAPI_API_KEY=...
RAPIDAPI_WEBHOOK_SECRET=...
- Never commit secrets - Always use environment variables or secrets management
- Rotate tokens regularly - Set calendar reminders to rotate tokens
- Use minimal permissions - Only grant the permissions needed
- Monitor usage - Check NPM/PyPI/Docker Hub for unauthorized publishes
- Review before release - Always verify no secrets in the release
| Token | Required Permissions |
|---|---|
| NPM_TOKEN | Automation (publish packages) |
| PYPI_TOKEN | Upload packages |
| DOCKERHUB_TOKEN | Read, Write, Delete (repository access) |
- Check token hasn't expired
- Verify token has correct permissions
- Ensure secret name matches workflow reference
- Version already published (cannot overwrite)
- Increment version and try again
- Verify repository name in GitHub workflow settings is correct