Thank you for your interest in contributing to Rust Workflow Bundles! 🦀
There are many ways to contribute:
- 🐛 Report bugs
- 💡 Suggest new workflow bundles
- 📝 Improve documentation
- 🔧 Submit bug fixes
- ✨ Add new features
- 🎨 Improve examples
# Fork the repository on GitHub
# Then clone your fork
git clone https://github.com/YOUR-USERNAME/rust-workflow-bundles.git
cd rust-workflow-bundlesgit checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix- Add your workflow bundle to
rust-bundles.sh - Update documentation if needed
- Add examples if applicable
- Test thoroughly
# Source the script
source rust-bundles.sh
# Test your new bundle
your-new-command
# Verify existing bundles still work
cbundles
cdev
cpregit add .
git commit -m "feat: add awesome new bundle"Use conventional commits:
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changesrefactor:- Code refactoringtest:- Test changeschore:- Maintenance tasks
git push origin feature/your-feature-nameThen create a Pull Request on GitHub.
# Good: Clear function name, with comments
# Complete security audit
csecaudit() {
echo "🔒 Security Audit" &&
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" &&
cargo audit &&
cargo geiger &&
echo "✅ Security audit complete!"
}
# Bad: Unclear name, no comments, no feedback
sa() {
cargo audit
cargo geiger
}-
Naming Convention
- Use
cprefix for cargo-related bundles - Keep names short but descriptive
- Use lowercase
- Examples:
cdev,cpre,csecaudit
- Use
-
Functionality
- Each bundle should have a clear purpose
- Combine related commands
- Provide progress feedback with
echo - Handle errors gracefully
- Use
&&to stop on errors
-
Documentation
- Add comment above function
- Update
cbundleshelp function - Add to README if it's a major bundle
- Include examples
-
Error Handling
- Check for required tools
- Provide helpful error messages
- Fallback to alternatives when possible
Example:
# My awesome workflow
cmyworkflow() {
# Check if tool exists
if ! command -v cargo-awesome &> /dev/null; then
echo "⚠️ cargo-awesome not installed. Install with: cargo install cargo-awesome"
return 1
fi
echo "🚀 Running my workflow..." &&
cargo fmt &&
cargo awesome &&
cargo test &&
echo "✅ Workflow complete!"
}- Use clear, concise language
- Include code examples
- Show expected output when helpful
- Add troubleshooting tips
- Keep formatting consistent
- Check if the issue already exists
- Try the latest version
- Test with a minimal example
**Description**
A clear description of the bug.
**To Reproduce**
Steps to reproduce:
1. Run command `...`
2. See error
**Expected Behavior**
What should happen.
**Actual Behavior**
What actually happens.
**Environment**
- OS: [e.g., macOS 13.0]
- Shell: [e.g., zsh 5.9]
- Rust version: [e.g., 1.75.0]
- Script version: [e.g., 1.0.0]
**Additional Context**
Any other relevant information.**Feature Description**
A clear description of the feature.
**Use Case**
Why this feature would be useful.
**Proposed Solution**
How you think it should work.
**Example**
Code example of how it would be used.
**Alternatives**
Other solutions you've considered.# Source the script
source rust-bundles.sh
# Test your bundle
your-new-command
# Test in different scenarios
cd /path/to/rust/project
your-new-command
# Test error cases
# (e.g., missing tools, failing tests)- Bundle works on clean Rust project
- Bundle works on existing project
- Error messages are clear
- Progress is shown
- Handles missing tools gracefully
- Works in both bash and zsh
- Documentation is updated
- Examples are provided
- README.md - Overview, installation, main features
- docs/COMMANDS.md - Complete command reference
- docs/CHEATSHEET.md - Quick reference
- examples/ - Usage examples
- Use headers for organization
- Include code blocks with syntax highlighting
- Add emojis for visual appeal (but don't overdo it)
- Keep lines under 80 characters when possible
- Use tables for comparisons
# Complete dependency health check
cdephealth() {
echo "📦 Dependency Health Check" &&
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" &&
echo "1️⃣ Unused dependencies..." &&
cargo machete &&
echo "" &&
echo "2️⃣ Outdated packages..." &&
cargo outdated &&
echo "" &&
echo "3️⃣ Security vulnerabilities..." &&
cargo audit &&
echo "" &&
echo "✅ Dependency check complete!"
}✅ Clear function name
✅ Descriptive comment
✅ Progress feedback
✅ Visual separators
✅ Numbered steps
✅ Success message
✅ Proper error handling with &&
- Create PR with clear title and description
- Link related issues if applicable
- Wait for review from maintainers
- Address feedback if requested
- Celebrate when merged! 🎉
- Code follows style guidelines
- Documentation is updated
- Examples are added/updated
- Tested manually
- Commit messages follow convention
- PR description is clear
Contributors will be:
- Listed in README.md
- Mentioned in release notes
- Given credit in documentation
- Open a GitHub Discussion
- Create an Issue
- Reach out to maintainers
We pledge to make participation in our project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity, level of experience, nationality, personal appearance, race, religion, or sexual identity.
Positive behavior:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints
- Accepting constructive criticism gracefully
- Focusing on what's best for the community
- Showing empathy towards others
Unacceptable behavior:
- Trolling, insulting, or derogatory comments
- Personal or political attacks
- Public or private harassment
- Publishing others' private information
- Other conduct which could reasonably be considered inappropriate
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project maintainers. All complaints will be reviewed and investigated.
Thank you for contributing to Rust Workflow Bundles! Your efforts help make Rust development more productive for everyone.
Happy Contributing! 🦀