Thank you for your interest in contributing to MacroFilters! This package aims to provide high-performance, robust macroeconomic trend extraction in R. We welcome contributions from the community, whether they are bug reports, feature requests, or code contributions.
1. Reporting Bugs
If you find a bug, please open an issue on GitHub. To help us understand and fix the problem quickly, please provide: * A brief description of the issue. * A minimal reproducible example (reprex) using the reprex package if possible. * Your R session information (run sessionInfo()).
2. Suggesting Enhancements
We are always looking for ways to improve the MacroBoost Hybrid (MBH) filter. If you have an idea for a new feature or a performance enhancement, please open an issue to discuss it before writing any code. This ensures your effort aligns with the package’s roadmap.
3. Contributing Code (Pull Requests)
If you’d like to contribute directly to the codebase, please follow these steps:
- Fork the repository and clone it locally.
-
Branch: Create a new branch for your feature or bugfix (
git checkout -b feature/your-feature-name). -
Develop: Make your changes.
-
Performance:
MacroFiltersrelies heavily ondata.tablefor speed and memory efficiency. Please ensure new data manipulations followdata.tablebest practices (e.g., update by reference when appropriate). -
Style: Try to follow the standard R tidyverse style guide for code readability, even though we use
data.tableunder the hood.
-
Performance:
-
Document: If you add or modify a function, update the
roxygen2comments above the function. Rundevtools::document()to update theNAMESPACEand.Rdfiles. -
Test: Add unit tests for your new feature in the
tests/testthat/directory. Rundevtools::test()to ensure all tests (old and new) pass. -
Check: Run
devtools::check()locally to ensure there are no warnings, errors, or notes. - Commit & Push: Commit your changes with a clear, descriptive message and push them to your fork.
-
Pull Request: Open a Pull Request against the
mainbranch of this repository. Link any relevant issues in the PR description.
