Thank you for your interest in contributing to Auto-Commenter! This document provides guidelines for contributing to the project.
- Getting Started
- Development Setup
- Project Structure
- How to Contribute
- Code Style Guidelines
- Adding New Platforms
- Testing
- Submitting Changes
Before contributing, please:
- Read the README.md to understand the project
- Check existing issues and pull requests
- Set up your development environment
- Claude Desktop or Claude CLI
- Playwright MCP server
- Node.js (for MCP setup)
- Git
-
Fork the repository
-
Clone your fork:
git clone https://github.com/YOUR_USERNAME/auto-commenter.git cd auto-commenter -
Set up MCP:
npm install
-
Create your personalization file (see README.md)
auto-commenter/
├── .claude/skills/reddit-commenter/ # Reddit automation skill
│ ├── SKILL.md # Single comment workflow
│ ├── BATCH.md # Batch mode workflow
│ └── resources/ # Configuration files
├── tracking/reddit/ # Activity tracking
├── leads/ # Lead management
└── README.md # Documentation
-
Bug Reports: Found a bug? Open an issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Your environment details
-
Feature Requests: Have an idea? Open an issue with:
- Clear use case
- Proposed solution
- Alternative solutions considered
-
Code Contributions:
- Bug fixes
- New features
- Documentation improvements
- Platform additions (Twitter, LinkedIn, etc.)
- Check if an issue already exists
- For major changes, open an issue first to discuss
- Make sure your idea aligns with project goals
- Use clear, concise language
- Include examples where appropriate
- Use tables for structured data
- Keep line length reasonable (80-100 characters when possible)
- All new features must include documentation
- Update README.md if adding major features
- Include inline comments for complex logic
- Keep documentation up-to-date with code changes
- Must follow the template structure
- Include diverse examples (short, long, various tones)
- Provide clear criteria for each checklist item
- Avoid overly specific personal details
To add support for a new platform (e.g., Twitter, LinkedIn):
mkdir -p .claude/skills/[platform]-commenter/resources
mkdir -p tracking/[platform].claude/skills/[platform]-commenter/SKILL.md- Single comment workflow.claude/skills/[platform]-commenter/BATCH.md- Batch workflow.claude/skills/[platform]-commenter/resources/personalization_[platform].md- Style guide.claude/skills/[platform]-commenter/resources/subreddits.md- Community guide (adapt naming).claude/skills/[platform]-commenter/resources/product.md- Product info templatetracking/[platform]/template.md- Tracking templateleads/[platform].md- Leads template
Consider:
- Character limits (e.g., Twitter's 280 chars)
- Platform-specific features (threads, hashtags, etc.)
- API limitations
- Rate limiting rules
- Community guidelines
- Add platform to main README.md
- Create platform-specific setup guide
- Update CONTRIBUTING.md with platform-specific notes
- Test single comment workflow
- Test batch mode
- Verify personalization works
- Check rate limiting behavior
Before submitting a PR:
- Single comment creation works
- Batch mode works
- Personalization checklist is applied
- Tracking files are updated correctly
- Lead identification works
- No personal information in commits
- Documentation is clear and accurate
- Create a test tracking file
- Run single comment workflow
- Verify output matches expected behavior
- Check that personalization is applied
- Test edge cases (no suitable posts, rate limits, etc.)
-
Create a Branch
git checkout -b feature/your-feature-name
-
Make Your Changes
- Follow code style guidelines
- Keep commits focused and atomic
- Write clear commit messages
-
Commit Your Changes
git add . git commit -m "Add: Brief description of changes"
Commit message format:
Add:for new featuresFix:for bug fixesUpdate:for updates to existing featuresDocs:for documentation changesRefactor:for code refactoring
-
Push to Your Fork
git push origin feature/your-feature-name
-
Open a Pull Request
- Go to the original repository
- Click "New Pull Request"
- Select your branch
- Fill out the PR template
- Clear title and description
- Reference related issues
- Include screenshots/examples if applicable
- Pass all checks
- No personal information included
- Documentation updated
- Maintainer reviews your PR
- Address any requested changes
- Once approved, maintainer will merge
NEVER commit:
- Your personal personalization file with real examples
- Actual tracking data
- Real lead information
- API keys or credentials
- Personal account information
Before committing:
- Review all changes carefully
- Use
.gitignoreproperly - Remove any personal references
- Be respectful and constructive
- Welcome newcomers
- Focus on the project, not personalities
- Accept constructive criticism gracefully
- Open an issue for questions
- Check existing issues and PRs first
- Be patient and respectful
Contributors will be recognized in:
- GitHub contributors list
- Project README (for significant contributions)
- Release notes
Thank you for contributing to Auto-Commenter!