This guide covers IDE recommendations, required tools, editor plugins, and environment configuration for working with OpenFrame OSS Tenant.
IntelliJ IDEA is the recommended IDE for working with the Spring Boot microservices. The Community Edition is free and sufficient for most development tasks.
Required Plugins:
- Lombok Plugin — The codebase uses Project Lombok extensively (
@Data,@Builder,@Slf4j, etc.) - Spring Boot — Spring support is built into IntelliJ IDEA Ultimate; Community Edition users should install the Spring Assistant plugin
Recommended Plugins:
- GraphQL — For editing
.graphqlsschema files - Kubernetes — For editing manifests in the
manifests/directory - MongoDB — For browsing MongoDB collections during development
- Checkstyle-IDEA — For code style enforcement
Import the Project:
# Open IntelliJ IDEA and import as Maven project
# File → Open → select the root pom.xmlIntelliJ will automatically detect all Maven modules.
For working on the Rust component (clients/openframe-client):
- RustRover (JetBrains) — Dedicated Rust IDE, excellent for large Rust projects
- VS Code with the
rust-analyzerextension
VS Code Extensions for Rust:
rust-analyzer— Language server for RustEven Better TOML— For editingCargo.tomlfiles
# Using SDKMAN (recommended for version management)
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 21.0.3-ms
# Verify
java -version# With SDKMAN
sdk install maven
# Or download from https://maven.apache.org/download.cgi
mvn -version# Install rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
# Verify
rustc --version
cargo --versionConfigure these variables in your shell profile (~/.bashrc, ~/.zshrc, etc.) or in your IDE's run configurations.
# Enable development mode (local directories, relaxed TLS)
export OPENFRAME_DEV_MODE=1These are typically set in each service's application-local.yml or passed as JVM arguments in your IDE:
# MongoDB
export SPRING_DATA_MONGODB_URI="mongodb://localhost:27017/openframe"
# Kafka
export SPRING_KAFKA_BOOTSTRAP_SERVERS="localhost:9092"
# Redis
export SPRING_DATA_REDIS_HOST="localhost"
export SPRING_DATA_REDIS_PORT="6379"
# NATS (Client Service)
export NATS_URL="nats://localhost:4222"To set environment variables for a Spring Boot run configuration in IntelliJ:
- Open Run → Edit Configurations
- Select the Spring Boot application
- Click Modify options → Environment variables
- Add the required variables
The repository uses standard Git with no special hooks pre-configured. Recommended settings:
# Set your identity
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
# Recommended: use main as the default branch name
git config --global init.defaultBranch main| Tool | Status |
|---|---|
JDK 21 installed and JAVA_HOME set |
✅ / ❌ |
| Maven 3.9+ installed | ✅ / ❌ |
| Rust stable toolchain installed | ✅ / ❌ |
| IDE configured with recommended plugins | ✅ / ❌ |