Contributing to TelcoAPI¶
We love your input! We want to make contributing to TelcoAPI as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
Development Process¶
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
- Fork the repo and create your branch from
main
- If you've added code that should be tested, add tests
- If you've changed APIs, update the documentation
- Ensure the test suite passes
- Make sure your code lints
- Issue that pull request!
Pull Request Process¶
- Update the README.md with details of changes to the interface
- Update the documentation with any new API endpoints or changes
- The PR will be merged once you have the sign-off of two other developers
- Code review must be completed before merging
Any Contributions You Make Will Be Under the MIT Software License¶
In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.
Report Bugs Using GitHub's Issue Tracker¶
We use GitHub issues to track public bugs. Report a bug by opening a new issue.
Write Bug Reports with Detail, Background, and Sample Code¶
Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
Use a Consistent Coding Style¶
- 2 spaces for indentation rather than tabs
- You can try running
npm run lint
for style unification
License¶
By contributing, you agree that your contributions will be licensed under its MIT License.
References¶
This document was adapted from the open-source contribution guidelines for Facebook's Draft.
Development Setup¶
Prerequisites¶
- Node.js (v18 or higher)
- npm (v9 or higher)
- Git
Setting Up Development Environment¶
-
Clone the repository:
-
Install dependencies:
-
Set up environment variables:
-
Run tests:
-
Start development server:
Code Structure¶
TelcoAPI/
├── src/
│ ├── protocols/ # Protocol implementations
│ ├── handlers/ # Request handlers
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Utility functions
├── tests/ # Test files
├── docs/ # Documentation
└── examples/ # Example implementations
Testing¶
We use Jest for testing. Run tests with:
npm test # Run all tests
npm run test:watch # Run tests in watch mode
npm run test:coverage # Run tests with coverage report
Documentation¶
We use MkDocs for documentation. To preview documentation locally:
Commit Messages¶
We follow the Conventional Commits specification:
feat:
New featurefix:
Bug fixdocs:
Documentation only changesstyle:
Code style changesrefactor:
Code refactoringtest:
Adding missing testschore:
Changes to the build process
Code Review Process¶
- Create a new branch for your feature/fix
- Make your changes
- Run tests and linting
- Push your changes
- Create a Pull Request
- Wait for review and address any comments
- Merge after approval
Getting Help¶
- Join our Discord server
- Check the documentation
- Email the maintainers at support@telco-sec.com