Contributing to StreamLine Labs
Thank you for your interest in contributing! This guide applies to all repositories under the StreamLine Labs organization.
🌟 First-Time Contributors
New to open source? Welcome! Here's how to get started:
Join our community : Discord · GitHub Discussions
Find a starter issue : Look for good first issue labels
Ask questions : Drop into #contributors on Discord — we're happy to help!
Good First Issues by Area
Area
Label
Typical Effort
Documentation fixes
good first issue docs
30 min – 2 hours
Test coverage gaps
good first issue testing
1 – 4 hours
CLI improvements
good first issue cli
2 – 8 hours
SDK enhancements
good first issue sdk
2 – 8 hours
Bug fixes
good first issue bug
2 – 16 hours
New features
help wanted
1 – 5 days
Fork the repository
Create a feature branch (git checkout -b feature/my-feature)
Make your changes
Run tests and linting
Commit your changes (git commit -m "Add my feature")
Push to your fork (git push origin feature/my-feature)
Open a Pull Request
💬 Community Channels
Channel
Purpose
Discord
Real-time chat, help, contributor coordination
GitHub Discussions
Feature proposals, design discussions, Q&A
Blog
Release notes, tutorials, architecture deep-dives
@streamlinelabs
Announcements, community highlights
Channel
Description
#general
Welcome, introductions, general discussion
#help
Get help with Streamline setup and usage
#contributors
Contributor coordination, PR reviews, pair programming
#showcase
Share what you've built with Streamline
#releases
Automated release notifications
#benchmarks
Performance discussion, benchmark results
Write clear commit messages
Add tests for new functionality
Update documentation if needed
Follow the existing code style in each repository
Language-Specific Guidelines
Repository
Language
Build
Test
streamline
Rust
cargo build
cargo test
streamline-operator
Rust
cargo build
cargo test
streamline-rust-sdk
Rust
cargo build
cargo test
terraform-provider-streamline
Go
go build ./...
go test ./...
streamline-go-sdk
Go
go build ./...
go test ./...
streamline-java-sdk
Java
mvn compile
mvn test
streamline-python-sdk
Python
pip install -e .
pytest
streamline-node-sdk
TypeScript
npm run build
npm test
streamline-dotnet-sdk
C#
dotnet build
dotnet test
streamline-kotlin-sdk
Kotlin
./gradlew build
./gradlew test
streamline-swift-sdk
Swift
swift build
swift test
streamline-wasm-sdk
Rust/WASM
wasm-pack build --target web
wasm-pack test --headless --chrome
streamline-deploy
YAML/Helm
helm lint ./helm/streamline
N/A
streamline-docs
TypeScript
npm run build
N/A
streamline-cloud
Rust
cargo build
cargo test
streamline-marketplace
Rust
cargo build
cargo test
streamline-vscode
TypeScript
npm run compile
npm test
streamline-desktop
Rust/Tauri
npm run tauri build
cargo test
Development Time Estimates
Task
Time
Command
First build (Lite edition)
~2-3 min
cargo build
First build (Full edition)
~5-8 min
cargo build --features full
Quick validation
~30 sec
make quick-check
Run Lite tests
~1-2 min
make test-lite
Run full test suite
~5-10 min
make test
Cross-SDK tests
~3-5 min
make test-cross-sdk
When to Use Which Test Command
During development : make quick-check (compile check only, ~30s)
Before committing : make test-lite (fast unit tests, ~1-2 min)
Before opening PR : make validate (full format + lint + test + docs)
Testing with all features : make test (comprehensive, ~5-10 min)
Use the Bug Report or Feature Request issue templates
Search existing issues before creating a new one
Include reproduction steps for bugs
All contributors are expected to follow our Code of Conduct .
By contributing, you agree that your contributions will be licensed under the Apache-2.0 License.