First off, thank you for considering contributing to this project! 🎉
- Code of Conduct
- How Can I Contribute?
- Development Setup
- Coding Standards
- Commit Guidelines
- Pull Request Process
This project and everyone participating in it is governed by our commitment to providing a welcoming and inspiring community for all.
- ✅ Be respectful and inclusive
- ✅ Welcome newcomers and help them learn
- ✅ Focus on what is best for the community
- ✅ Show empathy towards other community members
- ❌ No harassment, trolling, or discriminatory behavior
Before creating bug reports, please check existing issues. When creating a bug report, include:
- Clear title and description
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- System information (distro, version, etc.)
- Relevant logs or error messages
Bug Report Template:
## Description
[Clear description of the bug]
## Steps to Reproduce
1. Run command: `...`
2. Select option: `...`
3. See error: `...`
## Expected Behavior
[What should happen]
## Actual Behavior
[What actually happens]
## System Information
- Distribution: Ubuntu 22.04
- Bash Version: 5.1.16
- Script Version: 1.0.0
## Additional Context
[Any other relevant information]Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, include:
- Clear title and description
- Use case - why is this enhancement useful?
- Proposed solution - how should it work?
- Alternatives considered
- Fork the repository and create your branch from
main - Make your changes following our coding standards
- Test thoroughly on multiple distributions if possible
- Update documentation if needed
- Write clear commit messages
- Submit a pull request
# Install development dependencies
sudo apt install shellcheck # For Ubuntu/Debian
# or
sudo dnf install ShellCheck # For Fedora
# or
sudo pacman -S shellcheck # For Arch# Clone your fork
git clone https://github.com/YOUR_USERNAME/kiro-ide-linux.git
cd kiro-ide-linux
# Add upstream remote
git remote add upstream https://github.com/mazonyfahmi/kiro-ide-linux.git
# Create a feature branch
git checkout -b feature/your-feature-name# Make scripts executable
chmod +x *.sh
# Test the main installer
./clone-and-install.sh --help
# Test individual installers
./install-kiro.sh --help
./install-windsurf.sh --help
# Run shellcheck
shellcheck *.sh- Use
#!/usr/bin/env bashas shebang - Enable strict mode:
set -e - Use meaningful variable names
- Add comments for complex logic
- Use functions for reusable code
- Quote variables to prevent word splitting
- Use
localfor function variables
#!/usr/bin/env bash
set -e
# Function to check dependencies
check_dependencies() {
local deps=("curl" "git" "jq")
local missing_deps=()
for dep in "${deps[@]}"; do
if ! command -v "$dep" &> /dev/null; then
missing_deps+=("$dep")
fi
done
if [ ${#missing_deps[@]} -ne 0 ]; then
echo "Missing dependencies: ${missing_deps[*]}"
return 1
fi
return 0
}Use consistent color coding:
RED='\033[0;31m' # Errors
GREEN='\033[0;32m' # Success
YELLOW='\033[0;33m' # Warnings
BLUE='\033[0;34m' # Info
CYAN='\033[0;36m' # Headers
NC='\033[0m' # No Color<type>(<scope>): <subject>
<body>
<footer>
- feat: New feature
- fix: Bug fix
- docs: Documentation changes
- style: Code style changes (formatting, etc.)
- refactor: Code refactoring
- test: Adding or updating tests
- chore: Maintenance tasks
feat(installer): add support for Arch Linux
- Added pacman package manager detection
- Updated dependency installation for Arch
- Tested on Manjaro and Arch Linux
Closes #123fix(kiro): resolve icon path issue
The icon path was incorrect for user installations.
Changed to use relative path resolution.
Fixes #456- Update documentation if you've changed functionality
- Add tests if applicable
- Ensure all tests pass
- Update CHANGELOG.md with your changes
- Request review from maintainers
- Address feedback promptly
- Squash commits if requested
## Description
[Clear description of changes]
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
- [ ] Tested on Ubuntu/Debian
- [ ] Tested on Fedora/RHEL
- [ ] Tested on Arch Linux
- [ ] Tested user installation
- [ ] Tested system installation
## Checklist
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Comments added for complex code
- [ ] Documentation updated
- [ ] No new warnings generated
- [ ] Tests added/updated
## Related Issues
Closes #[issue number]Before submitting a PR, test:
- ✅ Fresh installation
- ✅ Update existing installation
- ✅ Force reinstall
- ✅ User-only installation
- ✅ System-wide installation
- ✅ Uninstall (with and without --clean)
- ✅ Different Linux distributions
- ✅ Error handling
Feel free to:
- Open a Discussion
- Ask in an Issue
- Contact maintainers
Thank you for contributing! 🙏