Contributing to AmberDB
Thank you for your interest in contributing to AmberDB! We appreciate bug reports, documentation improvements, feature suggestions, and code contributions.
Code of Conduct
Please be polite, respectful, and collaborative in all interactions within this project.
How to Report Bugs
When filing a bug report:
- Search existing GitHub Issues to ensure the issue hasn't been reported.
- Provide a minimal, reproducible Perl test case or script demonstrating the bug.
- Include your environment details:
- Operating System (Linux, macOS, Windows/Strawberry Perl)
- Perl version (
perl -v) - Berkeley DB /
DB_Fileversion - AmberDB version
How to Propose Features
- Open an issue on GitHub describing the feature, rationale, and sample API syntax.
- Discuss the design and compatibility implications before submitting large PRs.
Development & Testing Workflow
1. Clone Repository & Install Dependencies
git clone https://github.com/marufcetin/amberdb.git
cd amberdb
cpanm --installdeps .
2. Run Test Suite
Run the full test suite using prove:
prove -l t/
Or via MakeMaker:
perl Makefile.PL
make
make test
3. Coding Guidelines
- Perl Version: Maintain compatibility with Perl 5.16+.
- Indentation & Style: 4 spaces per indentation level. Avoid hard tabs in code.
- Documentation: If adding or changing methods, update POD documentation in the respective module and in
README.mdordocs/. - Tests: Add corresponding unit tests in
t/for any bug fix or new feature. Always useFile::Temp::tempdir(CLEANUP => 1)for temporary test databases.
Submitting Pull Requests
- Fork the repository on GitHub.
- Create a topic branch:
git checkout -b feature/my-new-feature. - Commit your changes with clear, descriptive commit messages.
- Ensure all tests pass:
prove -l t/. - Push to your branch and open a Pull Request against the
mainbranch.