Contributing to Upblit
Upblit is open source. Contributions of all kinds are welcome — bug fixes, new features, documentation improvements, and SDK implementations.
Repository Structure
Upblit/
├── backend/ ← Spring Boot API (Java 21)
├── frontend/ ← Next.js dashboard (TypeScript)
├── email/ ← Email microservice (Node.js)
├── sdk/ ← SDK stubs (not yet implemented)
├── UpblitCLI/ ← DeployX CLI (Go)
└── docs/ ← This documentation site
SDK/
├── Express-sdk/ ← Express SDK (Node.js) — production
├── Go-sdk/ ← Go SDK — production
└── Python-sdk/ ← Python SDK — productionGetting Started
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment — see Installation
- Create a feature branch:
git checkout -b feat/your-feature - Make your changes
- Run tests and linting
- Push and open a pull request
Coding Standards
Before contributing, read the relevant standards:
- Coding Guidelines — language-specific conventions
- Architecture Rules — invariants you must not break
Areas That Need Help
| Area | What’s Needed |
|---|---|
| Java SDK | Full implementation in Upblit/sdk/java-sdk/ |
| React SDK | Full implementation in Upblit/sdk/react-sdk/ |
| npm SDK | Generic Node.js SDK in Upblit/sdk/npm-sdk/ |
| CLI commands | deployx live, deployx deploy, deployx logs, deployx rollback |
| CI/CD pipeline | GitHub Actions workflows for build, test, deploy |
| Docker Compose | Local full-stack development setup |
| MongoDB indexes | Add indexes and TTL to telemetry collections |
| RBAC | Admin/member roles within organizations |
| Metrics SDK | Metrics emitter for all three SDKs |
Pull Request Guidelines
- Keep PRs focused — one feature or fix per PR
- Write a clear description of what changed and why
- Reference any related issues
- Ensure the build passes before requesting review
- Do not force-push to shared branches
Reporting Bugs
Open a GitHub issue with:
- A clear title
- Steps to reproduce
- Expected vs. actual behavior
- Environment details (OS, runtime version, SDK version)
Last updated on