orator
Version:
Unopinionated API http server abstraction - REST or IPC
51 lines (30 loc) • 2.47 kB
Markdown
# Contributing to Retold
We welcome contributions to Retold and its modules. This guide covers the expectations and process for contributing.
## Code of Conduct
The Retold community values **empathy**, **equity**, **kindness**, and **thoughtfulness**. We expect all participants to treat each other with respect, assume good intent, and engage constructively. These values apply to all interactions: pull requests, issues, discussions, and code review.
## How to Contribute
### Pull Requests
Pull requests are the preferred method for contributing changes. To submit one:
1. Fork the module repository you want to change
2. Create a branch for your work
3. Make your changes, following the code style of the module you are editing
4. Ensure your changes have test coverage (see below)
5. Open a pull request against the module's main branch
**Submitting a pull request does not guarantee it will be accepted.** Maintainers review contributions for fit, quality, and alignment with the project's direction. A PR may be declined, or you may be asked to revise it. This is normal and not a reflection on the quality of your effort.
### Reporting Issues
If you find a bug or have a feature suggestion, open an issue on the relevant module's repository. Include enough detail to reproduce the problem or understand the proposal.
## Test Coverage
Every commit must include test coverage for the changes it introduces. Retold modules use Mocha in TDD style. Before submitting:
- **Write tests** for any new functionality or bug fixes
- **Run the existing test suite** with `npm test` and confirm all tests pass
- **Check coverage** with `npm run coverage` if the module supports it
Pull requests that break existing tests or lack coverage for new code will not be merged.
## Code Style
Follow the conventions of the module you are working in. The general Retold style is:
- **Tabs** for indentation, never spaces
- **Plain JavaScript** only (no TypeScript)
- **Allman-style braces** (opening brace on its own line)
- **Variable naming:** `pVariable` for parameters, `tmpVariable` for temporaries, `libSomething` for imports
When in doubt, match what the surrounding code does.
## Repository Structure
Each module is its own git repository. The [retold](https://github.com/stevenvelozo/retold) repository tracks module organization but does not contain module source code. Direct your pull request to the specific module repository where your change belongs.