Thank you for considering contributing to awp-cli! This document provides guidelines and instructions for contributing.
- Code of Conduct
- Getting Started
- Development Workflow
- Commit Guidelines
- Pull Request Process
- Coding Standards
- Testing
By participating in this project, you agree to maintain a respectful and inclusive environment for all contributors.
- Clone the repository locally:
git clone https://github.com/coreweave/awp-cli.git cd awp-cli - Install dependencies as described in the README
-
Create a feature branch from
main:git checkout -b feature/your-feature-name
Branch naming conventions:
feature/- New featuresfix/- Bug fixesdocs/- Documentation changesrefactor/- Code refactoringtest/- Test additions or modifications
-
Make your changes following the coding standards
-
Test your changes thoroughly
-
Commit your changes following the commit guidelines
-
Keep your branch updated:
git fetch origin git rebase origin/main
-
Push your branch:
git push origin feature/your-feature-name
We follow Conventional Commits specification:
<type>(<scope>): <subject>
<body>
<footer>
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that don't affect code meaning (formatting, whitespace)refactor: Code change that neither fixes a bug nor adds a featureperf: Performance improvementstest: Adding or updating testschore: Changes to build process or auxiliary toolsci: Changes to CI configuration
feat(api): add user authentication endpoint
fix(database): resolve connection pool timeout issue
docs(readme): update installation instructionsInclude BREAKING CHANGE: in the footer for changes that break backward compatibility:
feat(api): redesign user authentication
BREAKING CHANGE: authentication now requires OAuth2 tokens instead of API keys-
Ensure your PR:
- Has a clear title and description
- Links to related Jira tickets or issues
- Includes tests for new functionality
- Updates documentation as needed
- Follows SemVer principles
- Passes all CI checks
-
Fill out the PR template completely
-
Request review from appropriate team members
-
Address feedback promptly and professionally
-
Squash commits if requested before merging
Follow the same format as commit messages:
<type>(<scope>): <description>
- Write clear, readable, and maintainable code
- Follow the existing code style and patterns
- Add comments for complex logic
- Keep functions small and focused
- Use descriptive variable and function names
- Avoid deep nesting
[Add language-specific coding standards for your project, e.g.:]
- Python: Follow PEP 8
- JavaScript/TypeScript: Follow Airbnb style guide
- Go: Follow Effective Go guidelines
- Code is clean and well-organized
- No unnecessary complexity
- Error handling is appropriate
- Security considerations are addressed
- Performance implications are considered
- Code is properly documented
- Write tests for all new functionality
- Maintain or improve code coverage
- Include unit, integration, and e2e tests as appropriate
- Test edge cases and error conditions
# Add project-specific test commands
[command to run tests]Aim for high test coverage, but focus on meaningful tests rather than achieving a specific percentage.
When reporting issues, please include:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, versions, etc.)
- Relevant logs or error messages
- Screenshots if applicable
If you have questions or need help:
- Check existing issues and pull requests
- Reach out on Slack [#channel-name]
- Contact the maintainers
Your contributions help make awp-cli better for everyone. We appreciate your time and effort!