Contributing
How to contribute to Claude Code Setup.
Ways to Contribute
- Bug Reports - Found a bug? Open an issue
- Feature Suggestions - Have an idea? Open a discussion
- Pull Requests - Want to contribute code? See below
Development Setup
Prerequisites
- Bash 4+ (macOS:
brew install bash) - ShellCheck for linting
- expect for tests (macOS: pre-installed)
Clone and Test
git clone https://github.com/b33eep/claude-code-setup.git
cd claude-code-setup
./tests/test.shRun Specific Tests
./tests/test.sh 01 # Run scenario 01
./tests/test.sh version # Pattern matchCode Style
Shell Scripts
- Use
set -euo pipefailat the start - Quote all variables:
"$var" - Use
[[ ]]for conditionals - Pass ShellCheck with no warnings
Markdown
- Use ATX-style headers (
#,##) - Use fenced code blocks with language hints
- Keep lines under 100 characters
Adding New Features
New Skill
- Create
skills/your-skill/SKILL.md - Add frontmatter with name, type, applies_to
- Test with
./install.sh --add - Add to README.md feature table
New MCP Server
- Create
mcp/your-server.json - Include name, description, config, requiresApiKey
- Test with
./install.sh --add - Add to README.md MCP table
New Command
- Create
commands/your-command.md - Document tasks and output
- Test manually in Claude Code
- Add to README.md commands table
Pull Request Process
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Make changes and test
- Run ShellCheck:
shellcheck install.sh lib/*.sh - Run tests:
./tests/test.sh - Commit with conventional format:
feat(scope): description - Open a PR
Commit Format
<type>(<scope>): <description>Types: feat, fix, docs, refactor, test, chore
Examples:
feat(skills): add rust coding standards
fix(install): handle spaces in paths
docs(readme): clarify Linux setup