"I'm learnding!" - You, after reading this guide
First off, thanks for wanting to contribute! This project welcomes contributors of all experience levels. Whether you're fixing a typo or adding a whole new agent, your help is appreciated.
- Code of Conduct
- Ways to Contribute
- Development Setup
- Making Changes
- Pull Request Process
- Style Guide
- Getting Help
Be kind. Be respectful. Remember that behind every GitHub handle is a real person. We're all here to build something useful together.
Not all contributions require code:
- Report bugs - Found something broken? Open an issue
- Suggest features - Have an idea? We want to hear it
- Improve docs - Typos, unclear explanations, missing examples
- Answer questions - Help others in issues and discussions
- Write code - Bug fixes, new features, refactoring
Look for issues labeled good first issue or help wanted. These are specifically chosen for newer contributors.
- Claude Code installed
- Git
- A project to test with
# Clone the repo
git clone https://github.com/tzachbon/smart-ralph.git
cd smart-ralph
# Test the plugin locally
claude --plugin-dir ./plugins/ralph-specum
# Make changes, restart Claude Code to reloadsmart-ralph/
├── plugins/
│ └── ralph-specum/
│ ├── .claude-plugin/
│ │ └── plugin.json # Plugin manifest
│ ├── agents/ # Sub-agent definitions
│ ├── commands/ # Slash command implementations
│ ├── hooks/ # Stop watcher (logging only)
│ ├── templates/ # Spec file templates
│ └── schemas/ # JSON schemas for validation
└── README.md
- Make your changes
- Restart Claude Code with
--plugin-dirpointing to your local copy - Run through the workflow:
/ralph-specum:start test-feature Some test goal - Verify each phase works as expected
feature/description # New features
fix/description # Bug fixes
docs/description # Documentation only
refactor/description # Code refactoring
Keep them short and descriptive:
Good:
- Add retry logic to spec-executor
- Fix state cleanup on cancel
- Update installation docs
Bad:
- Fixed stuff
- WIP
- asdfasdf
- Fork the repo and create your branch from
main - Make your changes
- Test locally with Claude Code
- Update documentation if needed
- Submit PR with clear description of changes
## What
Brief description of changes
## Why
Why this change is needed
## Testing
How you tested it- PRs require at least one approval
- CI checks must pass
- Maintainers may request changes
- Be patient, we review as quickly as we can
- Keep it simple
- Prefer clarity over cleverness
- Match existing patterns in the codebase
- Use clear, action-oriented descriptions
- Include examples where helpful
- Keep system prompts focused
- Command names should be verb-based (
start,cancel,status) - Include help text for all commands
- Handle errors gracefully with useful messages
- Use kebab-case for files:
spec-executor.md,task-planner.md - Use descriptive names that indicate purpose
Stuck? Have questions?
- Issues - Open an issue with the
questionlabel - Discussions - Use GitHub Discussions for general questions
Contributors are recognized in release notes. Significant contributors may be invited as collaborators.
"My cat's breath smells like cat food."
Thanks for contributing!