Thank you for your interest in contributing to the Remote Feature Control (RFC) project!
- Fork the repository on GitHub
- Clone your fork locally
- Create a feature branch from
develop:git checkout -b feature/JIRA-XXXX-description develop
- Build and verify your changes:
autoreconf -i ./configure --enable-gtestapp make && make check - Commit with a clear message referencing the JIRA ticket
- Push your branch and open a Pull Request against
develop
| Type | Pattern | Example |
|---|---|---|
| Feature | feature/JIRA-XXXX-short-desc |
feature/RDKC-15902-camera-support |
| Bugfix | bugfix/JIRA-XXXX-short-desc |
bugfix/DELIA-69554-cert-retry |
| Release | release/X.Y.Z |
release/1.2.3 |
- C++ Standard: C++11 minimum
- Platform guards: Use
#ifdef RDKC,#ifdef RDKB_SUPPORT, or#ifndefblocks for platform-specific code - Comments: Use Doxygen-style documentation (
/** @brief ... */,@param,@return) - Logging: Use
RDK_LOG_*macros with appropriate log levels - Security: Use
v_secure_system()/v_secure_popen()instead of rawsystem()/popen()
- Code compiles for all target platforms (STB, RDKB, RDKC)
- Unit tests pass (
make check) - New functionality includes corresponding tests
- No Coverity or static analysis warnings introduced
- Platform-specific code is properly guarded with
#ifdef - Documentation updated if architecture changes were made
# Unit tests (L1)
./run_ut.sh
# Integration tests (L2)
./run_l2.sh
# Reboot trigger tests
./run_l2_reboot_trigger.shBefore RDK accepts your code into the project you must sign the RDK Contributor License Agreement (CLA).
For architecture details, diagrams, and data flow documentation, see the documentation/ folder:
- Architecture — Component architecture, class hierarchy, build system
- Sequence Diagrams — End-to-end execution flows
- Data Processing Flow — Parameter lifecycle and storage strategies