Thank you for your interest in contributing to agentful!
- Search existing issues first
- Use the issue templates
- Include: steps to reproduce, expected behavior, actual behavior
- Add screenshots if applicable
- Fork the repository
- Create a feature branch:
git checkout -b my-feature - Make your changes
- Test thoroughly
- Commit with clear messages
- Push and create a PR
# Clone your fork
git clone https://github.com/YOUR-USERNAME/agentful.git
cd agentful
# Install dependencies (if we add any)
npm install
# Test CLI locally
node bin/cli.js --helpAgentful uses a two-layer protection system for the .claude/ configuration:
template/.claude/ - Source of truth
- Clean templates distributed via npm
- Version controlled in git
- Edit these files when making changes to agents, commands, or skills
- Never modified by agentful itself
.claude/ - Working directory
- Gitignored for testing/development
- Auto-restored by post-merge hook if corrupted
- Safe for experimenting without affecting templates
Development workflow:
# 1. Make changes to templates (source of truth)
vim template/.claude/agents/my-agent.md
# 2. Sync to working directory for testing
cp -r template/.claude/ .claude/
# 3. Test your changes
node bin/cli.js --helpProtection mechanism:
.git/hooks/post-mergeautomatically restores.claude/after git operations- Prevents accidental deletion during merges/pulls
- See CLAUDE_PROTECTION.md for full details
agentful/
βββ template/.claude/ # Source templates (version controlled, distributed via npm)
β βββ agents/ # Specialist agents
β βββ commands/ # Slash commands
β βββ skills/ # Domain skills
β βββ settings.json # Hooks and permissions
βββ .claude/ # Working directory (gitignored, for testing)
βββ bin/ # CLI tool
βββ template/ # Other template files for new projects
βββ docs/ # Documentation site
βββ README.md # Main readme
When adding new agents or commands:
- Test in a fresh project
- Verify all quality gates pass
- Test with different tech stacks
- Document in README.md
Keep documentation in sync with code:
- Update README.md for user-facing changes
- Add inline comments in agent files
- Update docs/ site for major features
- Use clear, descriptive names
- Write for clarity first, cleverness second
- Comment complex logic
- Follow existing patterns
- Be respectful and constructive
- Welcome newcomers
- Focus on what's best for the community
- Show empathy
- GitHub Issues: For bugs and feature requests
- Discussions: For questions and ideas
Thank you for contributing! π