Bor is open source under the LGPL-3.0 license. Contributions are welcome.
Development Setup
Clone the repository
git clone https://github.com/VuteTech/bor.git cd borInstall dependencies
make install-depsThis installs
protoc-gen-go,golangci-lint, and other build tools.Start the database
make devRun the server
make run-serverRun the frontend in watch mode
cd server/web/frontend npm install npm run dev
Project Structure
bor/
├── server/ # Go backend + PatternFly frontend
│ ├── cmd/server/ # Entry point
│ ├── internal/ # API, services, database, gRPC, PKI, RBAC
│ ├── pkg/grpc/ # Generated protobuf code
│ └── web/frontend/ # React + PatternFly UI
├── agent/ # Go agent daemon
│ ├── cmd/agent/ # Entry point
│ └── internal/ # Config, gRPC client, policy enforcement
├── proto/ # Protocol Buffer definitions
└── docs/ # Documentation
Code Style
- Go: standard
gofmtformatting. Runmake lintbefore submitting. - Frontend: TypeScript with React 18 and PatternFly 5. Functional components with hooks.
- Commits: use conventional commit messages (
feat:,fix:,docs:, etc.).
Testing
make test # All tests
make test-server # Server tests only
make test-agent # Agent tests only
make coverage # HTML coverage report
Run a specific test:
cd server && go test -v -run TestFunctionName ./internal/services/...
Pull Request Process
- Create a feature branch from
master. - Make your changes with clear, focused commits.
- Ensure
make lintandmake testpass. - Open a pull request with a description of what changed and why.
- Address review feedback.
Reporting Issues
File issues on GitHub Issues. Include:
- Steps to reproduce
- Expected vs. actual behavior
- Server/agent version and OS details