Thank you for your interest in contributing to Text2IaC! We welcome contributions from the community to help improve this project.
- Code of Conduct
- Getting Started
- Development Workflow
- Code Style
- Pull Request Process
- Reporting Issues
- Feature Requests
- Documentation
- Testing
- License
By participating in this project, you agree to abide by our Code of Conduct. Please read it before making any contributions.
- Fork the repository on GitHub
- Clone your fork locally
git clone https://github.com/devopsterminal/text2iac.git cd text2iac - Set up the development environment
make install
- Run the development server
make dev
-
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name # or git checkout -b fix/issue-number-description -
Make your changes following the code style guidelines
-
Run tests and linters:
make test make lint -
Commit your changes with a descriptive message:
git commit -m "feat: add new feature" # or git commit -m "fix: resolve issue with login"
-
Push to your fork:
git push origin your-branch-name
-
Open a Pull Request against the
mainbranch
- Use TypeScript for all new code
- Follow TypeScript Style Guide
- Use ESLint and Prettier for code formatting
- Run
make formatbefore committing
- Follow PEP 8
- Use type hints for all function parameters and return values
- Use Black for code formatting
We follow the Conventional Commits specification:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Types:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect the meaning of the coderefactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testschore: Changes to the build process or auxiliary tools
- Ensure any install or build dependencies are removed before the end of the layer when doing a build.
- Update the README.md with details of changes to the interface, including new environment variables, exposed ports, useful file locations, and container parameters.
- Increase the version numbers in any examples files and the README.md to the new version that this Pull Request would represent. The versioning scheme we use is SemVer.
- You may merge the Pull Request in once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you.
When creating an issue, please include:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected vs. actual behavior
- Screenshots if applicable
- Environment information (OS, browser, version, etc.)
We welcome feature requests! Please:
- Check if a similar feature already exists
- Explain why this feature would be valuable
- Include any relevant use cases or examples
Good documentation is crucial for the success of any open-source project. We encourage you to:
- Keep documentation up-to-date with your changes
- Add comments to explain complex logic
- Update README files when adding new features
- Write tests for new features and bug fixes
- Ensure all tests pass before submitting a PR
- Follow the testing guidelines in each package's README
By contributing to this project, you agree that your contributions will be licensed under its ApacheLicense.
Your contributions to open source, large or small, make great projects like this possible. Thank you for being part of our community!