Contributing to Prompt Muse
We welcome contributions! This guide will help you get started.
Table of Contents
- Ways to Contribute
- Getting Started
- Contributing Prompts
- Contributing Code
- Improving Documentation
- Submitting Changes
- Code of Conduct
- Getting Help
- Recognition
Ways to Contribute
There are many ways to contribute to Prompt Muse:
- π Report bugs - Found a bug? Let us know!
- π‘ Suggest features - Have an idea? Weβd love to hear it
- π Improve documentation - Help make our docs better
- π― Add new prompts - Share your useful prompt templates
- π§ͺ Write tests - Help improve code quality
- π§ Fix issues - Tackle open issues
Getting Started
1. Fork and Clone
Fork the repository on GitHub and clone your fork:
git clone https://github.com/YOUR-USERNAME/prompt-muse.git
cd prompt-muse
2. Install Dependencies
npm install
3. Create a Branch
Create a feature branch for your changes:
git checkout -b feature/your-feature-name
Contributing Prompts
Adding a new prompt is the easiest way to contribute!
Steps
- Create a new YAML file in
prompts/:
touch prompts/your-prompt-name.yaml
- Follow the prompt structure:
name: your-prompt-name
description: Brief description
arguments:
- name: arg1
description: What this argument does
required: false
template: |
Your prompt template here
- Test your prompt:
node index.js
# Check for validation errors
- Add tests if applicable
- Submit a pull request
Prompt Quality Guidelines
Good prompts should:
- Be clear and specific - Users should understand what the prompt does
- Have a single purpose - Do one thing well
- Use good defaults - Work well without arguments
- Be well-documented - Include helpful descriptions
- Handle edge cases - Consider different scenarios
Contributing Code
Running Tests
Always run tests before submitting:
npm test
Code Style
- Use ES modules (
import/export) - Follow existing code formatting
- Add JSDoc comments for functions
- Keep functions focused and small
Writing Tests
Add tests for new functionality:
// tests/your-feature.test.js
import { yourFunction } from '../index.js';
describe('yourFunction', () => {
test('should do something', () => {
const result = yourFunction();
expect(result).toBe(expected);
});
});
Improving Documentation
Documentation lives in the docs/ directory. To work on docs locally:
Install Jekyll (optional)
gem install bundler jekyll
cd docs
bundle install
Run Local Server
bundle exec jekyll serve
Visit http://localhost:4000/prompt-muse to preview changes.
Documentation Guidelines
- Write clear, concise content
- Include code examples
- Use proper Markdown formatting
- Check for broken links
Submitting Changes
Pull Request Process
- Test your changes - Ensure all tests pass
- Update documentation - Document new features
- Commit with clear messages - Follow commit conventions
- Push to your fork - Push your branch
- Open a pull request - Submit PR on GitHub
Commit Message Format
Follow conventional commits:
type: brief description
Detailed explanation if needed
π€ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Types: feat, fix, docs, test, refactor, chore
Examples:
feat: add code review promptfix: handle missing arguments correctlydocs: update installation guide
Pull Request Guidelines
- One feature per PR - Keep PRs focused
- Link related issues - Reference issue numbers
- Update tests - Add/update tests for changes
- Update docs - Keep documentation current
- Respond to feedback - Address review comments
Code of Conduct
Be respectful and inclusive. We follow these principles:
- Be welcoming and friendly
- Be patient and respectful
- Assume good intentions
- Focus on whatβs best for the community
Getting Help
Need help contributing?
- π¬ GitHub Discussions
- π Open an Issue
- π§ Contact maintainers
Recognition
All contributors are recognized in our:
- README contributors section
- Release notes
- GitHub contributors page
Thank you for contributing to Prompt Muse! π